¿Cómo puedo solucionar los errores relacionados con las limitaciones para las consultas avanzadas de AWS Config?
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.
-
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'
-
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
Contenido relevante
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 8 meses
- OFICIAL DE AWSActualizada hace un año