View a markdown version of this page

安全なジョブアタッチメントとソフトウェアバケット - AWS Deadline クラウド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

安全なジョブアタッチメントとソフトウェアバケット

各キューは、所有する Amazon S3 バケットにジョブアタッチメントを保存します。キューとそのバケット間の接続は、次の 3 つの部分によって設定されます。

  • ジョブアタッチメントは、Amazon S3 バケットのルートプレフィックスとの間で書き込みおよび読み取りを行います。CreateQueue API コールでこのルートプレフィックスを指定します。

  • バケットには対応する がありQueue Role、キューユーザーにバケットとルートプレフィックスへのアクセスを許可するロールを指定します。キューを作成するときは、ジョブアタッチメントバケットとルートプレフィックスとともに Queue Role Amazon リソースネーム (ARN) を指定します。

  • AssumeQueueRoleForRead、、および AssumeQueueRoleForWorker API オペレーションへの認可された呼び出しはAssumeQueueRoleForUser、 の一時的なセキュリティ認証情報のセットを返しますQueue Role

Amazon S3 バケットとルートプレフィックスを共有するキューも、そこに保存されているジョブアタッチメントへのアクセスを共有します。各キューに独自のバケットとルートプレフィックスを付け、キューのアクセス許可の境界がジョブアタッチメントにも適用されるようにします。たとえば、QueueA と QueueB に別々のバケットがある場合、QueueA のみにアクセスできるアーティストは QueueB のジョブアタッチメントを読み取ることができません。1 つの番組のキューなど、複数のキューが同じセキュリティ境界に属している場合、それらの間でバケットを共有するのは合理的な単純化です。コンソールは、デフォルトで独自のバケットとルートプレフィックスを使用して各キューを設定します。

キューを分離するには、バケットとルートプレフィックスへのキューアクセスのみを許可する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 バケット

に次のステートメントを追加して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 のセキュリティのベストプラクティス」を参照してください。