授予許可以將事件通知訊息發佈至目標
您必須將必要的許可授予 Amazon S3 主體,以呼叫相關的 API,將訊息發佈至 SNS 主題、SQS 佇列或 Lambda 函數。這樣 Amazon S3 便可將事件通知訊息發佈至目的地。
若要進行疑難排解,以將事件通知發佈到目的地,請參閱將 Amazon S3 事件通知發佈到 Amazon Simple Notification Service 主題的疑難排解
授予許可以叫用 AWS Lambda 函數
呼叫 Lambda 函數,並在引數中提供事件訊息,Amazon S3 即可將事件訊息發佈到 AWS Lambda。
當您使用 Amazon S3 主控台,在 Amazon S3 儲存貯體上設定 Lambda 函數的事件通知時,該主控台將設定 Lambda 函數的必要許可。這樣 Amazon S3 便可從儲存貯體叫用函數。如需更多詳細資訊,請參閱 使用 Amazon S3 主控台啟用和設定事件通知。
您也可以從 AWS Lambda 授予 Amazon S3 許可,以叫用您的 Lambda 函數。如需詳細資訊,請參閱《AWS Lambda 開發人員指南》中的教學課程:搭配 Amazon S3 使用 AWS Lambda。
授予許可以將訊息發佈到 SNS 主題或 SQS 佇列
若要授予 Amazon S3 將訊息發佈至 SNS 主題或 SQS 佇列的許可,請將 AWS Identity and Access Management (IAM) 政策連接到 SNS 主題或 SQS 佇列。
如需如何將政策連接到 SNS 主題或 SQS 佇列的範例,請參閱 演練:設定儲存貯體的通知 (SNS 主題或 SQS 佇列)。如需許可的詳細資訊,請參閱下列主題:
-
《Amazon Simple Notification Service 開發人員指南》中的 Amazon SNS 存取控制的範例案例
-
《Amazon Simple Queue Service 開發人員指南》中的 Amazon SQS 中的 Identity and Access Management
目的地 SNS 主題的 IAM 政策
以下是您附加至目標 SNS 主題之 AWS Identity and Access Management (IAM) 政策的範例。如需有關如何使用此政策為事件通知設定目的地 Amazon SNS 主題的指示,請參閱 演練:設定儲存貯體的通知 (SNS 主題或 SQS 佇列)。
目的地 SQS 佇列的 IAM 政策
以下是您附加至目標 SQS 佇列之 IAM 政策的範例。如需有關如何使用此政策為事件通知設定目的地 Amazon SQS 佇列的指示,請參閱 演練:設定儲存貯體的通知 (SNS 主題或 SQS 佇列)。
若要使用此政策,您必須更新 Amazon SQS 佇列 ARN、儲存貯體名稱以及儲存貯體擁有者的 AWS 帳戶 ID。
針對 Amazon SNS 和 Amazon SQS IAM 政策,您可以在政策中指定 StringLike 條件,不是 ArnLike 條件。
使用 ArnLike 時,分割區、服務、帳戶 ID、資源類型,和 ARN 的部分資源 ID 部分必須和請求的背景資訊內容中的 ARN 完全相符。只有區域和資源路徑允許部分相符。
當使用 StringLike 而不是 ArnLike 時,比對是否相符時會忽略 ARN 結構,並允許部分相符,無論哪一部分被萬用字元取代。如需詳細資訊,請參閱 IAM 使用者指南中的 IAM JSON 政策元素。
"Condition": { "StringLike": { "aws:SourceArn": "arn:aws:s3:*:*:" } }amzn-s3-demo-bucket
AWS KMS 金鑰政策
如果 SQS 佇列或 SNS 主題使用 AWS Key Management Service (AWS KMS) 客戶受管金鑰加密,則您必須將許可授予 Amazon S3 服務委託人,才能使用加密的主題或佇列。若要將許可授予 Amazon S3 服務委託人,請將下列陳述式新增至客戶受管金鑰的金鑰政策。
如需 AWS KMS 金鑰政策的相關詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的在 AWS KMS 中使用金鑰政策。
如需針對 Amazon SQS 和 Amazon SNS 搭配 AWS KMS 使用伺服器端加密的詳細資訊,請參閱下列內容:
-
Amazon Simple Notification Service 開發人員指南》中的金鑰管理。
-
Amazon Simple Queue Service 開發人員指南》中的金鑰管理。
-
AWS 運算部落格中的透過 AWS KMS 加密發佈到 Amazon SNS 的訊息
。