本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用使用者產生之 KMS 金鑰的許可
在搭配使用者產生的 KMS 金鑰使用伺服器端加密之前,您必須設定 AWS KMS 金鑰政策,以允許加密串流,以及加密和解密串流記錄。如需 AWS KMS 許可的範例和詳細資訊,請參閱 AWS KMS API 許可:動作和資源參考。
注意
使用預設服務金鑰進行加密,不需要應用自訂 IAM 許可。
欲使用由使用者產生的 KMS 主金鑰之前,請確保您的 Kinesis 串流生產者及取用者 (IAM 委託人) 為 KMS 主金鑰政策中的使用者。否則串流的寫入及讀取將會失敗,最終可能造成資料遺失、延遲處理或應用程式故障。您可使用 IAM 政策管理 KMS 金鑰的許可。如需詳細資訊,請參閱搭配 AWS KMS 使用 IAM 政策。
Kinesis Data Streams 加密內容
當 Amazon Kinesis Data Streams 代表您呼叫 AWS KMS 時,它會將加密內容傳遞至 AWS KMS ,以做為金鑰政策和授權中的授權條件。Kinesis Data Streams 會在所有 AWS KMS 呼叫中使用串流 ARN 做為加密內容。
"encryptionContext": { "aws:kinesis:arn": "arn:aws:kinesis:region:account-id:stream/stream-name" }
您可以使用加密內容來識別 KMS 金鑰在稽核記錄和日誌中的使用情況。它也會以純文字顯示在日誌中,例如 AWS CloudTrail。
若要將 KMS 金鑰的使用限制在特定串流的 Kinesis Data Streams 請求,請使用 KMS 金鑰政策或 IAM 政策中的 kms:EncryptionContext:aws:kinesis:arn條件金鑰。
範例生產者許可
您的 Kinesis 串流生產者必須具備 kms:GenerateDataKey 許可。
範例取用者許可
您的 Kinesis 串流取用者必須具備 kms:Decrypt 許可。
Amazon Managed Service for Apache Flink 和 AWS Lambda 使用角色來取用 Kinesis 串流。請務必為這些消費者所使用的角色新增 kms:Decrypt 許可。
串流管理員許可
Kinesis 串流管理員必須已獲授權呼叫 kms:List* 和 kms:DescribeKey*。