Comment résoudre les erreurs avec limitations pour les requêtes avancées AWS Config avec des ressources agrégées ou de compte ?
Résolution
Utilisez les solutions de contournement suivantes pour votre cas d'utilisation avec une requête avancée.
Remarque : vous devez avoir l'autorisation pour les API SelectResourceConfig et SelectAggregateResourceConfig pour utiliser la requête avancée. Pour plus d'informations, voir Requête à l'aide de l'éditeur SQL (Console).
Versions du système d'exploitation de l'instance Amazon EC2
La requête avancée ne peut pas obtenir la liste de tous les systèmes d'exploitation exécutés dans les instances Amazon Elastic Compute Cloud (Amazon EC2) dans toutes les régions AWS. Pour vérifier le système d'exploitation, consultez Comment trouver la plate-forme ou la version du système d'exploitation que mon instance EC2 utilise ?
Interrogation des ressources supprimées
Vous ne pouvez pas utiliser de requête avancée pour les ressources supprimées. Pour rechercher des ressources supprimées, consultez Recherche de ressources découvertes par AWS Config.
Requêtes Amazon S3
La requête avancée ne peut pas obtenir les résultats pour les compartiments Amazon Simple Storage Service (Amazon S3) si l'accès public est bloqué. En effet, le type de ressource AWS Config AWS::S3::AccountPublicAccessBlock renvoie des résultats uniquement si Amazon S3 Block Public Access est activé au niveau du compte. Vous pouvez utiliser une requête SQL pour renvoyer le nom et les attributs d'un compartiment S3 à l'aide d'une requête similaire à la suivante :
SELECT
resourceId,
resourceType,
configuration,
supplementaryConfiguration
WHERE
resourceType = 'AWS::S3::Bucket'
Valeurs null SQL
La requête avancée ne prend pas en charge les valeurs null SQL : vous devez explicitement inclure des valeurs.
Vous pouvez récupérer une liste d'instances Amazon EC2 avec une adresse IP publique associée à l'utilisation de l'opérateur SQL BETWEEN semblable à ce qui suit :
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'
)
Requêtes de tableau imbriquées
La requête avancée ne prend pas en charge les requêtes de tableau imbriqué. Pour plus d'informations, consultez Limitations des requêtes avancées.
1. Comme solution de contournement, vous pouvez utiliser une requête personnalisée semblable à la suivante :
SELECT
configuration.targetResourceId,
configuration.targetResourceType,
configuration.complianceType,
configuration.configRuleList
WHERE
configuration.complianceType = 'NON_COMPLIANT'
AND configuration.configRuleList.configRuleName = 'required-tags'
2. Ensuite, suivez les instructions pour exporter la sortie en format JSON.
Vous pouvez ensuite utiliser le processeur JSON de ligne de commande jq pour filtrer et interroger le tableau imbriqué. Pour plus d'informations et pour télécharger jq, reportez-vous au format de sortie JSON.
Informations connexes
AWS Config lance la possibilité d'enregistrer des requêtes avancées
Interrogation de l'état actuel de la configuration des ressources AWS