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
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 valueType: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.
-
A primeira linha na seção de parâmetros depois de.Parameters:é uma string concatenada deNameOfRule+ Param + NameOfRuleParameter-
Substitua
por um nome consistente criado por você para a regra. Por exemplo, pode ser IamPasswordPolicy para a regra iam-password-policy.NameOfRule -
Tipo:
Param. -
Em seguida, substitua
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.NameOfRuleParameter
-
-
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
DefaulteTypepara sua regra específica. Para regras do AWS Config personalizadas, use os valores selecionados ao criar a regra.nota
Para cada parâmetro,
Typedeve ser especificado. OTypepode 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:ActualConfigRuleNameInputParameters:NameOfRuleParameter: !RefNameOfRuleParamNameOfRuleParameterSource: Owner:OwnerSourceIdentifier:SOURCE_IDENTIFIERType: 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.
-
Substitua
pelo mesmo nome que você criou na seçãoNameOfRuleParameters. -
Para Regras gerenciadas do AWS Config, substitua
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.ActualConfigRuleName -
Substitua
pelo mesmo nome que você usou na seçãoNameOfRuleParameterParameters. Depois dos dois-pontos, copie e cole a mesma string concatenada de!Ref+NameOfRule+ Param +NameOfRuleParameterque você criou na seçãoParameters. -
Altere o
para o valor apropriado.Ownernota
Regras gerenciadas do AWS Config
Para regras gerenciadas do AWS Config, o valor de
OwnerseráAWS.Regras personalizadas do AWS Config
Para regras personalizadas do AWS Config criadas com o Guard, o valor de
OwnerseráCUSTOM_POLICY. Para regras personalizadas de AWS Config criadas com o Lambda, o valor deOwnerseráCUSTOM_LAMBDA. -
Altere o
para o valor apropriado.SOURCE_IDENTIFIERnota
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, comoarn:aws:lambda:us-east-2:123456789012:function:. Para regras personalizadas do AWS Config criadas com o Guard, esse campo não é necessário.ActualConfigRuleName
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