前提条件 - AWS Config

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

前提条件

コンフォーマンスパックをデプロイする前に、 AWS Config 記録を有効にします。

ステップ 1: AWS Config 録画を開始する

  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/config/ で AWS Config コンソールを開きます。

  2. ナビゲーションペインで [Settings] (設定) を選択します。

  3. 記録を開始するには、[Recording is off] (記録はオフ) の [Turn on] (有効) を選択します。プロンプトが表示されたら、[Continue] (続行) をクリックします。

ステップ 2: 修復でコンフォーマンスパックを使用するための前提条件

修復を伴うサンプルテンプレートを使用してコンフォーマンスパックをデプロイする前に、修復ターゲットに基づいて、自動化継承ロールやその他のリソースなどの適切な AWS リソースを作成する必要があります。

SSM ドキュメントを使用して修復に使用している既存の自動化ロールがある場合は、そのロールの ARN を直接提供できます。リソースがある場合は、テンプレートにリソースを提供できます。

注記

組織に修復を伴うコンフォーマンスパックをデプロイする場合、組織の管理アカウント ID を指定する必要があります。それ以外の場合は、組織コンフォーマンスパックのデプロイ時に、 AWS Config  によって、管理アカウント ID をメンバーアカウント ID に自動的に置き換えます。

AWS Config は、自動化実行ロールの AWS CloudFormation 組み込み関数をサポートしていません。ロールの正確な ARN を文字列として指定する必要があります。

正確な ARN を渡す方法の詳細については、「コンフォーマンスパックテンプレート」を参照してください。サンプルテンプレートの使用中に、組織のアカウント ID と管理者アカウント ID を更新します。

ステップ 2: 1 つ以上の AWS Config ルールでコンフォーマンスパックを使用するための前提条件

1 つ以上のカスタム AWS Config ルールを含むコンフォーマンスパックをデプロイする前に、 AWS Lambda 関数や対応する実行ロールなどの適切なリソースを作成します。

既存のカスタム AWS Config ルールがある場合は、 AWS Lambda 関数ARNの を直接指定して、そのカスタムルールの別のインスタンスをパックの一部として作成できます。

既存のカスタム AWS Config ルールがない場合は、 AWS Lambda 関数を作成し、Lambda 関数の ARN を使用できます。詳細については、「AWS Config カスタムルール」を参照してください。

AWS Lambda 関数が別の に存在する場合は AWS アカウント、適切なクロスアカウント AWS Lambda 関数認証を使用して AWS Config ルールを作成できます。詳細については、「複数のブログ記事で AWS Config ルールを一元管理する方法 AWS アカウント」を参照してください。

Same account bucket policy

がコンフォーマンスパックアーティファクトを保存できるようにする AWS Config には、Amazon S3 バケットを指定し、次のアクセス許可を追加する必要があります。詳細については、バケットの命名規則を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigConformsBucketPermissionsCheck", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::AccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::delivery-bucket-name" }, { "Sid": "AWSConfigConformsBucketDelivery", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::AccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::delivery-bucket-name/[optional] prefix/AWSLogs/AccountId/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
Cross-account bucket policy

がコンフォーマンスパックアーティファクトを保存できるようにする AWS Config には、Amazon S3 バケットを指定し、次のアクセス許可を追加する必要があります。詳細については、バケットの命名規則を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigConformsBucketPermissionsCheck", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::SourceAccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms", "PutConformancePack API caller user principal like arn:aws:iam::SourceAccountId:user/userName " ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name" }, { "Sid": "AWSConfigConformsBucketDelivery", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::SourceAccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name/[optional] prefix/AWSLogs/AccountID/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": " AWSConfigConformsBucketReadAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::SourceAccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name/[optional] prefix/AWSLogs/AccountID/Config/*" } ] }
注記

クロスアカウントのコンフォーマンスパックをデプロイする場合、Amazon S3 の配信バケットの名前は awsconfigconforms で始まる必要があります。

ステップ 2: Organization Conformance Pack の前提条件

入力テンプレートに自動修復設定がある場合は、その修復のオートメーション実行ロール ARN をテンプレートで指定します。指定した名前のロールが、組織のすべてのアカウント (管理およびメンバー) に存在することを確認します。PutOrganizationConformancePack を呼び出す前に、すべてのアカウントでこのロールを作成する必要があります。このロールは、手動で作成することも、 AWS CloudFormation スタックセットを使用してすべてのアカウントで作成することもできます。

テンプレートが AWS CloudFormation 組み込み関数を使用して特定の変数Fn::ImportValueをインポートする場合、その変数は組織内のすべてのメンバーアカウントExport Valueで として定義する必要があります。

カスタム AWS Config ルールについては、「How to Centrally Manage AWS Config Rules across Multiple AWS アカウント」ブログを参照して、適切なアクセス許可を設定します。

組織のバケットポリシー:

がコンフォーマンスパックアーティファクトを保存できるようにする AWS Config には、Amazon S3 バケットを指定し、次のアクセス許可を追加する必要があります。詳細については、バケットの命名規則を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name/*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "customer_org_id" }, "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::*:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" } } }, { "Sid": "AllowGetBucketAcl", "Effect": "Allow", "Principal": "*", "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "customer_org_id" }, "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::*:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" } } } ] }
注記

コンフォーマンスパックを組織にデプロイする場合、Amazon S3 の配信バケットの名前は awsconfigconforms で始まる必要があります。