Requête à l'aide de l'éditeur de SQL requêtes (AWS CLI) - 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.

Requête à l'aide de l'éditeur de SQL requêtes (AWS CLI)

AWS CLI Il s'agit d'un outil unifié pour gérer vos AWS services. Avec un seul outil à télécharger et à configurer, vous pouvez contrôler plusieurs AWS services depuis la ligne de commande et utiliser des scripts pour les automatiser. Pour plus d'informations sur les AWS CLI outils AWS CLI et pour obtenir des instructions sur leur installation, reportez-vous à ce qui suit dans le guide de AWS Command Line Interface l'utilisateur.

Si nécessaire, entrez aws configure pour configurer le AWS CLI afin d'utiliser une AWS région dans laquelle des requêtes avancées sont disponibles.

Considérations

Prérequis

Si vous utilisez l'une des politiques AWS gérées suivantes, vous aurez les autorisations nécessaires pour exécuter et enregistrer une requête : AWSServiceRoleForConfig(rôle lié au service) ou AWS _. ConfigRole

Dans le cas contraire, vous devez disposer des autorisations incluses dans la politique AWSConfigUserAccess AWS gérée.

Liste des propriétés que vous pouvez interroger

Une liste actualisée des propriétés et de leurs types de données est disponible dans GitHub.

Requêtes avancées et agrégateurs

Pour exécuter une requête sur un agrégateur, créez un agrégateur. Pour de plus amples informations, veuillez consulter Création d'agrégateurs.

Si un agrégateur est déjà configuré, dans l'étendue de la requête, choisissez l'agrégateur pour exécuter une requête avancée sur cet agrégateur. Lorsque vous sélectionnez un agrégateur, pensez à ajouter l' Compte AWS ID et la AWS région dans l'instruction de requête pour afficher ces informations dans les résultats.

Interrogation des données de configuration des ressources

Pour interroger vos données de configuration de ressources à l'aide de l'éditeur de requête (AWS CLI) pour un seul compte et une seule région
  1. Ouvrez une invite de commande ou une fenêtre de terminal.

  2. Entrez la commande suivante pour interroger les données de configuration de vos ressources.

    aws configservice select-resource-config --expression "SELECT resourceId WHERE resourceType='AWS::EC2::Instance'"

    Selon la requête, la sortie peut ressembler à ce qui suit.

    { "QueryInfo": { "SelectFields": [ { "Name": "resourceId" } ] }, "Results": [ "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}" ] }
Pour interroger vos données de configuration de ressources à l'aide de l'éditeur de requête (AWS CLI) pour plusieurs comptes et régions
  1. Ouvrez une invite de commande ou une fenêtre de terminal.

  2. Entrez la commande suivante pour interroger les données de configuration de vos ressources.

    aws configservice select-aggregate-resource-config --expression "SELECT resourceId WHERE resourceType='AWS::EC2::Instance'" --configuration-aggregator-name my-aggregator

    Selon la requête, la sortie peut ressembler à ce qui suit.

    { "QueryInfo": { "SelectFields": [ { "Name": "resourceId" } ] }, "Results": [ "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}" ] }
    Note

    Lorsque vous utilisez les types de AWS::IAM::Policy ressources AWS::IAM::User AWS::IAM::GroupAWS::IAM::Role,, et dans une requête avancée, utilisezawsRegion = 'global'.

Enregistrement d'une requête

  1. Ouvrez une invite de commande ou une fenêtre de terminal.

  2. Entrez la commande suivante pour enregistrer une requête.

    aws configservice put-stored-query --stored-query "{\"QueryName\": \"cli-test\", \"Expression\": \"SELECT *\", \"Description\": \"cli test query\" }" --tags "[{ \"Key\": \"first-tag\", \"Value\": \"\" }, { \"Key\": \"second-tag\", \"Value\": \"non-empty-tag-value\" }]"
  3. Selon la requête, la sortie peut ressembler à ce qui suit.

    { "QueryArn": "arn:aws:config:eu-central-1:Account ID:stored-query/cli-test/query-e65mijt4rmam5pab" }
    Note

    Le paramètre --tags est facultatif. Lorsque vous transmettez les balises, les balises enregistrées ne seront pas renvoyées par list-stored-queries ou get-stored-query. Vous devez utiliser list-tag-for-resources pour récupérer les balises associées à une requête enregistrée.

    --description est un champ facultatif lors de la création ou de la mise à jour d'une requête.

Affichage de toutes les requêtes enregistrées

  1. Entrez la commande suivante pour afficher la liste de toutes les requêtes enregistrées.

    aws configservice list-stored-queries
  2. Selon la requête, la sortie peut ressembler à ce qui suit.

    { "StoredQueryMetadata": [ { "QueryId": "query-e65mijt4rmam5pab", "QueryArn": "arn:aws:config:eu-central-1:Account ID:stored-query/cli-test/query-e65mijt4rmam5pab", "QueryName": "cli-test" }, { "QueryId": "query-rltwlewlqfivadxq", "QueryArn": "arn:aws:config:eu-central-1:Account ID:stored-query/cli-test-2/query-rltwlewlqfivadxq", "QueryName": "cli-test-2", "Description": "cli test query" } ] } }

Obtention des détails d'une requête enregistrée

  1. Entrez la commande suivante pour obtenir les détails d'une requête enregistrée spécifique.

    aws configservice get-stored-query --query-name cli-test
  2. Selon la requête, la sortie peut ressembler à ce qui suit.

    { "StoredQuery": { "QueryId": "query-e65mijt4rmam5pab", "QueryArn": "arn:aws:config:eu-central-1:Account ID:stored-query/cli-test/query-e65mijt4rmam5pab", "QueryName": "cli-test", "Description": "cli test query", "Expression": "SELECT *" } }

Suppression d'une requête enregistrée

  • Entrez la commande suivante pour supprimer votre requête enregistrée.

    aws configservice delete-stored-query --query-name cli-test

En cas de réussite, la commande s'exécute sans sortie supplémentaire.