Come posso risolvere gli errori con limitazioni per le query avanzate di AWS Config?

3 minuti di lettura
0

Come posso risolvere gli errori con limitazioni per le query avanzate di AWS Config con risorse aggregate o di account?

Soluzione

Usa le seguenti soluzioni alternative per il tuo caso d'uso con una query avanzata.

Nota: È necessario disporre dell'autorizzazione per le API SelectResourceConfig e SelectAggregateResourceConfig per utilizzare la query avanzata. Per ulteriori informazioni, consulta Invia query con SQL editor (Console).

Versioni del sistema operativo delle istanze Amazon EC2

La query avanzata non può ottenere l'elenco di tutti i sistemi operativi in esecuzione nelle istanze di Amazon Elastic Compute Cloud (Amazon EC2) in tutte le regioni AWS. Per verificare il sistema operativo, consulta Come posso trovare la piattaforma o la versione del sistema operativo utilizzata dalla mia istanza EC2?

Eseguire query su risorse eliminate

Non puoi utilizzare una query avanzata per le risorse eliminate. Per cercare le risorse eliminate, consulta Cercare risorse rilevate da AWS Config.

Query Amazon S3

La query avanzata non può ottenere i risultati per i bucket Amazon Simple Storage Service (Amazon S3) se l'accesso pubblico è bloccato. Questo perché il tipo di risorsa AWS Config WS::S3::AccountPublicAccessBlock restituisce risultati solo se il Blocco dell'accesso pubblico Amazon S3 è abilitato a livello di account. È possibile utilizzare una query SQL per restituire il nome e gli attributi di un bucket S3 utilizzando una query simile alla seguente:

SELECT
  resourceId,
  resourceType,
  configuration,
  supplementaryConfiguration
WHERE
  resourceType = 'AWS::S3::Bucket'

Valori SQL nulli

La query avanzata non supporta i valori SQL nulli: è necessario includere valori in modo esplicito.

Puoi recuperare un elenco di istanze Amazon EC2 con un indirizzo IP pubblico associato all'uso dell'operatore SQL BETWEEN simile al seguente:

SELECT
  accountId,
  resourceId,
  configuration.publicDnsName,
  configuration.publicIpAddress
WHERE
  resourceType = 'AWS::EC2::Instance'
  AND (
    configuration.publicIpAddress BETWEEN '0.0.0.0'
    AND '255.255.255.255'
    OR configuration.ipv6Addresses BETWEEN '0:0:0:0:0:0:0:0'
    AND 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff'
  )

Query su array nidificati

La query avanzata non supporta le query su array nidificati. Per ulteriori informazioni, consulta Limitazioni delle query avanzate.

1.    Come soluzione alternativa, puoi utilizzare una query personalizzata simile alla seguente:

SELECT
  configuration.targetResourceId,
  configuration.targetResourceType,
  configuration.complianceType,
  configuration.configRuleList
WHERE
  configuration.complianceType = 'NON_COMPLIANT'
  AND configuration.configRuleList.configRuleName = 'required-tags'

2.    Quindi, segui le istruzioni per esportare l'output come JSON.

A questo punto puoi utilizzare il processore JSON a riga di comando jq per filtrare e interrogare l'array nidificato. Per ulteriori informazioni e per scaricare jq, consulta Formato di output JSON.


Informazioni correlate

AWS Config lancia la funzionalità di salvataggio delle query avanzate

Eseguire query sullo stato di configurazione corrente delle risorse AWS

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa