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

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Présentation d'une fonctionnalité d'aperçu pour les requêtes avancées qui vous permet d'utiliser les fonctionnalités de l'intelligence artificielle générative (IA générative) pour saisir des instructions dans un anglais simple et les convertir dans un format de ready-to-use requête. Pour plus d’informations, consultez Processeur de requêtes en langage naturel pour les requêtes avancées.

Vous pouvez l'utiliser AWS Config pour interroger l'état de configuration actuel des AWS ressources en fonction des propriétés de configuration d'un seul compte et d'une seule région ou de plusieurs comptes et régions. Vous pouvez effectuer des requêtes basées sur les propriétés par rapport aux métadonnées de l'état actuel des AWS ressources dans une liste de ressources prises en charge. AWS Config Pour plus d'informations sur la liste des types de ressources pris en charge, consultez Types de ressources pris en charge pour les requêtes avancées.

Les requêtes avancées fournissent un point de terminaison de requête unique et un langage de requête pour obtenir les métadonnées de l'état actuel des ressources sans effectuer d'appels de description API spécifiques au service. Vous pouvez utiliser des agrégateurs de configuration pour exécuter les mêmes requêtes à partir d'un compte central sur plusieurs comptes et AWS régions.

Fonctionnalités

AWS Config utilise un sous-ensemble de la SELECT syntaxe du langage de requête structuré (SQL) pour effectuer des requêtes basées sur des propriétés et des agrégations sur les données des éléments de configuration (CI) actuels. La complexité des requêtes varie, allant de correspondances avec des identifiants de balises et/ou de ressources à des requêtes plus complexes, telles que l'affichage de tous les compartiments Amazon S3 dont le versionnement est désactivé. Cela vous permet de demander exactement l'état actuel des ressources dont vous avez besoin sans effectuer d'appels AWS spécifiques à un serviceAPI.

Il prend en charge les fonctions d'agrégation telles que AVG, COUNT, MAX, MIN et SUM.

Vous pouvez utiliser une requête avancée pour :

  • Gestion de l'inventaire ; par exemple, pour récupérer une liste d'EC2instances Amazon d'une certaine taille.

  • la sécurité et l'intelligence opérationnelle : par exemple, pour récupérer la liste des ressources dont une propriété de configuration spécifique est activée ou désactivée.

  • Optimisation des coûts ; par exemple, pour identifier une liste de EBS volumes Amazon qui ne sont attachés à aucune EC2 instance.

  • Données de conformité ; par exemple, pour récupérer une liste de tous vos packs de conformité et de leur statut de conformité.

Pour plus d'informations sur l'utilisation du langage de AWS SQL requête, voir Qu'est-ce que SQL (langage de requête structuré) ? .

Limites

Note

La requête avancée ne prend pas en charge l'interrogation de ressources qui n'ont pas été configurées pour être enregistrées par l'enregistreur de configuration. AWS Config crée des éléments de configuration (CIs) ResourceNotRecorded dans le configurationItemStatus cas où une ressource a été découverte mais n'est pas configurée pour être enregistrée par l'enregistreur de configuration. Bien qu'un agrégateur les agrègeCIs, les requêtes avancées ne prennent pas en charge les requêtes CIs avec. ResourceNotRecorded Mettez à jour les paramètres de votre enregistreur afin d'activer l'enregistrement des types de ressources que vous souhaitez interroger.

En tant que sous-ensemble de SQLSELECT, la syntaxe de requête présente les limites suivantes :

  • Pas de prise en charge pour les mots clés ALL, AS, DISTINCT, FROM, HAVING, JOIN et UNION mots clés dans une requête. Les requêtes de valeur NULL ne sont pas prises en charge.

  • Pas de prise en charge des requêtes sur des ressources tierces. Les ressources tierces récupérées à l'aide de requêtes avancées auront le champ de configuration défini comme NULL.

  • Aucune prise en charge des structures imbriquées (telles que les balises) à décompresser avec des SQL requêtes.

  • CIDRla notation est convertie en plages d'adresses IP pour la recherche. Cela signifie que "=" et "BETWEEN" recherchent toute plage qui inclut l'adresse IP fournie, plutôt qu'une adresse exacte. Pour rechercher une plage d'adresses IP exacte, vous devez ajouter des conditions supplémentaires à exclure IPs en dehors de cette plage. Par exemple, pour rechercher 10.0.0.0/24 et uniquement ce bloc d'adresses IP, vous pouvez procéder comme suit :

    SELECT * WHERE resourceType = 'AWS::EC2::SecurityGroup' AND configuration.ipPermissions.ipRanges BETWEEN '10.0.0.0' AND '10.0.0.255' AND NOT configuration.ipPermissions.ipRanges < '10.0.0.0' AND NOT configuration.ipPermissions.ipRanges > '10.0.0.255'

    Pour 192.168.0.2/32, vous pouvez effectuer une recherche similaire :

    SELECT * WHERE resourceType = 'AWS::EC2::SecurityGroup' AND configuration.ipPermissions.ipRanges = '192.168.0.2' AND NOT configuration.ipPermissions.ipRanges > '192.168.0.2' AND NOT configuration.ipPermissions.ipRanges < '192.168.0.2'
  • Lors de l'interrogation de plusieurs propriétés dans un tableau d'objets, les correspondances sont calculées sur les éléments de tableau. Par exemple, pour une ressource R avec des règles A et B, la ressource est conforme à la règle A, mais non conforme à la règle B. La ressource R est stockée sous la forme suivante :

    { configRuleList: [ { configRuleName: 'A', complianceType: 'compliant' }, { configRuleName: 'B', complianceType: 'non_compliant' } ] }

    R sera renvoyée par cette requête :

    SELECT configuration WHERE configuration.configRuleList.complianceType = 'non_compliant' AND configuration.configRuleList.configRuleName = 'A'

    La première condition configuration.configRuleList.complianceType = 'non_compliant' est appliquée aux ALL éléments de R.configRuleList, car R possède une règle (règle B) avec complianceType = 'non_compliant', la condition est évaluée comme vraie. La deuxième condition configuration.configRuleList.configRuleName est appliquée aux ALL éléments de R.configRuleList, car R possède une règle (règle A) avec configRuleName = « A », la condition est évaluée comme vraie. Comme les deux conditions sont vraies, R sera renvoyée.

  • La commande SELECT raccourcie permettant de sélectionner toutes les colonnes (à savoir SELECT *) sélectionne uniquement les propriétés scalaires de niveau supérieur d'un élément de configuration. Les propriétés scalaires renvoyées sont accountId, awsRegion, arn, availabilityZone, configurationItemCaptureTime, resourceCreationTime, resourceId, resourceName, resourceType et version.

  • Limitations propres aux caractères génériques :

    • Les caractères génériques sont pris en charge uniquement pour les valeurs de propriété et non pour les clés de propriété (par exemple, ...WHERE someKey LIKE 'someValue%' est pris en charge, mais ...WHERE 'someKey%' LIKE 'someValue%' n'est pas pris en charge).

    • Prise en charge uniquement des caractères génériques en suffixe (par exemple, ...LIKE 'AWS::EC2::%' et ...LIKE 'AWS::EC2::_' sont pris en charge, mais ...LIKE '%::EC2::Instance' et ...LIKE '_::EC2::Instance' ne sont pas pris en charge).

    • Les correspondances d'un caractère générique doivent compter au moins trois caractères (par exemple, ...LIKE 'ab%' et ...LIKE 'ab_' ne sont pas autorisés, alors que ...LIKE 'abc%' et ...LIKE 'abc_' le sont).

    Note

    Le « _ » (tiret du bas simple) est également traité comme un caractère générique.

  • Limitations propres aux agrégations :

    • Les fonctions d'agrégation peuvent accepter un seul argument ou une seule propriété.

    • Les fonctions d'agrégation ne peuvent pas accepter d'autres fonctions comme arguments.

    • GROUP BY avec une clause ORDER BY faisant référence à des fonctions d'agrégation ne peut contenir qu'une seule propriété.

    • Pour toutes les autres agrégations, les clauses GROUP BY peuvent contenir jusqu'à trois propriétés.

    • La pagination est prise en charge pour toutes les requêtes agrégées, sauf lorsque la clause ORDER BY comporte une fonction d'agrégation. Par exemple, GROUP BY X, ORDER BY Y ne fonctionne pas si Y est une fonction d'agrégation.

    • Pas de prise en charge des clauses HAVING dans les agrégations.

  • Limites des identifiants non concordants :

    Les identifiants non concordants sont des propriétés qui ont la même orthographe mais une casse différente (majuscules et minuscules). La requête avancée ne permet pas de traiter les requêtes qui contiennent des identifiants non concordants. Par exemple :

    • Deux propriétés qui ont exactement la même orthographe, mais une casse différente (configuration.dbclusterIdentifier et configuration.dBClusterIdentifier).

    • Deux propriétés où l'une est un sous-ensemble de l'autre et qui ont une casse différente (configuration.ipAddress et configuration.ipaddressPermissions).

Prise en charge de la région

Les requêtes avancées sont prises en charge dans les régions suivantes :

Nom de la région Région Point de terminaison Protocole
US East (Ohio) us-east-2 config.us-east-2.amazonaws.com HTTPS
US East (N. Virginia) us-east-1 config.us-east-1.amazonaws.com HTTPS
USA Ouest (Californie du Nord) us-west-1 config.us-west-1.amazonaws.com HTTPS
US West (Oregon) us-west-2 config.us-west-2.amazonaws.com HTTPS
Afrique (Le Cap) af-south-1 config.af-south-1.amazonaws.com HTTPS
Asie-Pacifique (Hong Kong) ap-east-1 config.ap-east-1.amazonaws.com HTTPS
Asie-Pacifique (Hyderabad) ap-south-2 config.ap-south-2.amazonaws.com HTTPS
Asie-Pacifique (Jakarta) ap-southeast-3 config.ap-southeast-3.amazonaws.com HTTPS
Asie-Pacifique (Melbourne) ap-southeast-4 config.ap-southeast-4.amazonaws.com HTTPS
Asia Pacific (Mumbai) ap-south-1 config.ap-south-1.amazonaws.com HTTPS
Asie-Pacifique (Osaka) ap-northeast-3 config.ap-northeast-3.amazonaws.com HTTPS
Asia Pacific (Seoul) ap-northeast-2 config.ap-northeast-2.amazonaws.com HTTPS
Asie-Pacifique (Singapour) ap-southeast-1 config.ap-southeast-1.amazonaws.com HTTPS
Asia Pacific (Sydney) ap-southeast-2 config.ap-southeast-2.amazonaws.com HTTPS
Asia Pacific (Tokyo) ap-northeast-1 config.ap-northeast-1.amazonaws.com HTTPS
Canada (Central) ca-central-1 config.ca-central-1.amazonaws.com HTTPS
Canada Ouest (Calgary) ca-west-1 config.ca-west-1.amazonaws.com HTTPS
Europe (Francfort) eu-central-1 config.eu-central-1.amazonaws.com HTTPS
Europe (Irlande) eu-west-1 config.eu-west-1.amazonaws.com HTTPS
Europe (Londres) eu-west-2 config.eu-west-2.amazonaws.com HTTPS
Europe (Milan) eu-south-1 config.eu-south-1.amazonaws.com HTTPS
Europe (Paris) eu-west-3 config.eu-west-3.amazonaws.com HTTPS
Europe (Espagne) eu-south-2 config.eu-south-2.amazonaws.com HTTPS
Europe (Stockholm) eu-north-1 config.eu-north-1.amazonaws.com HTTPS
Europe (Zurich) eu-central-2 config.eu-central-2.amazonaws.com HTTPS
Israël (Tel Aviv) il-central-1 config.il-central-1.amazonaws.com HTTPS
Moyen-Orient (Bahreïn) me-south-1 config.me-south-1.amazonaws.com HTTPS
Moyen-Orient (UAE) me-central-1 config.me-central-1.amazonaws.com HTTPS
Amérique du Sud (São Paulo) sa-east-1 config.sa-east-1.amazonaws.com HTTPS
AWS GovCloud (USA Est) us-gov-east-1 config.us-gov-east-1.amazonaws.com HTTPS
AWS GovCloud (US-Ouest) us-gov-west-1 config.us-gov-west-1.amazonaws.com HTTPS