證據搜尋工具問題疑難排解 - AWS Audit Manager

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

證據搜尋工具問題疑難排解

請參考此頁面提供的資訊,解決 Audit Manager 中常見的證據搜尋工具問題。

我無法啟用證據搜尋工具

無法啟用證據搜尋工具的常見原因如下:

您缺少權限

如果您是第一次嘗試啟用證據查找器,請確保您具有啟用證據查找器的必要權限。這些權限可讓您建立和管理 CloudTrail Lake 中的事件資料存放區,這對於支援證據搜尋器搜尋查詢是必要的。許可還允許您在證據搜尋工具中執行搜尋查詢。

如果您需要權限方面的協助,請聯絡您的 AWS 管理員。如果您是 AWS 系統管理員,您可以複製必要的權限陳述式,並將其附加至IAM原則

您正在使用組織管理帳戶

請記住,您無法使用管理帳戶來啟用證據搜尋工具。以委派系統管理員帳戶身分登入,然後重試。

您之前已停用證據搜尋工具

目前不支援重新啟用證據搜尋工具。如果您之前已停用證據搜尋工具,則無法再次啟用它。

我已啟用證據搜尋工具,但在搜尋結果中看不到過去的證據

當您啟用證據搜尋工具時,您過去的所有證據資料,最多需要 7 天才能存取使用。

在這 7 天期間,事件資料存放區會回填您過去兩年的證據資料。這意味著,如果您在啟用證據搜尋工具後立即使用操作,則在完成回填之前,無法獲取完整的搜尋結果。

如需如何檢查資料回填狀態的指示,請參閱確認證據搜尋器的狀態

我無法停用證據搜尋工具

這可能由以下其中一個原因造成。

您缺少權限

如果您嘗試禁用證據查找器,請確保您具有禁用證據查找器的所需權限。這些權限可讓您更新和刪除 CloudTrail Lake 中的事件資料儲存區,這對於停用證據搜尋工具是必要的。

如果您需要權限方面的協助,請聯絡您的 AWS 管理員。如果您是 AWS 系統管理員,您可以複製必要的權限陳述式,並將其附加至IAM原則

啟用證據搜尋工具的要求仍在進行中

當您要求啟用證據搜尋工具時,我們會建立一個事件資料存放區,以支援證據搜尋工具查詢。建立事件資料存放區時,您無法停用證據搜尋工具。

若要繼續,請等到事件資料存放區建立完成,然後再試一次。如需詳細資訊,請參閱 確認證據搜尋器的狀態

您已要求停用證據搜尋工具

當您要求停用證據搜尋工具時,我們會刪除用於證據搜尋工具查詢的事件資料存放區。如果您在刪除事件資料存放區時再次嘗試停用證據搜尋工具,您會收到錯誤訊息。

在這種情況下,不需要採取任何動作。等待事件資料存放區刪除。一旦完成,證據搜尋工具將被禁用。如需詳細資訊,請參閱 確認證據搜尋器的狀態

我的搜尋查詢失敗

失敗的搜尋查詢可能由以下其中一項原因造成。

您缺少權限

驗證使用者是否具備執行搜尋查詢和存取搜尋結果的所需權限。具體而言,您需要下列 CloudTrail 動作的權限:

如果您需要權限方面的協助,請聯絡您的 AWS 管理員。如果您是 AWS 系統管理員,您可以複製必要的權限陳述式,並將其附加至IAM原則

您的查詢數目已達上限

您一次最多可以執行 5 個查詢。如果您同時執行的查詢數目已達上限,則會導致 MaxConcurrentQueriesException 錯誤。如果您收到這個錯誤訊息,請稍候一分鐘讓部分查詢完成,然後再次執行查詢。

您的查詢陳述式有驗證錯誤

如果您使用API或CLI來執行 CloudTrail Lake StartQuery作業,請確定您的queryStatement是有效的。如果查詢陳述式有驗證錯誤、語法不正確或不支援的關鍵字,這會導致 InvalidQueryStatementException

如需有關撰寫查詢的詳細資訊,請參閱 AWS CloudTrail 使用指南中的建立或編輯查詢

如需有效語法的範例,請檢閱下列可用來查詢 Audit Manager 事件資料存放區的查詢陳述式範例。

範例 1:調查證據及其合規狀態

此範例會在指定日期範圍內,尋找帳戶中所有評估中具有任何合規狀態的證據。

SELECT eventData.evidenceId, eventData.resourceArn, eventData.resourceComplianceCheck FROM $EDS_ID WHERE eventTime > '2022-11-02 00:00:00.000' AND eventTime < '2022-11-03 00:00:00.000'
範例 2:判斷控制項的不合規證據

此範例會尋找特定評估和控制項在指定日期範圍內的所有不合規證據。

SELECT * FROM $EDS_ID WHERE eventData.assessmentId = '11aa33bb-55cc-77dd-99ee-ff22gg44hh66' AND eventTime > '2022-10-27 22:05:00.000' AND eventTime < '2022-11-03 22:05:00.000' AND eventData.resourceComplianceCheck IN ('NON_COMPLIANT','FAILED','WARNING') AND eventData.controlId IN ('aa11bb22-cc33-dd44-ee55-ff66gg77hh88')
範例 3:按名稱計算證據

此範例會列出指定日期範圍內評估的總證據,並依名稱分組,並依證據計數排序。

SELECT eventData.eventName as eventName, COUNT(*) as totalEvidence FROM $EDS_ID WHERE eventData.assessmentId = '11aa33bb-55cc-77dd-99ee-ff22gg44hh66' AND eventTime > '2022-10-27 22:05:00.000' AND eventTime < '2022-11-03 22:05:00.000' GROUP BY eventData.eventName ORDER BY totalEvidence DESC
範例 4:依資料來源和服務探索證據

此範例會尋找特定資料來源和服務在指定日期範圍內的所有證據。

SELECT * FROM $EDS_ID WHERE eventTime > '2022-10-27 22:05:00.000' AND eventTime < '2022-11-03 22:05:00.000' AND eventData.service IN ('dynamodb') AND eventData.dataSource IN ('AWS API calls')
範例 5:依資料來源和控制項域探索合規證據

此範例會尋找特定控制網域的合規證據,其中證據來自非 AWS Config 的資料來源。

SELECT * FROM $EDS_ID WHERE eventData.resourceComplianceCheck IN ('PASSED','COMPLIANT') AND eventData.controlDomainName IN ('Logging and monitoring','Data security and privacy') AND eventData.dataSource NOT IN ('AWS Config')
其他API例外

StartQueryAPI可能由於其他幾個原因而失敗。如需可能錯誤和描述的完整清單,請參閱AWS CloudTrail API參考中的StartQuery 錯誤

我看到控制域被標記為「過時」。這代表什麼意思?

當您在證據尋找器中套用控制網域篩選器時,您可能會注意到某些可用的控制網域被描述為「已過期」。

證據查找器中過時的控制域過濾器的屏幕截圖。

自 2024 年 6 月 6 日起,Audit Manager 支援控制目錄所提供的一組新 AWS 控制網域。若要擷取這些控制網域的清單,請參閱控AWS 制項目錄API參考ListDomains中的〈〉。

如果控制網域標記為 [過期],這表示您檢視的控制網域不是控制項目錄所提供的新控 AWS 制網域之一。Audit Manager 會繼續支援這些過時的控制網域,以便您在搜尋證據時仍可使用這些控制網域做為條件。

雖然我們會繼續支援過時的控制網域,但我們建議您改用新的控制網域。新的控制項網域會對應至 2024 年 6 月 6 日作為通用控制項程式庫的一部分啟動的更新標準控制項。在這個日期,我們發布了更新的標準控制項,可以從AWS 託管來源收集證據。這表示每當針對一般或核心控制項的基礎資料來源有更新時,Audit Manager 就會自動將相同的更新套用至所有相關的標準控制項。

我無法從搜尋結果中產生多個評估報告

此錯誤是由於同時執行太多 CloudTrail Lake 查詢所致。

如果您將搜尋結果分組,並嘗試針對群組結果中的每個明細項目立即產生評估報告,就會發生此錯誤。當您取得搜尋結果並產生評估報告時,每個動作都會觸發一次查詢。您一次最多可以執行 5 個查詢。如果您同時執行的查詢數目已達上限,則會返回 MaxConcurrentQueriesException 錯誤。

若要避免發生此錯誤,請確保您沒有一次產生過多的評估報告。如果您同時執行的查詢數目已達上限,則會返回 MaxConcurrentQueriesException 錯誤。如果您收到此錯誤訊息,請等待幾分鐘,讓進行中的評估報告完成。

您可以從 Audit Manager 主控台的下載中心頁面,檢查評估報告的狀態。報告完成後,在證據搜尋工具中返回您的分組結果。然後,您可以繼續取得結果,並為每個明細項目產生評估報告。

我無法在搜尋結果中加入特定證據

您的所有搜尋結果都包含在評估報告中。您無法從搜尋結果集中選擇性地新增個別列。

如果您只想在評估報告中包含特定的搜尋結果,建議您編輯目前的搜尋篩選器。如此一來,您就可以縮小結果範圍,僅鎖定您要包含在報告中的證據。

在評估報告中,並未包含所有來自證據搜尋工具的查找結果

當您產生評估報告時,您可以新增的證據數量有限。此限制取決於您 AWS 區域 的評估、用作評估報告目標的 S3 儲存貯體區域,以及您的評估是否使用受管的客戶 AWS KMS key。

  1. 相同區域報告的上限為 22,000 (S3 儲存貯體和評估都在同一個 AWS 區域的情況下)

  2. 跨區域報告的上限為 3,500 (S3 儲存貯體和評估在不同 AWS 區域的情況下)

  3. 如果評估使用客戶管理的KMS金鑰,則上限為 3,500

如果您超過此限制,報告仍會建立。不過,Audit Manager 只會將前 3,500 或 22,000 個證據項目新增至報告。

若要避免發生此問題,建議您編輯目前的搜尋篩選器。如此一來,您就可以針對較少量的證據來減少搜尋結果。如果需要,您可以重複此方法並產生多個評估報告,而不是一個較大的報告。

我想從搜尋結果中產生評估報告,但我的查詢陳述式執行失敗

如果您使用的是,CreateAssessmentReportAPI且您的查詢陳述式傳回驗證例外狀況,請查看下表以取得如何修正此問題的指引。

注意

即使查詢陳述式在中運作 CloudTrail,相同的查詢對於在 Audit Manager 中產生評估報告可能無效。這是因為兩個服務之間的查詢驗證有些差異。

子句 問題 解決方案 備註

SELECT

SELECT 子句包含一個列名

移除 SELECT 子句並替換為 SELECT eventJson

僅支援 SELECT eventJson

此驗證由 Audit Manager 處理。

FROM

FROM 子句包含無效的事件資料存放區 ID

提供的事件資料存放區 ID 與 Audit Manager 設定中的事件資料存放區 ID 不符

移除子句 FROM 並替換為FROM edsID,其中的值 edsID 與 Audit Manager 設定中指定的事件資料存放區 ID 相符。

您可以從 Audit Manager 設定中擷取事件資料倉庫ARN的。如需詳細資訊,請參閱〈AWS Audit Manager API參考GetSettings中的〈〉。

此驗證由 Audit Manager 處理。

GROUP BY

查詢中存在一個 GROUP BY 子句

移除 GROUP BY 子句。

此驗證由 Audit Manager 處理。

HAVING

查詢中存在一個 HAVING 子句

移除 HAVING 子句。

此驗證由 Audit Manager 處理。

LIMIT

LIMIT 子句包含的值超過允許的最大限制

如果 LIMIT 子句存在,請確保其值等於或小於支援的最大限制:

  • 對於同區域報表,上限為 22,000

  • 對於跨區域報表,上限為 3,500

  • 對於相關評估使用客戶管理的報表 AWS KMS key,上限為 3,500

在主控台中,可傳回的證據結果數量沒有限制。不過,產生評估報告時,您可以包含的證據數量會有限制。

如果您的查詢陳述式中未提供任何 LIMIT 值,則會套用預設的最大限制。

此驗證由 Audit Manager 處理。

ORDER BY

ORDER BY 子句包含 SELECT 子句中不存在的彙總函數別名

請確保 ORDER BY 子句不包含任何使用彙總函數別名的條件。

此驗證由處理 CloudTrail StartQuery API。

WHERE

WHERE 子句包含多個 assessmentId

WHERE 子句包含一個 assessmentId,其與您的 createAssessmentReport 要求的 assessmentId 不相符。

WHERE 子句包含一個不支援的列名

請確定只指定一個評估 ID,而且它符合您在請求中指定的assessmentId createAssessmentReportAPI參數

移除任何不支援的欄位名稱。

此驗證由處理 CloudTrail StartQuery API。

範例

下列範例說明如何在呼叫CreateAssessmentReport作業時使用queryStatement參數。在您使用這些查詢之前,請先取代 placeholder text 用你自己的edsIdassessmentId價值觀。

範例 1:建立報表(適用相同區域限制)

此範例會建立一個報告,其中包含在 2022 年 1 月 22 日至 23 日之間建立之 S3 儲存貯體的結果。

SELECT eventJson FROM 12345678-abcd-1234-abcd-123456789012 WHERE eventData.assessmentId = '11aa33bb-55cc-77dd-99ee-ff22gg44hh66' AND eventTime > '2022-01-22 00:00:00.000' AND eventTime < '2022-01-23 00:00:00.000' AND eventName='CreateBucket' LIMIT 22000
範例 1:建立報表(適用跨區域限制)

此範例會建立一個報告,其中包含指定事件資料存放區和評估的所有結果,但未指定日期範圍。

SELECT eventJson FROM 12345678-abcd-1234-abcd-123456789012 WHERE eventData.assessmentId = '11aa33bb-55cc-77dd-99ee-ff22gg44hh66' LIMIT 7000
範例 3:建立報告(在預設限制下)

此範例會建立一個報告,其中包含指定事件資料存放區和評估的所有結果,其上限低於預設最大值。

SELECT eventJson FROM 12345678-abcd-1234-abcd-123456789012 WHERE eventData.assessmentId = '11aa33bb-55cc-77dd-99ee-ff22gg44hh66' LIMIT 2000

其他資源

下列頁面提供關於評估報告的一般疑難問題排解指南:

我的CSV匯出失敗

您的CSV匯出失敗可能有多種原因。您可以透過檢查常見原因來對此問題進行故障排除。

首先,請確定您符合使用CSV匯出功能的先決條件:

您已成功啟用證據搜尋工具

如果您尚未啟用證據搜尋工具,則無法執行搜尋查詢並匯出搜尋結果。

事件資料存放區的回填已完成

如果您在啟用證據搜尋工具後立即使用證據搜尋工具,並且證據回填仍在進行中,則可能會有一些結果無法使用。若要檢查回填狀態,請參閱確認證據搜尋器的狀態

您的搜尋查詢成功

Audit Manager 無法匯出失敗查詢的結果。若要疑難排解失敗的查詢,請參閱 我的搜尋查詢失敗

確認符合先決條件後,請使用下列檢查清單來檢查潛在問題:

  1. 檢查您搜尋查詢的狀態:

    1. 查詢是否已取消? 證據搜尋工具會顯示在取消查詢之前處理的部分結果。不過,Audit Manager 不會將部分結果匯出到 S3 儲存貯體或下載中心。

    2. 查詢是否已執行超過一個小時? 執行時間超過一小時的查詢可能會逾時。證據搜尋工具會顯示在查詢逾時之前處理的部分結果。但是,Audit Manager 不會匯出部分結果。若要避免逾時,您可以減少掃描的證據量,以指編輯搜尋篩選條件定較窄的時間範圍。

  2. 檢查匯出目URI的地 S3 儲存貯體的名稱和:

    1. 指定的儲存貯體是否存在? 如果您手動輸入值區URI,請確定沒有輸入錯誤任何內容。當 Audit Manager 嘗試將CSV檔案匯出到 Amazon S3 時,RESOURCE_NOT_FOUND錯字或錯誤URI可能會導致錯誤。

  3. 檢查匯出目的地的 S3 儲存貯體權限:

    1. 您有 S3 儲存貯體的寫入權限嗎? 您必須擁有用作匯出目的地的 S3 儲存貯體寫入權限。更具體地說,IAM權限原則必須包含s3:PutObject動作和值區ARN,並將其列 CloudTrail 為服務主體。我們提供您可以使用的範例政策

  4. 檢查您的任何 AWS 區域 信息是否不匹配:

    1. 您 AWS 區域 的客戶管理金鑰是否與您 AWS 區域 的評估相符? 如果您为資料加密提供了客戶管理金鑰,則該金鑰必須與您的評估 AWS 區域 相同。如需如何變更KMS金鑰的指示,請參閱設定您的資料加密設定

  5. 檢查委派管理員的帳戶權限:

    1. Audit Manager 設定中的客戶管理金鑰,是否會將權限授與委派系統管理員? 如果您使用委派的系統管理員帳戶,而且指定了用於資料加密的客戶管理金鑰,請確定委派的系統管理員擁有該KMS金鑰的存取權。如需指示,請參閱AWS Key Management Service 開發人員指南中的允許其他帳戶中的使用者使用KMS金鑰若要在 Audit Manager 中檢閱和變更您的加密設定,請參閱設定您的資料加密設定

注意

如果您變更 Audit Manager 資料加密設定,這些變更會套用至您未來建立的新評估。這包括您CSV從新評估匯出的所有檔案。

這些變更不會套用至您在變更加密設定之前,已建立的現有評估。這包括現有評估的新CSV出口,以及現有的CSV出口。現有的評估及其所有CSV匯出項目,都會繼續使用舊金鑰。KMS如果匯出CSV檔案的IAM身分識別沒有使用舊KMS金鑰的權限,您可以在金鑰原則層級授與權限。

我無法從搜尋結果中匯出特定證據

您的所有搜尋結果都包含在結果中。

如果您只想在CSV檔案中包含特定證據,建議您編輯目前的搜尋篩選器。如此一來,您就可以縮小結果範圍,僅鎖定您要匯出的證據。

我無法一次匯出多個CSV檔案

此錯誤是由於同時執行太多 CloudTrail Lake 查詢所致。

如果您將搜尋結果分組,並嘗試立即匯出分組結果中每個行項目的CSV檔案,就會發生這種情況。當您取得搜尋結果並匯出CSV檔案時,這些動作都會呼叫查詢。您一次最多可以執行 5 個查詢。如果您同時執行的查詢數目已達上限,則會返回 MaxConcurrentQueriesException 錯誤。

若要避免發生此錯誤,請確定您一次匯出的CSV檔案不會太多。

若要解決此錯誤,請等待進行中的CSV匯出完成。大多數匯出動作需要幾分鐘的時間。不過,如果您要匯出非常大量的資料,則可能需要長達一個小時才能完成匯出作業。在匯出過程中,您可以隨時離開證據搜尋工具。

您可以從 Audit Manager 主控台的下載中心檢查匯出狀態。匯出的檔案準備就緒後,返回證據搜尋工具中的分組結果。然后,您可以繼續獲取結果并導出每個行物CSV件的文件。