AWS Config に割り当てられた IAM ロールのアクセス許可
IAM ロールでは、アクセス許可のセットを設定できます。AWS Config は割り当てられたロールを引き受けて、S3 バケットへの書き込み、SNS トピックへの公開、AWS リソースの設定詳細を取得するための Describe または List API リクエストを行います。IAM ロールの詳細については、「IAM ユーザーガイド」の「IAM ロール」を参照してください。
AWS Config コンソールを使用して IAM ロールを作成または更新すると、AWS Config は自動的に必要なアクセス許可をアタッチします。詳細については、「コンソールによる AWS Config の設定」を参照してください。
ポリシーとコンプライアンスの結果
IAM ポリシーと、AWS Organizations で管理されるその他のポリシーが、AWS Config がリソースの設定変更の記録を許可されるかどうかに影響する可能性があります。また、リソースの設定はルールで直接評価され、評価の実行時にはこれらのポリシーは考慮されません。適用されるポリシーが、意図する AWS Config の使用方法と合致していることを確認してください。
目次
IAM ロールのポリシーの作成
AWS Config コンソールを使用して IAM ロールを作成すると、AWS Config はロールに必要なアクセス許可を自動的に適用します。
AWS CLI を使用して AWS Config を設定する場合、または既存の IAM ロールを更新する場合、S3 バケットへのアクセス、SNS トピックへの発行、およびリソースの設定詳細を取得することを AWS Config に許可するには、ポリシーを手動で更新する必要があります。
ロールへの IAM 信頼ポリシーの追加
リソースを追跡するロールを引き受けて使用することを AWS Config に許可する IAM 信頼ポリシーを作成できます。信頼されたポリシーの詳細については、「IAM ユーザーガイド」の「ロールに関する用語と概念」を参照してください。
AWS Config ロールの信頼ポリシーの例を次に示します。
上記の IAM ロールの信頼関係で AWS:SourceAccount 条件を使用して、特定のアカウントに代わって操作を実行するときに、この AWS IAM ロールのみとやり取りするように Config サービスプリンシパルを制限することができます。
AWS Config は AWS:SourceArn 条件もサポートしています。これは、所有アカウントに代わって操作を実行するときに、その IAM ロールのみを引き受けるように Config サービスプリンシパルを制限します。AWS Config サービスプリンシパルを使用しているときは、AWS:SourceArn プロパティが常に arn:aws:config:sourceRegion:sourceAccountID:* に設定されます。この sourceRegion はカスタマー管理の設定レコーダーのリージョンで、sourceAccountID はカスタマー管理の設定レコーダーが含まれるアカウントの ID です。
例えば、条件 "ArnLike":
{"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"} を追加すると、アカウント 123456789012 にある us-east-1 リージョン内のカスタマー管理の設定レコーダーに代わって実行する場合にのみ、その IAM ロールを引き受けるように Config サービスプリンシパルを制限できます。
S3 バケットの IAM ロールのポリシー
次のポリシー例では、S3 バケットへのアクセス許可を AWS Config に付与します。
KMS キーの IAM ロールポリシー
以下のポリシーの例では、S3 バケット配信用の新しいオブジェクトで KMS ベースの暗号化を使用するアクセス許可を AWS Config に付与します。
Amazon SNS トピックの IAM ロールポリシー
次のポリシーの例では、SNS トピックへのアクセス許可を AWS Config に付与します。
SNS トピックが暗号化されている場合、追加の設定手順については、「Amazon Simple Notification Service デベロッパーガイド」の「AWS KMS アクセス許可の設定」を参照してください。
設定詳細を取得するための IAM ロールポリシー
AWS Config のサービスにリンクされたロール AWSServiceRoleForConfig を使用することをお勧めします。サービスにリンクされたロールは、事前に定義されたロールであり、AWS Config が他の AWS のサービスを呼び出すために必要なすべてのアクセス許可を備えています。サービスにリンクされた設定レコーダーでは、AWS Config のサービスにリンクされたロールが必要です。詳細については、「AWS Config 用のサービスリンクロールの使用」を参照してください。
コンソールでロールを作成または更新すると、AWS Config は AWSServiceRoleForConfig をアタッチします。
AWS CLI を使用する場合は、attach-role-policy コマンドを使用して AWSServiceRoleForConfig の Amazon リソースネーム (ARN) を指定します。
$aws iam attach-role-policy --role-namemyConfigRole--policy-arn arn:aws:iam::aws:policy/aws-service-role/AWSServiceRoleForConfig
S3 バケット記録のアクセス許可の管理
AWS ConfigS3 バケットが作成、更新、または削除されると、 はそれを記録し、通知します。
AWS Config のサービスにリンクされたロール AWSServiceRoleForConfig を使用することをお勧めします。サービスにリンクされたロールは、事前に定義されたロールであり、AWS Config が他の AWS のサービスを呼び出すために必要なすべてのアクセス許可を備えています。サービスにリンクされた設定レコーダーでは、AWS Config のサービスにリンクされたロールが必要です。詳細については、「AWS Config 用のサービスリンクロールの使用」を参照してください。