Consultar o estado da configuração atual dos recursos da AWS com o AWS Config - AWS Config

Consultar o estado da configuração atual dos recursos da AWS com o AWS Config

Apresentamos um recurso de pré-visualização para consultas avançadas que permite usar recursos de inteligência artificial generativa (IA generativa) para inserir prompts em inglês simples e convertê-los em um formato de consulta pronto para uso. Para obter mais informações, consulte Natural language query processor for advanced queries.

É possível usar o AWS Config para consultar o estado de configuração atual dos recursos da AWS com base nas propriedades de configuração de uma única conta e região ou em várias contas e regiões. Você pode executar consultas baseadas em propriedade em relação aos metadados do estado atual de recursos da AWS em uma lista de recursos que o AWS Config oferece suporte. Para obter mais informações sobre a lista de tipos de recursos compatíveis, consulte Supported Resource Types for Advanced Queries.

Consultas avançadas fornece um endpoint de consulta único e uma linguagem de consulta avançada para obter os metadados do estado atual do recurso, sem realizar chamadas da API de descrição específicas do serviço. É possível usar agregadores de configuração para executar as mesmas consultas de uma conta central em várias contas e regiões da AWS.

Atributos

O AWS Config usa um subconjunto da sintaxe de SELECT da linguagem de consulta estruturada (SQL) para executar consultas baseadas em propriedade e agregações nos dados do item de configuração (CI) atual. As consultas variam em complexidade desde correspondências em relação à tag e/ou aos identificadores de recursos, até consultas mais complexas, como visualizar todos os buckets do S3 com versionamento desabilitado. Isso permite que você consulte exatamente o estado atual do recurso de que você precisa sem realizar chamadas de API para serviços específicos da AWS.

Ele oferece suporte a funções de agregação, como AVG, COUNT, MAX, MIN, e SUM.

Você pode usar as consultas avançadas para:

  • Gerenciamento de inventário, por exemplo, para recuperar uma lista de instâncias do Amazon EC2 de um determinado tamanho.

  • Segurança e inteligência operacional, por exemplo, para recuperar uma lista de recursos que tenham uma propriedade de configuração específica habilitada ou desabilitada.

  • Otimização de custos, por exemplo, para identificar uma lista de volumes do Amazon EBS que não estejam anexadas a nenhuma instância do EC2.

  • Dados de conformidade; por exemplo, recuperar uma lista de todos os seus pacotes de conformidade e seu status de conformidade.

Para obter informações sobre como usar a linguagem de consulta SQL da AWS, consulte O que é SQL (linguagem de consulta estruturada)?

Limitações

nota

A consulta avançada não oferece suporte à consulta de recursos que não foram configurados para serem registrados pelo gravador de configuração. O AWS Config cria itens de configuração (CIs) com o ResourceNotRecorded no configurationItemStatus quando um recurso é descoberto, mas não está configurado para ser registrado pelo gravador de configuração. Embora um agregador agregue esses CIs, a consulta avançada não oferece suporte à consulta de CIs com ResourceNotRecorded. Atualize as configurações do gravador para permitir a gravação dos tipos de recursos que você deseja consultar.

Como um subconjunto do SQL SELECT, a de sintaxe de consulta tem as seguintes limitações:

  • Não há suporte para as palavras-chave ALL, AS, DISTINCT, FROM, HAVING, JOIN e UNION em uma consulta. Não há suporte para consultas com valor NULL.

  • Não é possível usar declarações CASE complexas para criar um campo prioritário diretamente na consulta.

  • Não há suporte para consultas de recursos de terceiros. Recursos de terceiros recuperados usando consultas avançadas terão o campo de configuração definido como NULL.

  • Não há suporte para que estruturas aninhadas (como tags) sejam descompactadas com consultas SQL.

  • Não é possível consultar recursos excluídos. Para descobrir recursos excluídos, consulte Pesquisar recursos que são descobertos pelo AWS Config.

  • A abreviação SELECT de todas as colunas (ou seja, SELECT *) seleciona somente propriedades escalares de nível superior de um CI. As propriedades escalares retornadas são accountId, awsRegion, arn, availabilityZone, configurationItemCaptureTime, resourceCreationTime, resourceId, resourceName, resourceType, e version.

  • Limitações curinga:

    • Curingas têm suporte somente para valores de propriedade e não para chaves de propriedade (por exemplo, ...WHERE someKey LIKE 'someValue%' tem suporte, mas ...WHERE 'someKey%' LIKE 'someValue%' não).

    • Suporte somente para sufixos curingas (por exemplo, ...LIKE 'AWS::EC2::%' e ...LIKE 'AWS::EC2::_' tem suporte, mas ...LIKE '%::EC2::Instance' e ...LIKE '_::EC2::Instance' não).

    • As correspondências que envolvem curingas devem ter pelo menos três caracteres (por exemplo, ...LIKE 'ab%' e ...LIKE 'ab_' não é permitido, mas ...LIKE 'abc%' e ...LIKE 'abc_' é permitido).

    nota

    O "_" (sublinhado único) também é tratado como um curinga.

  • Limitações de agregação:

    • As funções agregadas podem aceitar somente um único argumento ou propriedade.

    • As funções agregadas não podem tomar outras funções como argumentos.

    • GROUP BY com uma cláusula ORDER BY que faz referência às funções agregadas pode conter somente uma única propriedade.

    • Para todas as outras agregações, as cláusulas GROUP BY podem conter até três propriedades.

    • A paginação é compatível com todas as consultas agregadas, exceto quando a cláusula ORDER BY tem uma função agregada. Por exemplo, GROUP BY X, ORDER BY Y não funciona se Y for uma função agregada.

    • Não há suporte para cláusulas HAVING nas agregações.

  • Limitações de identificadores incompatíveis:

    Identificadores incompatíveis são propriedades que têm a mesma grafia, mas com capitalização diferente (letras maiúsculas e minúsculas). A consulta avançada não oferece suporte ao processamento de consultas que contêm identificadores incompatíveis. Por exemplo:

    • Duas propriedades que têm exatamente a mesma grafia, mas com letras maiúsculas e minúsculas diferentes (configuration.dbclusterIdentifier e configuration.dBClusterIdentifier).

    • Duas propriedades em que uma propriedade é um subconjunto da outra e elas têm letras maiúsculas e minúsculas diferentes (configuration.ipAddress e configuration.ipaddressPermissions).

Comportamento de notação CIDR/intervalo de IP para consultas avançadas

A notação CIDR é convertida em intervalos de IP para pesquisa.

Isso significa que "=" e "BETWEEN" faz a pesquisa de qualquer intervalo que inclua o IP fornecido, em vez de um exato.

Para pesquisar um intervalo de IP exato, você precisa inserir condições adicionais para excluir IPs fora do intervalo.

exemplo Pesquisar o bloco CIDR 10.0.0.0/24 exato
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'
exemplo Pesquisar o endereço IP 192.168.0.2/32 exato
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'

Várias propriedades em um comportamento de matriz para consultas avançadas

Ao consultar várias propriedades dentro de uma matriz de objetos, as correspondências são calculadas em relação a todos os elementos da matriz.

Por exemplo, para um recurso R com as regras A e B, o recurso está em conformidade com a regra A, mas não está em conformidade com a regra B. O recurso R é armazenado como:

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

R será retornado por esta consulta:

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

A primeira condição configuration.configRuleList.complianceType = 'non_compliant' é aplicada a TODOS os elementos em R.configRuleList, porque R tem uma regra (regra B) com complianceType = 'non_compliant', caso em que a condição é avaliada como verdadeira.

A segunda condição configuration.configRuleList.configRuleName é aplicada a TODOS os elementos em R.configRuleList, porque R tem uma regra (regra A) com configRuleName = 'A', caso em que a condição é avaliada como verdadeira. Como ambas as condições são verdadeiras, R será retornado.

Suporte regional

As consultas avançadas têm suporte nas seguintes regiões:

Nome da Região Região Endpoint Protocolo
Leste dos EUA (Ohio) us-east-2 config.us-east-2.amazonaws.com HTTPS
Leste dos EUA (Norte da Virgínia) us-east-1 config.us-east-1.amazonaws.com HTTPS
Oeste dos EUA (N. da Califórnia) us-west-1 config.us-west-1.amazonaws.com HTTPS
Oeste dos EUA (Oregon) us-west-2 config.us-west-2.amazonaws.com HTTPS
África (Cidade do Cabo) af-south-1 config.af-south-1.amazonaws.com HTTPS
Ásia-Pacífico (Hong Kong) ap-east-1 config.ap-east-1.amazonaws.com HTTPS
Ásia-Pacífico (Hyderabad) ap-south-2 config.ap-south-2.amazonaws.com HTTPS
Ásia-Pacífico (Jacarta) ap-southeast-3 config.ap-southeast-3.amazonaws.com HTTPS
Ásia-Pacífico (Malásia) ap-southeast-5 config.ap-southeast-5.amazonaws.com HTTPS
Ásia-Pacífico (Melbourne) ap-southeast-4 config.ap-southeast-4.amazonaws.com HTTPS
Ásia-Pacífico (Mumbai) ap-south-1 config.ap-south-1.amazonaws.com HTTPS
Ásia-Pacífico (Nova Zelândia) ap-southeast-6 config.ap-southeast-6.amazonaws.com HTTPS
Ásia-Pacífico (Osaka) ap-northeast-3 config.ap-northeast-3.amazonaws.com HTTPS
Ásia-Pacífico (Seul) ap-northeast-2 config.ap-northeast-2.amazonaws.com HTTPS
Ásia-Pacífico (Singapura) ap-southeast-1 config.ap-southeast-1.amazonaws.com HTTPS
Ásia-Pacífico (Sydney) ap-southeast-2 config.ap-southeast-2.amazonaws.com HTTPS
Ásia-Pacífico (Taipei) ap-east-2 config.ap-east-2.amazonaws.com HTTPS
Ásia-Pacífico (Tailândia) ap-southeast-7 config.ap-southeast-7.amazonaws.com HTTPS
Ásia-Pacífico (Tóquio) ap-northeast-1 config.ap-northeast-1.amazonaws.com HTTPS
Canadá (Central) ca-central-1 config.ca-central-1.amazonaws.com HTTPS
Oeste do Canadá (Calgary) ca-west-1 config.ca-west-1.amazonaws.com HTTPS
Europa (Frankfurt) eu-central-1 config.eu-central-1.amazonaws.com HTTPS
Europa (Irlanda) eu-west-1 config.eu-west-1.amazonaws.com HTTPS
Europa (Londres) eu-west-2 config.eu-west-2.amazonaws.com HTTPS
Europa (Milão) eu-south-1 config.eu-south-1.amazonaws.com HTTPS
Europa (Paris) eu-west-3 config.eu-west-3.amazonaws.com HTTPS
Europa (Espanha) eu-south-2 config.eu-south-2.amazonaws.com HTTPS
Europa (Estocolmo) eu-north-1 config.eu-north-1.amazonaws.com HTTPS
Europa (Zurique) eu-central-2 config.eu-central-2.amazonaws.com HTTPS
Israel (Tel Aviv) il-central-1 config.il-central-1.amazonaws.com HTTPS
México (Central) mx-central-1 config.mx-central-1.amazonaws.com HTTPS
Oriente Médio (Barém) me-south-1 config.me-south-1.amazonaws.com HTTPS
Oriente Médio (Emirados Árabes Unidos) me-central-1 config.me-central-1.amazonaws.com HTTPS
América do Sul (São Paulo) sa-east-1 config.sa-east-1.amazonaws.com HTTPS
AWS GovCloud (Leste dos EUA) us-gov-east-1 config.us-gov-east-1.amazonaws.com HTTPS
AWS GovCloud (Oeste dos EUA) us-gov-west-1 config.us-gov-west-1.amazonaws.com HTTPS