AWS ConfigはAWSの変更内容を記録するサービスです。
概要
AWS ConfigはAWS上での変更内容を記録します。
変更内容はS3に保存するか、SNSで送信します。
S3に保存する形が一般的でしょうか。
S3には6時間ごとに変更内容が保存されます。
AWS Config の仕組み
配信チャネル
配信チャネルは変更内容を配信するための設定になります。
宛先としてはS3かSNSになります。
作成は管理コンソールからできますが、削除はAWS CLI経由でしかできません。
配信チャネルの管理
IAMロール
AWS Configが使用するロールになります。
自動的に作成されるロールで問題無いでしょう。
手動で作成する場合はAWS Config用のロール/ポリシーを作成します。
また、S3を使用する場合はS3のバケットポリシーも設定します。
SNSを使用する場合はSNSを使用するポリシーも必要となります。
IAM に割り当てられた AWS Config ロールのアクセス許可
Amazon S3 バケットへのアクセス許可
有効化する場合にエラーが出る場合はS3へのポリシー/パケットポリシーが不足しており科アクセスができない場合です。
IAMロール/S3を自動作成にした場合
IAMロールとして「AWSServiceRoleForConfig」を使用する形になります。
「AWSConfigServiceRolePolicy」が割り当てられます。AWS Configが情報を取得するためのGet/List/Describe権限が付与されています。
作成されたS3にはバケットポリシーが設定されます。
バケットに対する「GetBucketAcl」「ListBucket」の参照権限が割り当てられます。
また、書き込み権限として「PutObject」が割り当てられます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::<バケット名>" }, { "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::<バケット名>" }, { "Sid": "AWSConfigBucketDelivery", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::<バケット名>/conflog/AWSLogs/sourceAccountID-WithoutHyphens/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
コメント