Consultas mediante el editor de consultas de SQL para AWS Config (AWS CLI) - AWS Config

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Consultas mediante el editor de consultas de SQL para AWS Config (AWS CLI)

La AWS CLI es una herramienta unificada para administrar los servicios de AWS. Solo necesita descargar y configurar una herramienta para poder controlar varios servicios de AWS desde la línea de comandos y usar scripts para automatizarlos. Para obtener más información sobre la AWS CLI y para obtener instrucciones sobre la instalación de herramientas de la AWS CLI, consulte lo siguiente en la Guía del usuario de AWS Command Line Interface.

Si es necesario, introduzca aws configure para definir que la AWS CLI utilice una región de AWS en la que las consultas avanzadas estén disponibles.

Consideraciones

Requisitos previos

Si utiliza una de las siguientes políticas administradas de AWS, tendrá los permisos necesarios para ejecutar y guardar una consulta: AWSServiceRoleForConfig (rol vinculado al servicio) o AWS_ConfigRole.

De lo contrario, debe tener los permisos incluidos en la política administrada AWSConfigUserAccess de AWS.

Lista de propiedades que puede consultar

En GitHub puede ver una lista actualizada de las propiedades y sus tipos de datos.​​

Consultas avanzadas y agregadores

Para ejecutar una consulta en un agregador, cree un agregador. Para obtener más información, consulte Creación de agregadores para AWS Config.

Si ya tiene configurado un agregador, en el ámbito de la consulta, elija el agregador para ejecutar una consulta avanzada en ese agregador. Cuando seleccione un agregador, valore la posibilidad de añadir el ID de la Cuenta de AWS y la región de AWS en la instrucción de consulta, a fin de ver esa información en los resultados.

Consulta de los datos de configuración de los recursos

Para consultar los datos de configuración de recursos mediante el editor de consultas (AWS CLI) para una sola cuenta y región
  1. Abra un símbolo del sistema o una ventana de terminal.

  2. Introduzca el siguiente comando para hacer consultas en los datos de configuración de recursos.

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

    En función de la consulta, el resultado tiene un aspecto similar al siguiente:

    { "QueryInfo": { "SelectFields": [ { "Name": "resourceId" } ] }, "Results": [ "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}" ] }
Para consultar los datos de configuración de recursos mediante el editor de consultas (AWS CLI) para varias cuentas y regiones
  1. Abra un símbolo del sistema o una ventana de terminal.

  2. Introduzca el siguiente comando para hacer consultas en los datos de configuración de recursos.

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

    En función de la consulta, el resultado tiene un aspecto similar al siguiente:

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

    Si utiliza los tipos de recursos AWS::IAM::User, AWS::IAM::Group, AWS::IAM::Role y AWS::IAM::Policy en una consulta avanzada, use awsRegion = 'global'.

Guardar una consulta

  1. Abra un símbolo del sistema o una ventana de terminal.

  2. Introduzca el siguiente comando para guardar una consulta.

    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. En función de la consulta, el resultado tiene un aspecto similar al siguiente:

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

    --tags es opcional. Al pasar las etiquetas, ni list-stored-queries ni get-stored-query devolverán las etiquetas guardadas. Debe utilizar list-tag-for-resources para recuperar las etiquetas asociadas a una consulta guardada.

    --description es opcional al crear o actualizar una consulta.

Ver todas las consultas guardadas

  1. Introduzca el siguiente comando para ver la lista de todas las consultas guardadas.

    aws configservice list-stored-queries
  2. En función de la consulta, el resultado tiene un aspecto similar al siguiente:

    { "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" } ] } }

Obtener detalles de una consulta guardada

  1. Introduzca el siguiente comando para obtener detalles sobre una consulta guardada específica.

    aws configservice get-stored-query --query-name cli-test
  2. En función de la consulta, el resultado tiene un aspecto similar al siguiente:

    { "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 *" } }

Eliminar una consulta guardada

  • Introduzca el siguiente comando para eliminar una consulta guardada.

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

Si se ejecuta correctamente, el comando no muestra ninguna otra salida.