本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon SNS 主題的主題政策
Amazon SNS 主題需要適當的主題政策,才能在 TwoChannelWayRole 參數中未提供 AWS 最終使用者簡訊 SMS 的存取權。
{ "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sns:Publish", "Resource": "snsTopicArn" }
在上述範例中,進行下列變更:
-
將
snsTopicArn取代為將傳送和接收訊息的 Amazon SNS 主題。
注意
不支援 Amazon SNS FIFO 主題。
雖然 AWS 最終使用者簡訊 SMS 資料已加密,但您可以使用使用 AWS KMS 金鑰加密的 Amazon SNS 主題,以提高安全性。如果您的應用程式處理私有或敏感資料,多一層安全性將有幫助。
您需要執行額外的設定步驟,才能讓加密的 Amazon SNS 主題與雙向 SMS 一起使用。
下列範例陳述式使用 、選用但建議 SourceAccount 和 SourceArn條件,以避免混淆代理人問題,且只有 AWS 最終使用者傳訊簡訊擁有者帳戶可以存取。如需混淆代理人問題的詳細資訊,請參閱《IAM 使用者指南》中的混淆代理人問題。 https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html
首先您使用的金鑰必須對稱。加密的 Amazon SNS 主題不支援非對稱 AWS KMS 金鑰。
其次,必須修改金鑰政策,以允許 AWS 最終使用者傳訊 SMS 使用金鑰。在現有金鑰政策中加入以下權限:
{ "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:region:accountId:*" } } }
如需編輯金鑰政策的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的變更金鑰政策。
如需使用 AWS KMS 金鑰加密 Amazon SNS 主題的詳細資訊,請參閱《Amazon Simple Notification Service 開發人員指南》中的啟用來自 AWS 服務和加密主題的事件來源之間的相容性。