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.
Rubriques
- Fonctionnalités
- Composants d'une requête
- Requête à l'aide de l'éditeur de SQL requêtes (console)
- Requête à l'aide de l'éditeur de SQL requêtes (AWS CLI)
- Processeur de requêtes en langage naturel pour les requêtes avancées
- Exemples de requêtes pour AWS Config
- Exemples de requêtes relationnelles pour AWS Config
- Limites
- Prise en charge de la région
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
etUNION
mots clés dans une requête. Les requêtes de valeurNULL
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 conditionconfiguration.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 (à savoirSELECT *
) 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 sontaccountId
,awsRegion
,arn
,availabilityZone
,configurationItemCaptureTime
,resourceCreationTime
,resourceId
,resourceName
,resourceType
etversion
. -
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 clauseORDER 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 siY
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
etconfiguration.dBClusterIdentifier
). -
Deux propriétés où l'une est un sous-ensemble de l'autre et qui ont une casse différente (
configuration.ipAddress
etconfiguration.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 |