從英文語言提示建立 CloudTrail 湖泊查詢 - AWS CloudTrail

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

從英文語言提示建立 CloudTrail 湖泊查詢

查詢產生器在美國東部 (維吉尼亞北部) 的 CloudTrail Lake 預覽版本中,可能會變更。

您可以使用 CloudTrail Lake 查詢產生器,從您提供的英文提示中產生查詢。查詢產生器使用生成人工智慧 (生成 AI) 從您的提示中產生 ready-to-use SQL 查詢,然後您可以選擇在 Lake 的查詢編輯器中執行,或進一步微調。您不需要對 SQL 或 CloudTrail 事件字段有廣泛的了解即可使用查詢生成器。

提示可以是關於 CloudTrail Lake 事件資料存放區中事件資料的問題或陳述式。例如,您可以輸入「過去一個月最常發生的錯誤為何?」 和「給我一個使用 SNS 的用戶列表。」

提示最少可包含 3 個字元,最多可包含 500 個字元。

產生查詢不會收取任何費用;不過,當您執行查詢時,會根據掃描的最佳化和壓縮資料量產生費用。為了協助控制成本,建議您將開始和結束eventTime時間戳記新增至查詢,以限制查詢。

注意

您可以選擇顯示在產生的查詢下方的「豎起大拇指」或「大拇指向下」按鈕,以提供有關產生查詢的回饋。當您提供意見反應時,會 CloudTrail 儲存您的提示和產生的查詢。

請勿在提示中包含任何個人識別資訊、機密或敏感資訊。

此功能使用生成 AI 大型語言模型(LLM);我們建議仔細檢查 LLM 響應。

若要在 CloudTrail 主控台上使用查詢產生器
  1. 請登入 AWS Management Console 並開啟 CloudTrail 主控台,網址為 https://console.aws.amazon.com/cloudtrail/

  2. 在導覽窗格中,選擇 Lake 下方的查詢

  3. 在 [查詢] 頁面上,選擇 [編輯器] 索引標籤。

  4. 選擇您要為其建立查詢的事件資料倉庫。

  5. 在「查詢產生器」區域中,以純英文輸入提示。如需範例,請參閱 範例提示

  6. 選擇「產生查詢」。查詢產生器將嘗試從您的提示中產生查詢。如果成功,查詢產生器會在編輯器中提供 SQL 查詢。如果提示不成功,請重新解說您的提示,然後再試一次。

  7. (選擇性) 選擇「執行」以執行查詢。

    注意

    執行查詢時,會根據掃描的最佳化和壓縮資料量產生費用。為了協助控制成本,建議您將開始和結束eventTime時間戳記新增至查詢,以限制查詢。

  8. (選擇性) 您可以提供有關所產生查詢的意見反應。若要提供意見反應,請選擇提示下方顯示的「豎起大拇指」或「向下大拇指」按鈕。當您提供意見反應時,會 CloudTrail 儲存您的提示和產生的查詢。

所需的許可

若要使用此功能,您必須使用AWSCloudTrail_FullAccessAdministratorAccess原則。

也可以在新的或現有的客戶管理政策或內嵌政策中包含 cloudtrail:GenerateQuery 動作。

區域支援

此功能目前僅在美國東部 (維吉尼亞北部) 區域提供。

限制

以下是查詢產生器的限制:

  • 查詢產生器只能接受英文提示。

  • 查詢產生器只能針對收集 CloudTrail 事件 (管理事件、資料事件) 的事件資料存放區產生查詢。

  • 查詢產生器無法針對與 CloudTrail Lake 事件資料不相關的提示產生查詢。

範例提示

本節提供範例提示以及從提示產生的 SQL 查詢。

如果您選擇執行此區段中的範例查詢,請以您要查詢的事件資料存放區 ID 取代 eds- id,並以適合您使用案例的適當時間戳記取代時間戳記。時間戳記的格式如下:YYYY-MM-DD HH:MM:SS

提示:我在過去一個月的最大錯誤是什麼?

SQL 查詢:

SELECT errorMessage, COUNT(*) as eventCount FROM eds-id WHERE errorMessage IS NOT NULL AND eventTime >= timestamp '2024-05-01 00:00:00' AND eventTime <= timestamp '2024-05-31 23:59:59' GROUP BY 1 ORDER BY 2 DESC LIMIT 2;

提示:提供使用 SNS 的使用者清單。

SQL 查詢:

SELECT DISTINCT userIdentity.arn AS user FROM eds-id WHERE eventSource = 'sns.amazonaws.com'

提示:過去一個月的讀取和寫入事件每天的 API 計數是多少?

SQL 查詢:

SELECT date(eventTime) AS event_date, SUM( CASE WHEN readonly = true THEN 1 ELSE 0 END ) AS read_events, SUM( CASE WHEN readonly = false THEN 1 ELSE 0 END ) AS write_events FROM eds-id WHERE eventTime >= timestamp '2024-05-04 00:00:00' AND eventTime <= timestamp '2024-06-04 23:59:59' GROUP BY 1 ORDER BY 1 ASC;

提示:顯示過去三週發生存取遭拒錯誤的任何事件。

SQL 查詢:

SELECT * FROM eds-id WHERE WHERE (errorCode = 'AccessDenied' OR errorMessage = 'Access Denied') AND eventTime >= timestamp '2024-05-16 01:00:00' AND eventTime <= timestamp '2024-06-06 01:00:00'