指派給的 IAM 角色的許可 AWS Config - AWS Config

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

指派給的 IAM 角色的許可 AWS Config

IAM 角色可讓您定義一組許可。 AWS Config 假設您指派給它的角色,以寫入 S3 儲存貯體、發佈到 SNS 主題,以及發出DescribeList API 請求以取得 AWS 資源的組態詳細資料。如需 IAM 角色的更多相關資訊,請參閱 IAM 使用者指南中的 IAM 角色

當您使用 AWS Config 主控台建立或更新 IAM 角色時, AWS Config 會自動為您附加必要的許可。如需詳細資訊,請參閱 使用主控 AWS Config 台進行設定

建立 IAM 角色 政策

當您使用主 AWS Config 控台建立 IAM 角色時, AWS Config 會自動為您附加所需的權限至該角色。

如果您使用進行設 AWS CLI 定 AWS Config 或正在更新現有 IAM 角色,則必須手動更新政策以允許 AWS Config 存取 S3 儲存貯體、發佈到 SNS 主題,以及取得有關資源的組態詳細資訊。

將 IAM 信任政策新增至您的角色

您可以建立 IAM 信任政策,以 AWS Config 便擔任角色並使用它來追蹤您的資源。如需有關信任政策的詳細資訊,請參閱《IAM 使用者指南》中的《角色術語和概念》。

以下是 AWS Config 角色的信任原則範例:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } } ] }

您可以使用上述 IAM 角色信任關係中的 AWS:SourceAccount 條件,限制 Config 服務主體在代表特定帳戶執行操作時,僅能與 AWS IAM 角色互動。

AWS Config 也支援限制 AWS:SourceArn Config 服務主體在代表擁有帳戶執行作業時僅承擔 IAM 角色的條件。使用 AWS Config 服務主體時,AWS:SourceArn屬性一律會設定為arn:aws:config:sourceRegion:sourceAccountID:*組態記錄程式的區域,而且sourceAccountID是包含組態記錄程式的帳戶識別碼。sourceRegion如需 AWS Config 組態錄製程式的詳細資訊,請參閱管理組態錄製程式。例如,新增下列條件以限制 Config 服務主體在代表帳戶 123456789012us-east-1 區域中的組態記錄器 "ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"} 時,僅能擔任 IAM 角色。

適用於 S3 儲存貯體的 IAM 角色政策

下列範例政策授 AWS Config 予存取 S3 儲存貯體的權限:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:PutObjectAcl" ], "Resource":[ "arn:aws:s3:::myBucketName/prefix/AWSLogs/myAccountID/*" ], "Condition":{ "StringLike":{ "s3:x-amz-acl":"bucket-owner-full-control" } } }, { "Effect":"Allow", "Action":[ "s3:GetBucketAcl" ], "Resource":"arn:aws:s3:::myBucketName" } ] }

適用於 KMS Key 的 IAM 角色政策

下列範例政策授 AWS Config 予在 S3 儲存貯體交付的新物件上使用 KMS 型加密的權限:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "myKMSKeyARN" } ] }

適用於 Amazon SNS 主題的 IAM 角色政策

下列範例原則 AWS Config 授與存取 SNS 主題的權限:

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"sns:Publish", "Resource":"mySNStopicARN" } ] }

如果您的 SNS 主題已按照其他設定指示加密,請參閱《Amazon Simple Notification Service 開發人員指南》中的《設定 AWS KMS 許可》。

用以取得組態詳細資訊的 IAM 角色政策

若要記錄您的 AWS 資源組態, AWS Config 需要 IAM 許可以取得有關資源的組態詳細資料。

使用受 AWS 管政策 AWS_ ConfigRole 並將其附加到您指派給的 IAM 角色。 AWS Config AWS 每次新 AWS Config 增 AWS 資源類型支援時,都 AWS Config 會更新此原則,這表示只要角色已附加此受管理原則,就會繼續擁有取得組態詳細資料所需的權限。

如果您使用主控台建立或更新角色,請ConfigRole為您 AWS Config 附加 AWS_

如果您使用 AWS CLI,請使用命attach-role-policy令並為 AW ConfigRole S_ 指定 Amazon 資源名稱 (ARN):

$ aws iam attach-role-policy --role-name myConfigRole --policy-arn arn:aws:iam::aws:policy/service-role/AWS_ConfigRole

管理 S3 儲存貯體記錄的許可

AWS Config 在建立、更新或刪除 S3 儲存貯體時記錄並傳送通知。

建議您使用 AWSServiceRoleForConfig (請參閱《使用 AWS Config的服務連結角色》) 或利用 AWS_ConfigRole 受管政策的自訂 IAM 角色。如需組態記錄最佳實務的詳細資訊,請參閱《AWS Config 最佳實務》。

如果您需要管理儲存貯體記錄的物件層級許可,請確保在 S3 儲存貯體政策中提供 config.amazonaws.com ( AWS Config 服務主體名稱) 對AWS_ConfigRole受管政策中所有 S3 相關許可的存取權。如需詳細資訊,請參閱《Amazon S3 儲存貯體許可》。