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

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

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

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

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

用語

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

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

AWS Config カスタムルールを作成するには 2 つの方法があります。Lambda 関数 (AWS Lambda デベロッパーガイド ) と Guard (Guard GitHub リポジトリ ) を使用する方法、 で 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. の後のパラメータセクションの最初の行は、+ Param NameOfRule + の連結文字列Parameters:ですNameOfRuleParameter

    1. ルール用に作成した一貫性のある名前を NameOfRule に置き換えます。例えば、ルールIamPasswordPolicyの場合ですiam-password-policy

    2. タイプ Param

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

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

    注記

    パラメータごとに、 を指定Typeする必要があります。 は、「文字列」、「int」、「double」、「CSV」、「ブール値」、「」のいずれかTypeです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セクションでNameOfRuleParameter作成した NameOfRule + Param + と同じ連結文字列をコピーして貼り付けます。

  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-rotated、および iam-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