本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
安全任務連接和軟體儲存貯體
每個佇列都會將其任務附件存放在您擁有的 Amazon S3 儲存貯體中。三個部分設定佇列與其儲存貯體之間的連線:
-
寫入 Amazon S3 儲存貯體中根字首並從中讀取的任務附件。您可以在
CreateQueueAPI 呼叫中指定此根字首。 -
儲存貯體具有對應的
Queue Role,指定授予佇列使用者存取儲存貯體和根字首的角色。建立佇列時,您可以指定Queue RoleAmazon Resource Name (ARN) 以及任務附件儲存貯體和根字首。 -
對
AssumeQueueRoleForRead、AssumeQueueRoleForUser和AssumeQueueRoleForWorkerAPI 操作的授權呼叫會傳回一組 的臨時安全登入資料Queue Role。
共用 Amazon S3 儲存貯體和根字首的佇列也會共用存放在其中的任務附件存取權。為每個佇列提供自己的儲存貯體和根字首,以便佇列許可界限也適用於任務附件。例如,當 QueueA 和 QueueB 有不同的儲存貯體時,只能存取 QueueA 的藝術家無法讀取 QueueB 的任務附件。如果多個佇列屬於相同的安全界限,例如一個節目的佇列,則在它們之間共用儲存貯體是合理的簡化。主控台預設會使用自己的儲存貯體和根字首來設定每個佇列。
若要隔離佇列,您必須Queue Role將 設定為僅允許佇列存取儲存貯體和根字首。在下列範例中,將每個預留位置取代為您的資源特定資訊。
您也必須在角色上設定信任政策。在下列範例中,將預留位置文字取代為您的資源特定資訊。
自訂軟體 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 S3 安全最佳實務。