Desidero risolvere gli errori con limitazioni per le query avanzate di AWS Config con risorse aggregate o di account.
Risoluzione
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 Linux?
Risorse eliminate
Non puoi utilizzare una query avanzata per le risorse eliminate. Questo perché la query avanzata può ottenere solo la configurazione corrente. Per cercare le risorse eliminate, consulta Ricerca delle 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 AWS::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 maggiori informazioni, consulta Limitazioni.
-
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'
-
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