Actualización de reglas de AWS Config - AWS Config

Actualización de reglas de AWS Config

Puede usar la consola de AWS Config o los AWS SDK para actualizar reglas.

Actualización de reglas (consola)

La página Reglas muestra las reglas y los resultados de conformidad actuales en una tabla. El resultado para cada regla es Evaluating... hasta que AWS Config acaba de evaluar los recursos con respecto a la regla. Puede actualizar los resultados con el botón de actualizar. Cuando AWS Config termina las evaluaciones, puede ver las reglas y los tipos de recursos que son conformes o no conformes. Para obtener más información, consulte Visualización de información de cumplimiento y resultados de evaluación para los recursos de AWS con AWS Config.

Para actualizar una regla
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS Config en https://console.aws.amazon.com/config/home.

  2. En el menú de Consola de administración de AWS, compruebe que el selector de región está establecido en una región que admite reglas de AWS Config. Para ver una lista de las regiones admitidas, consulte Regiones y puntos de enlace de AWS Config en la Referencia general de Amazon Web Services.

  3. En el panel de navegación izquierdo, seleccione Rules (Reglas).

  4. Elija una regla y Editar la regla para la regla que desee actualizar.

  5. Modifique la configuración de la página Editar la regla para cambiar la regla según sea necesario.

  6. Seleccione Save.

Actualización de reglas (AWS SDK)

Si va a actualizar una regla que ha añadido anteriormente, puede especificar la regla por ConfigRuleName, ConfigRuleId o ConfigRuleArn en el tipo de datos ConfigRule que utiliza en esta solicitud. Se utiliza el mismo comando (PutConfigRule) que se utiliza al añadir una regla.

Los siguientes ejemplos de código muestran cómo utilizar PutConfigRule.

CLI
AWS CLI

Adición de una regla de configuración administrada por AWS

En el siguiente comando se proporciona un código JSON para añadir una regla de configuración administrada por AWS:

aws configservice put-config-rule --config-rule file://RequiredTagsForEC2Instances.json

RequiredTagsForEC2Instances.json es un archivo JSON que contiene la configuración de la regla:

{ "ConfigRuleName": "RequiredTagsForEC2Instances", "Description": "Checks whether the CostCenter and Owner tags are applied to EC2 instances.", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "Source": { "Owner": "AWS", "SourceIdentifier": "REQUIRED_TAGS" }, "InputParameters": "{\"tag1Key\":\"CostCenter\",\"tag2Key\":\"Owner\"}" }

Para el atributo ComplianceResourceTypes, este código JSON limita el alcance a los recursos del tipo AWS::EC2::Instance, por lo que AWS Config evaluará solo las instancias EC2 con respecto a la regla. Puesto que la regla es una regla administrada, el atributo Owner se establece en AWS y el atributo SourceIdentifier en el identificador de la regla, REQUIRED_TAGS. Para el atributo InputParameters, se especifican las claves de etiqueta que requiere la regla, CostCenter y Owner.

Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para verificar la configuración de la regla, ejecute el comando describe-config-rules y especifique el nombre de la regla.

Adición de una regla de configuración administrada por el cliente

En el siguiente comando se proporciona un código JSON para añadir una regla de configuración administrada por el cliente:

aws configservice put-config-rule --config-rule file://InstanceTypesAreT2micro.json

InstanceTypesAreT2micro.json es un archivo JSON que contiene la configuración de la regla:

{ "ConfigRuleName": "InstanceTypesAreT2micro", "Description": "Evaluates whether EC2 instances are the t2.micro type.", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "Source": { "Owner": "CUSTOM_LAMBDA", "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck", "SourceDetails": [ { "EventSource": "aws.config", "MessageType": "ConfigurationItemChangeNotification" } ] }, "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}" }

Para el atributo ComplianceResourceTypes, este código JSON limita el alcance a los recursos del tipo AWS::EC2::Instance, por lo que AWS Config evaluará solo las instancias EC2 con respecto a la regla. Puesto que esta regla es una regla administrada por el cliente, el atributo Owner se establece en CUSTOM_LAMBDA y el atributo SourceIdentifier se establece en el ARN de la función de Lambda AWS. El objeto SourceDetails es obligatorio. Los parámetros que se especifican para el atributo InputParameters se pasan a la función de Lambda AWS cuando AWS Config la invoca para evaluar los recursos conforme a la regla.

Si el comando se ejecuta correctamente, la configuración de AWS no devuelve salida. Para verificar la configuración de la regla, ejecute el comando describe-config-rules y especifique el nombre de la regla.

  • Para obtener información acerca de la API, consulte PutConfigRule en la Referencia de comandos de la AWS CLI.

Python
SDK para Python (Boto3)
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

class ConfigWrapper: """ Encapsulates AWS Config functions. """ def __init__(self, config_client): """ :param config_client: A Boto3 AWS Config client. """ self.config_client = config_client def put_config_rule(self, rule_name): """ Sets a configuration rule that prohibits making Amazon S3 buckets publicly readable. :param rule_name: The name to give the rule. """ try: self.config_client.put_config_rule( ConfigRule={ "ConfigRuleName": rule_name, "Description": "S3 Public Read Prohibited Bucket Rule", "Scope": { "ComplianceResourceTypes": [ "AWS::S3::Bucket", ], }, "Source": { "Owner": "AWS", "SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED", }, "InputParameters": "{}", "ConfigRuleState": "ACTIVE", } ) logger.info("Created configuration rule %s.", rule_name) except ClientError: logger.exception("Couldn't create configuration rule %s.", rule_name) raise
  • Para obtener información sobre las API, consulte PutConfigRule en la Referencia de la API de AWS SDK para Python (Boto3).