Criar modelos para pacotes de conformidade personalizados para o AWS Config - AWS Config

Criar modelos para pacotes de conformidade personalizados para o AWS Config

Um pacote de conformidade é uma coleção exclusiva de regras e ações de correção do AWS Config que podem ser facilmente implantadas juntas em uma única conta e em uma região da AWS, ou em uma organização no AWS Organizations.

Para criar um pacote de conformidade personalizado, siga as etapas na seção Personalização do modelo a seguir para criar um arquivo YAML que contenha a lista de Regras gerenciadas do AWS Config ou Regras personalizadas do AWS Config com as quais você deseja trabalhar.

Terminologia

As Regras gerenciadas pelo AWS Config são regras predefinidas de propriedade do AWS Config.

Regras personalizadas do AWS Config são regras que você cria do zero.

Há duas maneiras de criar regras personalizadas do AWS Config: com funções do Lambda (Guia do desenvolvedor do AWS Lambda) e com o (Repositório do GitHub do Guard), uma linguagem de política como código. As regras do AWS Config personalizadas criadas com o AWS Lambda são chamadas de Regras Lambda Personalizadas do AWS Config e as regras personalizadas do AWS Config criadas com o Guard são chamadas Regras de Política Personalizadas do AWS Config.

Personalizar o modelo

Criar seu arquivo YAML

Para criar um arquivo YAML, abra um editor de texto e salve o arquivo como .yaml.

nota

Seu arquivo conterá uma seção de Parâmetros e Recursos.

Parâmetros

A seção Parameters em seu arquivo YAML é para os parâmetros de regra do conjunto de regras do AWS Config que você adicionará posteriormente na seção Resources. Crie a seção Parameters copiando e colando o seguinte bloco de código em seu arquivo YAML, personalizando-o conforme necessário e repetindo para cada parâmetro de regra.

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

Por exemplo:

Parameters: IamPasswordPolicyParamMinimumPasswordLength: Default: '14' Type: String
nota

Ao selecionar as regras do AWS Config para criar seu pacote de conformidade personalizado, verifique se você tem os recursos provisionados em sua conta que serão avaliados de acordo com as regras do AWS Config.

  1. A primeira linha na seção de parâmetros depois de Parameters: é uma string concatenada de NameOfRule + Param + NameOfRuleParameter.

    1. Substitua NameOfRule por um nome consistente criado por você para a regra. Por exemplo, pode ser IamPasswordPolicy para a regra iam-password-policy.

    2. Tipo: Param.

    3. Em seguida, substitua NameOfRuleParameter pelo nome do parâmetro da regra para sua regra específica. Para regras gerenciadas por AWS Config gerenciadas, o nome do parâmetro da regra está localizado na Lista de regras gerenciadas do AWS Config (por exemplo, MinimumPasswordLength é o nome de um parâmetro de regra para a regra iam-password-policy). Para regras do AWS Config personalizadas, o nome do parâmetro da regra é o nome que você escolheu ao criar a regra.

  2. Se você estiver usando uma regra gerenciada do AWS Config, encontre a regra do AWS Config apropriada na lista de regras gerenciadas para saber os valores aceitos para Default e Type para sua regra específica. Para regras do AWS Config personalizadas, use os valores selecionados ao criar a regra.

    nota

    Para cada parâmetro, Type deve ser especificado. O Type pode ser “String”, “int”, “double”, “CSV”, “boolean” e “StringMap”.

Recursos

A seção Resources lista as regras que estão sendo adicionadas ao seu pacote de conformidade personalizado. Adicione o bloco Resources a seguir diretamente abaixo de sua seção Parameters, personalizando-o, conforme necessário, e repetindo para cada regra. Para obter mais informações sobre as especificações, consulte AWS::Config::ConfigRule.

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

Por exemplo:

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

Ao selecionar as regras do AWS Config regras para criar seu pacote de conformidade personalizado, verifique se você tem os recursos que serão avaliados para as regras do AWS Config provisionadas em sua conta. Para obter mais informações, consulte Tipos de Recursos Compatíveis.

  1. Substitua NameOfRule pelo mesmo nome que você criou na seção Parameters.

  2. Para Regras gerenciadas do AWS Config, substitua ActualConfigRuleName pelo título da página de regras apropriada na Lista de regras gerenciadas do AWS Config. Para regras personalizadas do AWS Config, use o nome da regra do Config que você escolheu no momento da criação da regra.

  3. Substitua NameOfRuleParameter pelo mesmo nome que você usou na seção Parameters. Depois dos dois-pontos, copie e cole a mesma string concatenada de !Ref + NameOfRule + Param + NameOfRuleParameter que você criou na seção Parameters.

  4. Altere o Owner para o valor apropriado.

    nota

    Regras gerenciadas do AWS Config

    Para regras gerenciadas do AWS Config, o valor de Owner será AWS.

    Regras personalizadas do AWS Config

    Para regras personalizadas do AWS Config criadas com o Guard, o valor de Owner será CUSTOM_POLICY. Para regras personalizadas de AWS Config criadas com o Lambda, o valor de Owner será CUSTOM_LAMBDA.

  5. Altere o SOURCE_IDENTIFIER para o valor apropriado.

    nota

    Regras gerenciadas do AWS Config

    Para regras gerenciadas de AWS Config, copie o identificador seguindo o link da regra selecionada na Lista de regras gerenciadas do AWS Config (por exemplo, o identificador de origem para a access-keys-rotated é  ACCESS_KEYS_ROTATED).


    Regras personalizadas do AWS Config

    Para regras personalizadas do AWS Config com o Lambda, o SourceIdentifier é o nome do recurso da Amazon (ARN) da função do AWS Lambda da regra, como  arn:aws:lambda:us-east-2:123456789012:function:ActualConfigRuleName. Para regras personalizadas do AWS Config criadas com o Guard, esse campo não é necessário.

Ao todo, seu pacote de conformidade personalizado preenchido deve começar a ter uma aparência semelhante ao seguinte, que é um exemplo do uso dessas regras gerenciadas do AWS Config gerenciadas: iam-password-policy, access-keys-rotated e 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: !Ref IamPasswordPolicyParamMinimumPasswordLength Source: Owner: AWS SourceIdentifier: IAM_PASSWORD_POLICY Type: AWS::Config::ConfigRule AccessKeysRotated: Properties: ConfigRuleName: access-keys-rotated InputParameters: maxAccessKeyAge: !Ref AccessKeysRotatedParamMaxAccessKeyAge Source: Owner: AWS SourceIdentifier: ACCESS_KEYS_ROTATED Type: AWS::Config::ConfigRule IamUserUnusedCredentialsCheck: Properties: ConfigRuleName: iam-user-unused-credentials-check InputParameters: maxCredentialUsageAge: !Ref IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge Source: Owner: AWS SourceIdentifier: IAM_USER_UNUSED_CREDENTIALS_CHECK Type: AWS::Config::ConfigRule