本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用伺服器端加密設定 Amazon SNS主題加密
透過伺服器端加密 (SSE),您可以將敏感資料存放在加密的主題中。SSE 使用 () 中管理的金鑰來保護 Amazon SNS主題中的 AWS Key Management Service 訊息內容AWS KMS。如需使用 Amazon 進行伺服器端加密的詳細資訊SNS,請參閱 使用伺服器端加密來保護 Amazon SNS資料。如需建立 AWS KMS 金鑰的詳細資訊,請參閱 AWS Key Management Service 開發人員指南 中的建立金鑰。
重要
對SSE已啟用主題的所有請求都必須使用 HTTPS和 Signature 第 4 版。
使用 為 Amazon SNS主題啟用伺服器端加密 (SSE) AWS Management Console
-
登入 Amazon SNS主控台
。 -
在導覽面板上,選擇 Topics (主題)。
-
在 Topics (主題) 頁面,選擇主題,然後選擇 Actions (動作)、Edit (編輯)。
-
展開 Encryption (加密) 區段並執行下列動作:
-
選擇 Enable encryption (啟用加密)。
-
指定 AWS KMS 金鑰。如需詳細資訊,請參閱重要用語。
對於每種KMS類型,KMSARN都會顯示描述 、 帳戶 和 。
重要
如果您不是 的擁有者KMS,或者如果您使用沒有
kms:ListAliases
和kms:DescribeKey
許可的帳戶登入,您將無法在 Amazon SNS主控台KMS上檢視 的相關資訊。請 的擁有者KMS授予您這些許可。如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南 中的AWS KMS API許可:動作和資源參考。
-
預設會選取 KMS Amazon AWS 受管 SNS(預設)alias/aws/sns。
注意
請謹記以下幾點:
-
第一次使用 AWS Management Console 為SNS主題指定 KMS Amazon 受 AWS 管 時, 會 AWS KMS 建立 KMS Amazon 受 AWS 管 SNS。
-
或者,當您第一次在SSE已啟用 的主題上使用
Publish
動作時, 會 AWS KMS 建立 KMS Amazon 的 AWS 受管 SNS。
-
-
若要KMS從 AWS 您的帳戶使用自訂,請選擇KMS金鑰欄位,然後從KMS清單中選擇自訂。
注意
如需建立自訂 的指示KMSs,請參閱 AWS Key Management Service 開發人員指南中的建立金鑰
-
若要KMSARN從 AWS 您的帳戶或其他 AWS 帳戶使用自訂,請在KMS金鑰欄位中輸入它。
-
-
-
選擇 Save changes (儲存變更)。
SSE 已針對您的主題啟用 ,且
MyTopic
頁面隨即顯示。加密索引標籤會顯示主題的加密狀態、 AWS 帳戶 、客戶主金鑰 (CMK)、 CMK ARN和 描述。
使用伺服器端加密設定 Amazon SNS主題
建立KMS金鑰時,請使用下列KMS金鑰政策:
{ "Effect": "Allow", "Principal": { "Service": "
service
.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:service
:region
:customer-account-id
:resource-type
/customer-resource-id
" }, "StringEquals": { "kms:EncryptionContext:aws:sns:topicArn": "arn:aws:sns:your_region
:customer-account-id
:your_sns_topic_name
" } } }
對消費者的影響
為 Amazon SNS主題啟用 SSE 時,訂閱者使用訊息的程序保持不變。使用 AWS 管理加密和解密程序KMS。因此,訂閱者不需要對其現有設定進行任何變更,即可處理加密的訊息。 AWS 會確保訊息在交付給訂閱者之前處於靜態加密並自動解密。這表示訂閱者會繼續像啟用加密之前一樣接收和處理訊息,而不需要任何額外的組態或解密邏輯。此外, AWS 建議使用 HTTPS 來確保訊息的安全傳輸。