Consulta usando o Editor de consultas SQL (AWS CLI) - AWS Config

Consulta usando o Editor de consultas SQL (AWS CLI)

O AWS CLI é uma ferramenta unificada para gerenciar seus serviços da AWS. Com apenas uma ferramenta para baixar e configurar, você pode controlar vários serviços da AWS pela linha de comando e usar scripts automatizá-los. Para obter mais informações sobre a AWS CLI e para obter instruções sobre como instalar as ferramentas da AWS CLI, consulte o seguinte no AWS Command Line Interface Guia do usuário.

Se necessário, insira aws configure para configurar a AWS CLI para usar uma Região da AWS onde as consultas avançadas estão disponíveis.

Considerações

Pré-requisitos

Se estiver usando uma das seguintes políticas gerenciadas pela AWS, você terá as permissões necessárias para executar e salvar uma consulta: AWSServiceRoleForConfig (função vinculada ao serviço) ou AWS_ConfigRole.

Caso contrário, você deverá ter as permissões incluídas na política gerenciada pela AWS AWSConfigUserAccess.

Lista de propriedades que você pode consultar

Uma lista atualizada de propriedades e seus tipos de dados está disponível no GitHub.

Consultas e agregadores avançados

Para executar uma consulta em um agregador, crie um agregador. Para ter mais informações, consulte Criação de agregadores.

Se você já tiver um agregador configurado, no escopo da consulta, escolha-o para executar uma consulta avançada nesse agregador. Ao selecionar um agregador, considere adicionar o ID da Conta da AWS e a região da AWS na instrução da consulta para visualizar essas informações nos resultados.

Dados de configuração do recurso de consulta

Como consultar os dados de configuração de recursos usando o editor de consultas (AWS CLI) para uma única conta e região
  1. Abra um prompt de comando ou uma janela do terminal.

  2. Insira o comando a seguir para consultar os dados de configuração do recurso.

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

    Dependendo da consulta, a saída será semelhante à seguinte:

    { "QueryInfo": { "SelectFields": [ { "Name": "resourceId" } ] }, "Results": [ "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}" ] }
Como consultar os dados de configuração de recursos usando o editor de consultas (AWS CLI) para várias contas e regiões
  1. Abra um prompt de comando ou uma janela do terminal.

  2. Insira o comando a seguir para consultar os dados de configuração do recurso.

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

    Dependendo da consulta, a saída será semelhante à seguinte:

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

    Ao usar os tipos de recurso AWS::IAM::User, AWS::IAM::Group, AWS::IAM::Role e AWS::IAM::Policy em uma consulta avançada, use awsRegion = 'global'.

Salvar uma consulta

  1. Abra um prompt de comando ou uma janela do terminal.

  2. Insira o comando a seguir para salvar uma 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. Dependendo da consulta, a saída será semelhante à seguinte:

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

    --tags é opcional. Quando você passa as tags, as tags salvas não serão retornadas por list-stored-queries ou get-stored-query. Você deve usar list-tag-for-resources para recuperar as tags associadas a uma consulta salva.

    --description é opcional ao criar ou atualizar uma consulta.

Exibir todas as consultas salvas

  1. Insira o comando a seguir para ver a lista de todas as consultas salvas.

    aws configservice list-stored-queries
  2. Dependendo da consulta, a saída será semelhante à seguinte:

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

Obter detalhes de uma consulta salva

  1. Insira o comando a seguir para obter detalhes de uma consulta salva específica.

    aws configservice get-stored-query --query-name cli-test
  2. Dependendo da consulta, a saída será semelhante à seguinte:

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

Excluir uma consulta salva

  • Insira o comando a seguir para excluir sua consulta salva.

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

Se for bem sucedido, o comando será executado sem saída adicional.