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.
Tópicos
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,JOINeUNIONem uma consulta. Não há suporte para consultas com valorNULL. -
Não é possível usar declarações
CASEcomplexas 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
SELECTde todas as colunas (ou seja,SELECT *) seleciona somente propriedades escalares de nível superior de um CI. As propriedades escalares retornadas sãoaccountId,awsRegion,arn,availabilityZone,configurationItemCaptureTime,resourceCreationTime,resourceId,resourceName,resourceType, eversion. -
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 BYcom uma cláusulaORDER BYque faz referência às funções agregadas pode conter somente uma única propriedade. -
Para todas as outras agregações, as cláusulas
GROUP BYpodem conter até três propriedades. -
A paginação é compatível com todas as consultas agregadas, exceto quando a cláusula
ORDER BYtem uma função agregada. Por exemplo,GROUP BY X, ORDER BY Ynão funciona seYfor uma função agregada. -
Não há suporte para cláusulas
HAVINGnas 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.dbclusterIdentifiereconfiguration.dBClusterIdentifier). -
Duas propriedades em que uma propriedade é um subconjunto da outra e elas têm letras maiúsculas e minúsculas diferentes (
configuration.ipAddresseconfiguration.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 |