本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用使用者產生KMS金鑰的許可
您必須先設定 AWS KMS 金鑰政策以允許加密串流,以及加密和解密串流記錄,才能搭配使用者產生的KMS金鑰使用伺服器端加密。如需 AWS KMS 許可的範例和詳細資訊,請參閱AWS KMSAPI許可:動作和資源參考 。
注意
使用預設服務金鑰進行加密不需要套用自訂IAM許可。
在使用使用者產生的KMS主金鑰之前,請確保您的 Kinesis 串流生產者和取用者 (IAM主體) 是KMS主金鑰政策中的使用者。否則串流的寫入及讀取將會失敗,最終可能造成資料遺失、延遲處理或應用程式故障。您可以使用 IAM政策來管理KMS金鑰的許可。如需詳細資訊,請參閱搭配 使用IAM政策 AWS KMS。
範例生產者許可
您的 Kinesis 串流生產者必須具備 kms:GenerateDataKey
許可。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": "arn:aws:kinesis:*:123456789012:MyStream" } ] }
範例取用者許可
您的 Kinesis 串流取用者必須具備 kms:Decrypt
許可。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kinesis:GetRecords", "kinesis:DescribeStream" ], "Resource": "arn:aws:kinesis:*:123456789012:MyStream" } ] }
Amazon Managed Service for Apache Flink AWS Lambda 並使用 角色來取用 Kinesis 串流。請務必為這些消費者所使用的角色新增 kms:Decrypt
許可。
串流管理員許可
Kinesis 串流管理員必須已獲授權呼叫 kms:List*
和 kms:DescribeKey*
。