Al usar AWS re:Post, aceptas las AWS re:Post Términos de uso

¿Cómo puedo solucionar los errores relacionados con las limitaciones para las consultas avanzadas de AWS Config?

3 minutos de lectura
0

Quiero solucionar los errores relacionados con las limitaciones para las consultas avanzadas de AWS Config con recursos agregados o de cuentas.

Solución

Utilice las siguientes soluciones alternativas para su caso práctico de consulta avanzada.

Nota: Debe tener permiso para que las API SelectResourceConfig y SelectAggregateResourceConfig utilicen la consulta avanzada. Para obtener más información, consulte Query using the SQL editor (Console).

Versiones del sistema operativo de instancias de Amazon EC2

La consulta avanzada no puede obtener la lista de todos los sistemas operativos que se ejecutan en las instancias de Amazon Elastic Compute Cloud (Amazon EC2) en todas las regiones de AWS. Para comprobar el SO, consulte ¿Cómo puedo encontrar la plataforma o la versión del sistema operativo que utiliza mi instancia de Linux de EC2?

Recursos eliminados

No puede utilizar la consulta avanzada para recursos eliminados. Esto se debe a que una consulta avanzada solo puede obtener la configuración actual. Si desea consultar recursos eliminados, consulte Looking up resources that are discovered by AWS Config.

Consultas de Amazon S3

La consulta avanzada no puede obtener los resultados de los buckets de Amazon Simple Storage Service (Amazon S3) si el acceso público está bloqueado. Esto se debe a que el tipo de recurso de AWS Config AWS::S3::AccountPublicAccessBlock devuelve resultados solo si el Bloqueo del acceso público de Amazon S3 está activado en el nivel de cuenta. Puede usar una consulta de SQL para devolver el nombre y los atributos de un bucket de S3 con una consulta similar a la siguiente:

SELECT  resourceId,
  resourceType,
  configuration,
  supplementaryConfiguration
WHERE
  resourceType = 'AWS::S3::Bucket'

Valores nulos de SQL

La consulta avanzada no admite valores nulos de SQL; debe incluir valores de forma explícita. Puede recuperar una lista de instancias de Amazon EC2 con una dirección IP pública asociada mediante el operador SQL BETWEEN, como se muestra a continuación:

SELECT  accountId,
  resourceId,
  configuration.publicDnsName,
  configuration.publicIpAddress
WHERE
  resourceType = 'AWS::EC2::Instance'
  AND (
    configuration.publicIpAddress BETWEEN '0.0.0.0'
    AND '255.255.255.255'
    OR configuration.ipv6Addresses BETWEEN '0:0:0:0:0:0:0:0'
    AND 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff'
  )

Consultas de matrices anidadas

La consulta avanzada no admite consultas de matrices anidadas. Para obtener más información, consulte Limitations.

  1. Como solución alternativa, puede utilizar una consulta personalizada similar a la siguiente:

    SELECT  configuration.targetResourceId,
      configuration.targetResourceType,
      configuration.complianceType,
      configuration.configRuleList
    WHERE
      configuration.complianceType = 'NON_COMPLIANT'
      AND configuration.configRuleList.configRuleName = 'required-tags'
    
  2. A continuación, siga las instrucciones para exportar el resultado en formato JSON.

Luego puede utilizar el procesador JSON jq de la línea de comandos para filtrar y consultar la matriz anidada. Para obtener más información y descargar jq, consulte JSON output format.

Información relacionada

AWS Config incorpora la capacidad de guardar consultas avanzadas

Consultar el estado de configuración actual de los recursos de AWS

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año