View a markdown version of this page

使用 查詢 AWS 資源的目前組態狀態 AWS Config - AWS Config

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 查詢 AWS 資源的目前組態狀態 AWS Config

您可以使用 根據單一帳戶和區域的組態屬性 AWS Config ,或跨多個帳戶和區域來查詢 AWS 資源的目前組態狀態。您可以跨 AWS Config 支援的資源清單,針對目前的 AWS 資源狀態中繼資料執行屬性型查詢。如需支援資源類型清單的詳細資訊,請參閱支援的資源類型

進階查詢提供單一查詢端點和查詢語言,以取得目前的資源狀態中繼資料,而不執行服務特定的描述 API 呼叫。您可以使用組態彙總器,從多個帳戶和 AWS 區域的中央帳戶執行相同的查詢。

功能

AWS Config 使用結構化查詢語言 SELECT (SQL) 語法的子集,對目前的組態項目 (CI) 資料執行屬性型查詢和彙總。查詢的複雜性範圍從標籤和/或資源識別符的比對,到更複雜的查詢,例如檢視所有已停用版本控制的 Amazon S3 儲存貯體。這可讓您確切查詢所需的目前資源狀態,而無需執行 AWS 服務特定的 API 呼叫。

它支援 AVGCOUNTMAXMINSUM 等​彙總函數。

您可以將進階查詢用於:

  • 庫存管理 (例如:擷取特定大小的 Amazon EC2 執行個體清單)。

  • 安全性和營運情報 (例如,擷取啟用或停用特定組態屬性的資源清單)。

  • 成本最佳化 (例如,識別未連接到任何 EC2 執行個體的 Amazon EBS 磁碟區清單)。

  • 合規資料;例如,擷取所有一致性套件及其合規狀態的清單。

如需有關如何使用 AWS SQL 查詢語言的資訊,請參閱什麼是 SQL (結構化查詢語言)?

限制

注意

進階查詢不支援查詢尚未設定為由組態記錄器記錄的資源。當資源被發現但未設定為由組態記錄器記錄configurationItemStatus時, 會在 ResourceNotRecorded中使用 AWS Config 建立組態項目 (CIs)。雖然彙總工具會彙總這些 CI,但進階查詢不支援查詢具有 ResourceNotRecorded 的 CI。請更新您的記錄器設定,以啟用要查詢之資源類型的記錄。

做為 SQL SELECT 的子集,其查詢語法有下列限制:

  • 查詢中不支援 ALLASDISTINCTFROMHAVINGJOINUNION 關鍵字。不支援 NULL 值查詢。

  • 不支援在查詢中直接建立優先順序欄位的複雜CASE陳述式。

  • 不支援查詢第三方資源。使用進階查詢擷取的第三方資源,會將組態欄位設定為 NULL

  • 不支援使用 SQL 查詢解壓縮的巢狀結構 (例如標籤)。

  • 不支援查詢已刪除的資源。若要探索已刪除的資源,請參閱查詢探索的資源 AWS Config

  • SELECT 所有欄位速記 (也就是 SELECT *) 只會選取 CI 最上層的純量屬性。傳回的純量屬性為 accountIdawsRegionarnavailabilityZoneconfigurationItemCaptureTimeresourceCreationTimeresourceIdresourceNameresourceTypeversion

  • 萬用字元限制:

    • 只支援對屬性值使用萬用字元,對屬性金鑰不支援 (例如:支援 ...WHERE someKey LIKE 'someValue%',但不支援 ...WHERE 'someKey%' LIKE 'someValue%')。

    • 僅支援尾碼萬用字元 (例如:支援 ...LIKE 'AWS::EC2::%'...LIKE 'AWS::EC2::_',但不支援 ...LIKE '%::EC2::Instance'...LIKE '_::EC2::Instance')。

    • 萬用字元符合項目的長度必須至少為三個字元 (例如,允許 ...LIKE 'abc%'...LIKE 'abc_',但不允許 ...LIKE 'ab%'...LIKE 'ab_')。

    注意

    系統也會將 "_" (單底線) 視為萬用字元。

  • 彙總限制:

    • 彙總函數只能接受單一引數或屬性。

    • 彙總函數無法將其他函數視為引數。

    • 具有 ORDER BY 子句 (參考彙總函數) 的 GROUP BY,可能只包含單一屬性。

    • 所有其他彙總 GROUP BY 子句可以最多包含三個屬性。

    • 除非 ORDER BY 子句具有彙總函數,否則所有彙總查詢都支援分頁功能。例如,如果 Y 是彙總函數,則 GROUP BY X, ORDER BY Y 沒有作用。

    • 彙總不支援 HAVING 子句。

  • 不相符的識別符限制:

    不相符的識別符是具有相同拼字,但大小寫不同的屬性。進階查詢不支援處理包含不相符識別符的查詢。例如:

    • 兩個屬性具有完全相同的拼字,但具有不同的大小寫 (configuration.dbclusterIdentifierconfiguration.dBClusterIdentifier)。

    • 兩個屬性,其中一個屬性是另一個屬性的子集,並且具有不同的大小寫 (configuration.ipAddressconfiguration.ipaddressPermissions)。

進階查詢的 CIDR 表示法/IP 範圍行為

CIDR 標記法會轉換為 IP 範圍以供搜尋。

這意味著 "=""BETWEEN" 會搜尋包含所提供 IP 的任何範圍,而不是確切的 IP。

若要搜尋確切的 IP 範圍,您需要新增其他條件以排除範圍以外的 IP。

範例搜尋確切 CIDR 區塊 10.0.0.0/24
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'
範例搜尋確切 IP 地址 192.168.0.2/32
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'

進階查詢陣列行為內的多個屬性

查詢物件陣列內的多個屬性時,會根據所有陣列元素來計算相符項目。

例如,對於具有規則 A 和 B 的資源 R,資源符合規則 A,但不符合規則 B。則資源 R 儲存為:

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

R 將通過下列查詢傳回:

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

第一個條件configuration.configRuleList.complianceType = 'non_compliant'會套用至 R.configRuleList 中的 ALL 元素,因為 R 具有 complianceType = 'non_compliant' 的規則 (規則 B),因此會將條件評估為 true。

第二個條件configuration.configRuleList.configRuleName會套用至 R.configRuleList 中的 ALL 元素,因為 R 具有 configRuleName = 'A' 的規則 (規則 A),因此會將條件評估為 true。由於這兩個條件都為 True,R 將被傳回。

支援的資源類型

並非所有 AWS Config 支援 的資源類型都可以在進階查詢中查詢。此外,組態項目中的某些欄位是不可搜尋的。不可搜尋的欄位可能會在結果中傳回,並在查詢SELECT的部分中使用,但無法在查詢的其他部分中使用,例如 WHEREGROUP BYORDER BY

如需可搜尋欄位和資源類型的完整清單,請參閱進階查詢支援的資源類型

區域支援

下列區域支援進階查詢:

區域名稱 區域 端點 通訊協定
美國東部 (俄亥俄) us-east-2 config.us-east-2.amazonaws.com HTTPS
美國東部 (維吉尼亞北部) us-east-1 config.us-east-1.amazonaws.com HTTPS
美國西部 (加利佛尼亞北部) us-west-1 config.us-west-1.amazonaws.com HTTPS
美國西部 (奧勒岡) us-west-2 config.us-west-2.amazonaws.com HTTPS
Africa (Cape Town) af-south-1 config.af-south-1.amazonaws.com HTTPS
亞太區域 (香港) ap-east-1 config.ap-east-1.amazonaws.com HTTPS
亞太區域 (海德拉巴) ap-south-2 config.ap-south-2.amazonaws.com HTTPS
亞太區域 (雅加達) ap-southeast-3 config.ap-southeast-3.amazonaws.com HTTPS
亞太地區 (馬來西亞) ap-southeast-5 config.ap-southeast-5.amazonaws.com HTTPS
亞太區域 (墨爾本) ap-southeast-4 config.ap-southeast-4.amazonaws.com HTTPS
亞太區域 (孟買) ap-south-1 config.ap-south-1.amazonaws.com HTTPS
亞太區域 (紐西蘭) ap-southeast-6 config.ap-southeast-6.amazonaws.com HTTPS
亞太區域 (大阪) ap-northeast-3 config.ap-northeast-3.amazonaws.com HTTPS
亞太區域 (首爾) ap-northeast-2 config.ap-northeast-2.amazonaws.com HTTPS
亞太區域 (新加坡) ap-southeast-1 config.ap-southeast-1.amazonaws.com HTTPS
亞太區域 (雪梨) ap-southeast-2 config.ap-southeast-2.amazonaws.com HTTPS
亞太區域 (台北) ap-east-2 config.ap-east-2.amazonaws.com HTTPS
亞太區域 (泰國) ap-southeast-7 config.ap-southeast-7.amazonaws.com HTTPS
亞太區域 (東京) ap-northeast-1 config.ap-northeast-1.amazonaws.com HTTPS
加拿大 (中部) ca-central-1 config.ca-central-1.amazonaws.com HTTPS
加拿大西部 (卡加利) ca-west-1 config.ca-west-1.amazonaws.com HTTPS
歐洲 (法蘭克福) eu-central-1 config.eu-central-1.amazonaws.com HTTPS
歐洲 (愛爾蘭) eu-west-1 config.eu-west-1.amazonaws.com HTTPS
歐洲 (倫敦) eu-west-2 config.eu-west-2.amazonaws.com HTTPS
歐洲 (米蘭) eu-south-1 config.eu-south-1.amazonaws.com HTTPS
歐洲 (巴黎) eu-west-3 config.eu-west-3.amazonaws.com HTTPS
歐洲 (西班牙) eu-south-2 config.eu-south-2.amazonaws.com HTTPS
歐洲 (斯德哥爾摩) eu-north-1 config.eu-north-1.amazonaws.com HTTPS
歐洲 (蘇黎世) eu-central-2 config.eu-central-2.amazonaws.com HTTPS
以色列 (特拉維夫) il-central-1 config.il-central-1.amazonaws.com HTTPS
墨西哥 (中部) mx-central-1 config.mx-central-1.amazonaws.com HTTPS
中東 (巴林) me-south-1 config.me-south-1.amazonaws.com HTTPS
中東 (阿拉伯聯合大公國) me-central-1 config.me-central-1.amazonaws.com HTTPS
南美洲 (聖保羅) sa-east-1 config.sa-east-1.amazonaws.com HTTPS
AWS GovCloud (美國東部) us-gov-east-1 config.us-gov-east-1.amazonaws.com HTTPS
AWS GovCloud (美國西部) us-gov-west-1 config.us-gov-west-1.amazonaws.com HTTPS