AWS Config 傳遞管道的 KMS 金鑰權限 - AWS Config

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Config 傳遞管道的 KMS 金鑰權限

如果您想要為 S3 儲存貯體的 AWS KMS 金鑰建立政策,以便在 S3 儲存貯體交付所交付的物件上使用 KMS 型加密,請使用本主題中 AWS Config 的資訊。

使用 IAM 角色時的 KMS Key 必要許可 (S3 儲存貯體交付)

如果您 AWS Config 使用 IAM 角色進行設定,則可以將遵循權限政策附加到 KMS 金鑰:

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigKMSPolicy", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "*myKMSKeyARN*", "Principal": { "AWS": [ "account-id1", "account-id2", "account-id3" ] } } ] }
注意

如果 IAM 角色、Amazon S3 儲存貯體政策或 AWS KMS 金鑰未提供適當的存取權限 AWS Config,則 AWS Config嘗試將組態資訊傳送到 Amazon S3 儲存貯體將會失敗。在這種情況下,再次 AWS Config 發送信息,這次作為 AWS Config 服務主體。在這種情況下,您必須將權限政策 (如下所述) 附加至 AWS KMS 金鑰,以便在將資訊傳送到 Amazon S3 儲 AWS Config 存貯體時授予使用金鑰的存取權。

使用服務連結角色時 AWS KMS 金鑰的必要權限 (S3 儲存貯體交付)

AWS Config 服務連結角色沒有存取 AWS KMS 金鑰的權限。因此,如果您 AWS Config 使用服務連結角色進行設定,則 AWS Config 會改為以 AWS Config 服務主體的身分傳送資訊。您需要將存取政策 (如下所述) 附加至 AWS KMS 金鑰,才能在將資訊傳送至 Amazon S3 儲 AWS Config 存貯體時授予使用 AWS KMS 金鑰的存取權。

授與 AWS KMS 金鑰 AWS Config 存取權

此政策允許在 AWS Config 將資訊傳送到 Amazon S3 儲存貯體時使用 AWS KMS 金鑰

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigKMSPolicy", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "myKMSKeyARN", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } } ] }

替換金鑰政策中的下列值:

  • MyKMSkeyarn — 用於將交付組態項目的 Amazon S3 儲存貯體中資料加密的 AWS KMS 金鑰的 AWS Config ARN。

  • sourceAccountID - 帳戶 ID, AWS Config 會為其交付組態項目。

您可以使用上述 AWS KMS 金鑰原則中的AWS:SourceAccount條件,限制 Config 服務主體在代表特定帳戶執行作業時僅與 AWS KMS 金鑰互動。

AWS Config 也支援限制 AWS:SourceArn Config 服務主體在代表特定 AWS Config 交付通道執行操作時僅與 Amazon S3 儲存貯體互動的條件。使用 AWS Config 服務主體時,AWS:SourceArn屬性一律會設定為arn:aws:config:sourceRegion:sourceAccountID:*傳遞通道的區域,而且sourceAccountID是包含傳遞通道之帳戶的 ID。sourceRegion如需有關 AWS Config 傳送管道的詳細資訊,請參閱管理傳遞管道。例如,新增下列條件以限制 Config 服務主體在代表帳戶 123456789012us-east-1 區域中的交付通道 "ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"} 時,僅能與 Amazon S3 儲存貯體互動。