のカスタムコンフォーマンスパック用のテンプレートの作成 AWS Config - AWS Config

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

のカスタムコンフォーマンスパック用のテンプレートの作成 AWS Config

カスタムコンフォーマンスパックは、 アカウントと AWS リージョン、または の組織全体に一緒にデプロイできる AWS Config ルールと修復アクションの一意のコレクションです AWS Organizations。

カスタムコンフォーマンスパックを作成するには、「テンプレートをカスタマイズするセクション」の手順を実行し、使用する AWS Config マネージドルールまたは AWS Config カスタムルールのリストを含む YAML ファイルを作成します。

用語

AWS Config マネージドルールは、 が所有する事前定義されたルールです AWS Config。

AWS Config カスタムルールは、ゼロから作成するルールです。

AWS Config カスタムルールを作成するには、Lambda 関数 (AWS Lambda デベロッパーガイド) と Guard (Guard GitHub リポジトリ) の 2 つの方法があります。 で AWS Lambda 作成された policy-as-code language. AWS Config custom ルールはAWS Config カスタム Lambda ルールと呼ばれ、Guard で作成された AWS Config カスタムルールはAWS Config カスタムポリシールールと呼ばれます。

テンプレートのカスタマイズ

YAML ファイルの作成

YAML ファイルを作成するには、テキストエディタを開き、ファイルを .yaml として保存します。

注記

ファイルにはパラメータおよびリソースセクションがあります。

パラメータ

YAML ファイルの Parametersセクションは、Resourcesセクションの後半で追加する一連のルールの AWS Config ルールパラメータ用です。Parameters セクションを作成するには、次のコードブロックをコピーして YAML ファイルに貼り付け、必要に応じてカスタマイズし、ルールパラメータごとに繰り返します。

Parameters: NameOfRuleParamNameOfRuleParameter: Default: Parameter value Type: Type ...

以下に例を示します。

Parameters: IamPasswordPolicyParamMinimumPasswordLength: Default: '14' Type: String
注記

カスタムコンフォーマンスパックを構築する AWS Config ルールを選択するときは、 AWS Config ルールに対して評価されるリソースがアカウント内でプロビジョニングされていることを確認します。

  1. パラメータセクションの Parameters: の 次の行は、NameOfRule + Param + NameOfRuleParameter の順序で連結された文字列です。

    1. ルール用に作成した一貫性のある名前を NameOfRule に置き換えます。たとえば、iam-password-policy ルールには IamPasswordPolicy などと命名することができます。

    2. タイプ Param

    3. 次に、特定のルールのルールパラメータ名を NameOfRuleParameter に置き換えます。 AWS Config マネージドルールの場合、ルールパラメータの名前はマネージドルールのリスト AWS Configにあります (例えば、MinimumPasswordLengthiam-password-policy ルールのルールパラメータの名前です)。 AWS Config カスタムルールでは、ルールパラメータの名前は、ルールを作成したときに選択した名前です。

  2. AWS Config マネージドルールを使用している場合は、マネージド AWS Config ルールのリストで適切なルールを検索して、Type特定のルールの Defaultと の許容値を確認します。 AWS Config カスタムルールでは、ルールを作成するときに選択した値を使用します。

    注記

    各パラメータについて、Type は必ず指定する必要があります。Type は、「String」、「int」、「double」、「CSV」、「boolean」および「StringMap」のいずれかから選択できます。

リソース

Resources セクションには、カスタムコンフォーマンスパックに追加されているルールが一覧表示されます。次の Resources ブロックを Parameters セクションのすぐ下に追加し、必要に応じてカスタマイズし、ルールごとに繰り返します。仕様の詳細については、「AWS::Config::ConfigRule」を参照してください。

Resources: NameOfRule: Properties: ConfigRuleName: ActualConfigRuleName InputParameters: NameOfRuleParameter: NameOfRuleParamNameOfRuleParameter Source: Owner: Owner SourceIdentifier: SOURCE_IDENTIFIER Type: AWS::Config::ConfigRule ...

以下に例を示します。

Resources: IamPasswordPolicy: Properties: ConfigRuleName: iam-password-policy InputParameters: MinimumPasswordLength: IamPasswordPolicyParamMinimumPasswordLength Source: Owner: AWS SourceIdentifier: IAM_PASSWORD_POLICY Type: AWS::Config::ConfigRule
注記

カスタムコンフォーマンスパックを構築する AWS Config ルールを選択するときは、アカウント内でプロビジョニングされた AWS Config ルールに対して評価されるリソースがあることを確認します。詳細については、[サポートされるリソースタイプ] を参照してください。

  1. NameOfRule セクションで作成したのと同じ名前に Parameters を置き換えます。

  2. AWS Config マネージドルール ActualConfigRuleNameの場合、 をAWS Config マネージドルールのリストの適切なルールページのタイトルに置き換えます。 AWS Config カスタムルールには、ルールの作成時に選択した Config ルール名を使用します。

  3. Parameters セクションで使用したのと同じ名前に NameOfRuleParameter を置き換えます。コロンの後に、Parameters セクションで作成した NameOfRule + Param + NameOfRuleParameter の同じ連結した文字列をコピーして貼り付けます。

  4. Owner を適切な値に変更します。

    注記

    AWS Config マネージドルール

    AWS Config マネージドルールの場合、 の値は OwnerになりますAWS

    AWS Config カスタムルール

    Guard で作成された AWS Config カスタムルールの場合、 の値は OwnerになりますCUSTOM_POLICY。Lambda で作成された AWS Config カスタムルールの場合、 の値は OwnerになりますCUSTOM_LAMBDA

  5. SOURCE_IDENTIFIER を適切な値に変更します。

    注記

    AWS Config マネージドルール

    AWS Config マネージドルールの場合、AWS Config マネージドルールのリストから選択したルールのリンクに従って識別子をコピーします (たとえば、access-keys-rotated ルールのソース識別子はACCESS_KEYS_ROTATED)。


    AWS Config カスタムルール

    Lambda で作成された AWS Config カスタムルールの場合、 SourceIdentifierはルールの AWS Lambda 関数の Amazon リソースネーム (ARN) ですarn:aws:lambda:us-east-2:123456789012:function:ActualConfigRuleName。Guard で作成された AWS Config カスタムルールの場合、このフィールドは必要ありません。

完全に、塗り分けたカスタムコンフォーマンスパックは、次の AWS Config マネージドルールを使用する例のようになります。iam-password-policyaccess-keys-rotatediam-user-unused-credentials-check

Parameters: IamPasswordPolicyParamMinimumPasswordLength: Default: '14' Type: String AccessKeysRotatedParamMaxAccessKeyAge: Default: '90' Type: String IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge: Default: '45' Type: String Resources: IamPasswordPolicy: Properties: ConfigRuleName: iam-password-policy InputParameters: MinimumPasswordLength: IamPasswordPolicyParamMinimumPasswordLength Source: Owner: AWS SourceIdentifier: IAM_PASSWORD_POLICY Type: AWS::Config::ConfigRule AccessKeysRotated: Properties: ConfigRuleName: access-keys-rotated InputParameters: maxAccessKeyAge: AccessKeysRotatedParamMaxAccessKeyAge Source: Owner: AWS SourceIdentifier: ACCESS_KEYS_ROTATED Type: AWS::Config::ConfigRule IamUserUnusedCredentialsCheck: Properties: ConfigRuleName: iam-user-unused-credentials-check InputParameters: maxCredentialUsageAge: IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge Source: Owner: AWS SourceIdentifier: IAM_USER_UNUSED_CREDENTIALS_CHECK Type: AWS::Config::ConfigRule