

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 보안 작업 연결 및 소프트웨어 버킷
<a name="job-attachment-queues"></a>

각 대기열은 사용자가 소유한 Amazon S3 버킷에 작업 연결을 저장합니다. 대기열과 버킷 간의 연결을 구성하는 세 부분:
+ 작업 연결은 Amazon S3 버킷의 루트 접두사에 쓰고 읽습니다. `CreateQueue` API 호출에서이 루트 접두사를 지정합니다.
+ 버킷에는 대기열 사용자에게 버킷 및 루트 접두사에 대한 액세스 권한을 부여하는 역할을 `Queue Role`지정하는 해당이 있습니다. 대기열을 생성할 때 작업 연결 버킷 및 루트 접두사와 함께 `Queue Role` Amazon 리소스 이름(ARN)을 지정합니다.
+ `AssumeQueueRoleForRead`, `AssumeQueueRoleForUser`및 `AssumeQueueRoleForWorker` API 작업에 대한 승인된 호출은에 대한 임시 보안 자격 증명 세트를 반환합니다`Queue Role`.

Amazon S3 버킷과 루트 접두사를 공유하는 대기열도 거기에 저장된 작업 연결에 대한 액세스를 공유합니다. 대기열 권한 경계가 작업 연결에도 적용되도록 각 대기열에 고유한 버킷과 루트 접두사를 부여합니다. 예를 들어 QueueA와 QueueB에 별도의 버킷이 있는 경우 QueueA에만 액세스할 수 있는 아티스트는 QueueB의 작업 연결을 읽을 수 없습니다. 하나의 쇼에 대한 대기열과 같이 여러 대기열이 동일한 보안 경계에 속하는 경우 이들 간에 버킷을 공유하는 것은 합리적인 간소화입니다. 콘솔은 기본적으로 자체 버킷 및 루트 접두사로 각 대기열을 설정합니다.

대기열을 격리하려면 버킷 및 루트 접두사에 대한 대기열 액세스만 허용`Queue Role`하도록를 구성해야 합니다. 다음 예제에서는 각 {{자리 표시자를}} 리소스별 정보로 바꿉니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::{{JOB_ATTACHMENTS_BUCKET_NAME}}",
                "arn:aws:s3:::{{JOB_ATTACHMENTS_BUCKET_NAME}}/{{JOB_ATTACHMENTS_ROOT_PREFIX}}/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "{{111122223333}}"
                }
            }
        },
        {
            "Action": [
                "logs:GetLogEvents"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:logs:{{us-east-1}}:{{111122223333}}:log-group:/aws/deadline/{{FARM_ID}}/*"
        }
    ]
}
```

------

또한 역할에 대한 신뢰 정책을 설정해야 합니다. 다음 예제에서는 {{자리 표시자}} 텍스트를 리소스별 정보로 바꿉니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "sts:AssumeRole"
            ],
            "Effect": "Allow",
            "Principal": {
                "Service": "deadline.amazonaws.com"
            },
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{111122223333}}"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:deadline:{{us-east-1}}:{{111122223333}}:farm/{{FARM_ID}}"
                }
            }
        },
        {
            "Action": [
                "sts:AssumeRole"
            ],
            "Effect": "Allow",
            "Principal": {
                "Service": "credentials.deadline.amazonaws.com"
            },
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{111122223333}}"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:deadline:{{us-east-1}}:{{111122223333}}:farm/{{FARM_ID}}"
                }
            }
        }
    ]
}
```

------

## 사용자 지정 소프트웨어 Amazon S3 버킷
<a name="software-buckets"></a>

에 다음 문`Queue Role`을 추가하여 Amazon S3 버킷의 사용자 지정 소프트웨어에 액세스할 수 있습니다. 다음 예에서 {{SOFTWARE\_BUCKET\_NAME}}을 S3 버킷 이름으로 바꾸고 {{BUCKET\_ACCOUNT\_OWNER}}를 버킷을 소유한 AWS 계정 ID로 바꿉니다.

```
"Statement": [ 
    {
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::{{SOFTWARE_BUCKET_NAME}}",
            "arn:aws:s3:::{{SOFTWARE_BUCKET_NAME}}/*"
        ],
        "Condition": {
         "StringEquals": {
            "aws:ResourceAccount": "{{BUCKET_ACCOUNT_OWNER}}"
         }
      }
    }
]
```

Amazon S3 보안 모범 사례에 대한 자세한 내용은 Amazon *Simple Storage Service 사용 설명서의 Amazon* [ Amazon S3 보안 모범 사례를](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html) 참조하세요.