En utilisant AWS re:Post, vous acceptez les AWS re:Post Conditions d’utilisation

Comment résoudre les erreurs présentant des limites pour la requête avancée AWS Config ?

Lecture de 3 minute(s)
0

Je souhaite résoudre les erreurs présentant des limites pour la requête avancée AWS Config avec des ressources agrégées ou des ressources de compte.

Résolution

Utilisez ces solutions de contournement pour votre cas d’utilisation avec une requête avancée.

Remarque : Vous devez disposer d’une autorisation pour les API SelectResourceConfig et SelectAggregateResourceConfig afin d’utiliser la requête avancée. Pour plus d’informations, consultez la section Interroger à l’aide de l’éditeur de requêtes SQL (Console).

Versions du système d’exploitation de l’instance Amazon EC2

La requête avancée ne permet pas d’obtenir la liste de tous les systèmes d’exploitation qui exécutent des instances Amazon Elastic Compute Cloud (Amazon EC2) dans toutes les Régions AWS. Pour vérifier le système d’exploitation, consultez la section Comment puis-je trouver la plateforme ou la version du système d’exploitation utilisée par mon instance Linux EC2 ?

Ressources supprimées

Vous ne pouvez pas utiliser la requête avancée pour les ressources supprimées. En effet, la requête avancée ne permet d’obtenir que la configuration actuelle. Pour rechercher des ressources supprimées, consultez la section 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é. Cela est dû au fait que le type de ressource AWS Config AWS::S3::AccountPublicAccessBlock renvoie des résultats uniquement si Blocage de l'accès public Amazon S3 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 à celle-ci :

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

Valeurs nulles SQL

La requête avancée ne prend pas en charge les valeurs nulles SQL. Vous devez inclure des valeurs de manière explicite. 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 similaire à celle-ci :

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 sur tableaux imbriqués

La requête avancée ne prend pas en charge les requêtes de tableaux imbriqués. Pour plus d’informations, consultez la section Limitations.

  1. Pour contourner ce problème, vous pouvez utiliser une requête personnalisée similaire à celle-ci :

    SELECT  configuration.targetResourceId,
      configuration.targetResourceType,
      configuration.complianceType,
      configuration.configRuleList
    WHERE
      configuration.complianceType = 'NON_COMPLIANT'
      AND configuration.configRuleList.configRuleName = 'required-tags'
    
  2. Suivez ensuite les instructions pour exporter la sortie au format JSON.

Vous pouvez ensuite utiliser le processeur JSON en ligne de commande jq pour filtrer et interroger le tableau imbriqué. Pour plus d’informations et pour télécharger jq, consultez la section ](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html#json-output)Format de sortie JSON[.

Informations connexes

AWS Config offre la possibilité de sauvegarder les requêtes avancées

Interrogation de l'état de configuration actuel des ressources AWS

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an