aws cloudtrail - 使用者指南...aws cloudtrail 使用者指南 cloudtrail 工作流程 cloudtrail...

293
AWS CloudTrail 使用者指南 版本 1.0

Upload: others

Post on 12-Oct-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail使用者指南

版本 1.0

Page 2: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

AWS CloudTrail: 使用者指南Copyright © 2021 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

Table of Contents什麼是 AWS CloudTrail? .................................................................................................................... 1

CloudTrail 運作方式 .................................................................................................................... 1CloudTrail 工作流程 .................................................................................................................... 2CloudTrail 概念 .......................................................................................................................... 4

事件為何?CloudTrail ............................................................................................................ 4事件歷史為何?CloudTrail ...................................................................................................... 6什麼是線索? ..................................................................................................................... 6組織賽道為何? .................................................................................................................... 6如何管理 CloudTrail? ........................................................................................................... 6如何控制對 CloudTrail 的存取? ............................................................................................. 7您要如何管理與資料事件? .................................................................................................... 7如何登入 CloudTrail Insights 事件? ........................................................................................ 7如何使用 CloudTrail 執行監控? ............................................................................................. 8如何在區域與全域執行 CloudTrail? ........................................................................................ 8關於全球服務事件 ............................................................................................................... 9與其他 CloudTrail 監控服務的關係為何?AWS ....................................................................... 10合作夥伴方案 .................................................................................................................... 10

CloudTrail 支援的區域 ................................................................................................................ 10CloudTrail 日誌檔案範例 ............................................................................................................. 12

CloudTrail 日誌檔案名稱格式 .............................................................................................. 12日誌檔案範例 .................................................................................................................... 12

CloudTrail 支援的服務和整合 ...................................................................................................... 17AWS 服務與 CloudTrail 日誌的整合 ..................................................................................... 18CloudTrail 與 整合AWS Organizations .................................................................................. 19AWS適用於 的 服務主題CloudTrail ...................................................................................... 19CloudTrail 不支援的服務 ..................................................................................................... 27

AWS CloudTrail 中的配額 ........................................................................................................... 28AWS CloudTrail 教學 ......................................................................................................................... 30

Prerequisites ............................................................................................................................ 30步驟 1:檢視事件歷史中的 AWS 帳號活動 .................................................................................... 30步驟 2:建立您的第一個路徑 ...................................................................................................... 32步驟 3:檢視您的 log 檔案 ......................................................................................................... 35步驟 4:計劃後續步驟 ................................................................................................................ 36

使用 CloudTrail ................................................................................................................................. 38使用 CloudTrail 事件歷史記錄檢視事件 ......................................................................................... 38

在 CloudTrail 主控台中檢視 CloudTrail 事件 .......................................................................... 39使用 AWS CLI 檢視 CloudTrail 事件 .................................................................................... 43

檢視 CloudTrail Insights 事件 ...................................................................................................... 48在 CloudTrail 主控台中檢視 CloudTrail Insights 事件 ............................................................... 49使用 AWS CLI 檢視 CloudTrail Insights 事件 ......................................................................... 54

為您的 AWS 帳號建立結尾 ......................................................................................................... 61使用主控台建立和更新 路徑 ................................................................................................ 62使用 AWS Command Line Interface 建立、更新和管理 的管道 ................................................. 76

建立組織的路徑 ......................................................................................................................... 95從成員帳號試驗移動到組織試驗的最佳實務 ............................................................................ 97準備為您的組織建立路徑 .................................................................................................... 97在 主控台中為您的組織建立路徑 .......................................................................................... 99使用 AWS Command Line Interface 為組織建立路徑 ............................................................. 103

取得和檢視 CloudTrail 日誌檔案 ................................................................................................. 106尋找 CloudTrail 日誌檔案 .................................................................................................. 106下載 CloudTrail 日誌檔案 .................................................................................................. 107

設定 CloudTrail 的 Amazon SNS 通知 ........................................................................................ 108設定 CloudTrail 傳送通知 .................................................................................................. 108

控制 的使用者許可CloudTrail ..................................................................................................... 109

版本 1.0iii

Page 4: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

管理線索的秘訣 ....................................................................................................................... 110管理 CloudTrail 成本 ........................................................................................................ 110CloudTrail 線索命名需求 ................................................................................................... 111Amazon S3 儲存貯體命名要求 ........................................................................................... 112AWS KMS 別名命名需求 .................................................................................................. 112

搭配介面 VPC 端點使用 AWS CloudTrail .................................................................................... 112Availability ...................................................................................................................... 113建立 CloudTrail 的 VPC 端點 ............................................................................................ 113

使用 CloudTrail 日誌檔案 .................................................................................................................. 114建立多個追蹤 .......................................................................................................................... 115記錄線索的管理事件 ................................................................................................................. 116

管理事件 ........................................................................................................................ 117讀取和寫入事件 ............................................................................................................... 118使用 AWS Command Line Interface 開發套件記錄事件 .......................................................... 118使用 AWS SDKs 登入事件 ................................................................................................ 120傳送事件到 Amazon CloudWatch Logs ............................................................................... 120

試驗的登入資料事件 ................................................................................................................. 120資料事件 ........................................................................................................................ 121唯讀和唯寫事件 ............................................................................................................... 126使用 AWS Command Line Interface 登入事件 ...................................................................... 126使用 AWS SDKs 登入事件 ................................................................................................ 130傳送事件到Amazon CloudWatch Logs ................................................................................ 130

記錄線索的 Insights 事件 .......................................................................................................... 130了解 Insights .................................................................................................................. 131使用 AWS 管理主控台 登入 Insights 事件 ............................................................................ 134使用AWS Command Line Interface記錄 Insights 事件 ........................................................... 134使用 AWS SDKs 登入事件 ................................................................................................ 135傳送事件到 Amazon CloudWatch Logs ............................................................................... 135

從多個區域接收 CloudTrail 日誌檔案 .......................................................................................... 135使用 監控 日誌檔案 ................................................................................................................. 136

傳送 事件到 CloudWatch Logs .......................................................................................... 136使用 範本建立 警示 ......................................................................................................... 141建立 CloudWatch 事件的 CloudTrail 警示:範例 ................................................................... 152建立 CloudWatch 事件的 CloudTrail 警示: 其他範例 .............................................................. 156設定 CloudWatch Logs 警示的通知 .................................................................................... 165停止 CloudTrail 將事件傳送至 CloudWatch Logs .................................................................. 165的 日誌群組和日誌串流命名 ............................................................................................. 166讓 CloudTrail 使用 CloudWatch Logs 監控的角色政策文件 ..................................................... 166

從多個帳戶接收 CloudTrail 日誌檔案 ........................................................................................... 167設定多帳戶的儲存貯體政策 ................................................................................................ 168在其他帳戶開啟 CloudTrail ................................................................................................ 169

在 AWS 帳戶之間共享 CloudTrail 日誌檔案 ................................................................................. 170方案 1:授予 存取構成 Log Files 的帳號 ............................................................................. 170方案 2:授予對所有 Logs 的存取權 .................................................................................... 172建立角色 ........................................................................................................................ 173建立存取政策將存取權授予您擁有的帳戶 ............................................................................. 174建立存取政策將存取權授予第三方 ...................................................................................... 175假設角色 ........................................................................................................................ 176停止 AWS Accounts 之間的 CloudTrail Log 檔案共用 ............................................................ 178

驗證 CloudTrail 日誌檔案完整性 ................................................................................................. 178為什麼使用它? ............................................................................................................... 178運作方式 ........................................................................................................................ 179啟用 CloudTrail 的日誌檔案完整性驗證 ............................................................................... 179使用 CloudTrail 驗證 AWS CLI 日誌檔案完整性 .................................................................... 180CloudTrail 摘要檔案結構 ................................................................................................... 185CloudTrail 日誌檔案完整性驗證的自訂實作 .......................................................................... 189

使用CloudTrail Processing Library ............................................................................................. 196

版本 1.0iv

Page 5: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

最低需求 ........................................................................................................................ 196處理 CloudTrail Logs ....................................................................................................... 197進階主題 ........................................................................................................................ 200其他資源 ........................................................................................................................ 203

安全性 ........................................................................................................................................... 204資料保護 ................................................................................................................................ 204Identity and Access Management .............................................................................................. 205

Audience ........................................................................................................................ 205使用身分來驗證 ............................................................................................................... 206使用政策管理存取權 ......................................................................................................... 207AWS CloudTrail 如何搭配 IAM 運作 ................................................................................... 208身分型政策範例 ............................................................................................................... 212CloudTrail 的 Amazon S3 儲存貯體政策 .............................................................................. 221Amazon SNS適用於 的 主題政策CloudTrail ......................................................................... 225故障診斷 ........................................................................................................................ 227使用服務連結角色 ............................................................................................................ 228

合規驗證 ................................................................................................................................ 230彈性 ...................................................................................................................................... 230基礎設施安全 .......................................................................................................................... 231安全最佳實務 .......................................................................................................................... 231

CloudTrail 偵測性安全最佳實務 .......................................................................................... 231CloudTrail 預防性安全最佳實務 .......................................................................................... 232

使用 AWS KMS 受管金鑰 (SSE-KMS) 加密 CloudTrail 日誌檔案 ..................................................... 234啟用日誌檔案加密 ............................................................................................................ 234授予建立 CMK 的許可 ...................................................................................................... 235設定用於CloudTrail 的 AWS KMS 金鑰政策。 ...................................................................... 235更新線索以使用您的 CMK ................................................................................................. 242使用 CloudTrail 啟用和停用 AWS CLI 日誌檔案加密 .............................................................. 243

CloudTrail 日誌事件參考 ................................................................................................................... 245CloudTrail 記錄內容 ................................................................................................................. 247

Insights 事件記錄欄位 ...................................................................................................... 253sharedEventID 範例 ......................................................................................................... 254

CloudTrail userIdentity 元素 ...................................................................................................... 255Examples ....................................................................................................................... 255Fields ............................................................................................................................ 255使用 SAML 和 Web 聯合身分之 AWS STS APIs 的值 ........................................................... 258

Insights insightDetails 元素 ....................................................................................................... 259範例 insightDetails 區塊 ............................................................................................ 263

CloudTrail 擷取的非 API 事件 .................................................................................................... 264AWS 服務事件 ................................................................................................................ 264AWS 主控台登入事件 ....................................................................................................... 265

文件歷史記錄 .................................................................................................................................. 271舊版更新 ................................................................................................................................ 277

AWS glossary ................................................................................................................................. 287.............................................................................................................................................. cclxxxviii

版本 1.0v

Page 6: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 運作方式

什麼是 AWS CloudTrail?AWS CloudTrail 是一種 AWS 服務,可協助您啟用 AWS 帳戶的監管、合規、操作稽核和風險稽核。使用者、角色或 AWS 服務所採取的動作會記錄為 CloudTrail 中的事件。事件包括在 AWS 管理主控台、AWSCommand Line Interface 和 AWS SDKs 和 APIs 中擷取的動作。

在您建立 AWS 帳戶時,就會在其上啟用 CloudTrail。AWS 帳戶中發生活動時,該活動會記錄在 CloudTrail事件中。您可以在 CloudTrail 主控台中前往 Event history (事件歷史記錄) 輕鬆地檢視最近事件。若要持續記錄 AWS 帳戶中的活動和事件,請建立線索 (p. 62)。如需 CloudTrail 定價的詳細資訊,請參閱 AWSCloudTrail定價。

檢視 AWS 帳戶活動是安全性和操作最佳實務的重要層面。您可以使用 CloudTrail 檢視、搜尋、下載、封存、分析和回應您 AWS 基礎設施的帳戶活動。您可以識別誰或哪些項目採取哪個動作、已處理的資源、事件發生時間以及其他詳細資訊,協助您分析和回應 AWS 帳戶中的活動。或者,您可以在線索上啟用 AWSCloudTrail Insights,以協助您識別並回應異常的活動。

您可以使用 API 將 CloudTrail 整合到應用程式、自動建立您組織的線索、檢查您所建立線索的狀態,以及控制使用者如何檢視 CloudTrail 事件。

主題• CloudTrail 運作方式 (p. 1)• CloudTrail 工作流程 (p. 2)• CloudTrail 概念 (p. 4)• CloudTrail 支援的區域 (p. 10)• CloudTrail 日誌檔案範例 (p. 12)• CloudTrail 支援的服務和整合 (p. 17)• AWS CloudTrail 中的配額 (p. 28)

CloudTrail 運作方式在您建立 CloudTrail 帳戶時,就會在其上啟用 AWS AWS 帳戶中發生活動時,該活動會記錄在 CloudTrail 事件中。您可以在 CloudTrail 主控台中前往 Event history (事件歷史記錄). 輕鬆地檢視事件。

事件歷史記錄可讓您檢視、搜尋和下載在過去 90 天於您的 AWS 帳戶中的活動。此外,您可以建立CloudTrail 線索來封存、分析和回應 AWS 資源的變更。線索是一種組態,可將事件交付至您指定的 AmazonS3 儲存貯體。您也可以使用 Amazon CloudWatch Logs 和 Amazon CloudWatch Events. 交付和分析線索中的事件。您可以使用 CloudTrail 主控台、AWS CLI 或 CloudTrail API 建立線索。

您可以為 AWS 帳戶建立兩類線索:

套用至所有區域的線索

當您建立套用至所有區域的線索時,CloudTrail 會記錄每個區域中的事件,並將 CloudTrail 事件日誌檔案交付至您指定的 S3 儲存貯體。如果在您建立套用至所有區域的線索之後新增區域,則會自動包含新的區域,並記錄該區域中的事件。由於在所有區域中建立結尾是建議的最佳實務,因此,當您在CloudTrail 主控台中建立結尾時,將會擷取您帳號中所有區域中的活動,因此所有區域結尾都是預設選項。您只能使用 AWS CLI 更新單一區域路徑來登入所有區域。如需詳細資訊,請參閱 在主控台中建立結尾 (基本事件選取器) (p. 62).

版本 1.01

Page 7: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 工作流程

套用至一個區域的線索

當您建立套用至一個區域的線索時,CloudTrail 只會記錄該區域中的事件。接著會將 CloudTrail 事件日誌檔案交付至您指定的 Amazon S3 儲存貯體。您只能使用 AWS CLI 來建立單一區域的尾端。如果您建立額外的單一線索,則可以讓那些線索將 CloudTrail 事件日誌檔案交付至相同的 Amazon S3 儲存貯體或個別儲存貯體。當您使用 AWS CLI 或 CloudTrail API 建立線索時,這是預設選項。如需詳細資訊,請參閱 使用 AWS Command Line Interface 建立、更新和管理 的管道 (p. 76).

Note

對於這兩種類型的線索,您可以指定來自任何區域的 Amazon S3 儲存貯體。

從 2019 年 4 月 12 日開始,只能在事件記錄所在的 AWS 區域檢視線索。如果您在所有 AWS 區域建立記錄事件的線索,它就會出現在所有 AWS 區域的主控台中。如果您建立只在單一 AWS 區域中記錄事件的線索,您可以僅在該 AWS 區域進行查看和管理。

若您已在 AWS Organizations 中建立組織,您也可以建立線索,負責為該組織中所有 AWS 帳戶記錄所有事件。 這類線索稱為組織線索. 組織線索可以套用到所有 AWS 區域或一個區域。您必須在管理帳號中建立組織資源管理員,當指定適用於組織時,系統會自動套用到組織中的所有成員帳號。成員帳戶將可查看組織線索,但無法進行修改或刪除。依預設,成員帳戶將無法存取在 Amazon S3 儲存貯體中組織線索的日誌檔。

您可以在建立線索之後變更其組態 (包括記錄一個區域還是所有區域中的事件)。若要變更全區域尾端的單一區域尾端 (或反過來),您必須執行 AWS CLI update-trail (p. 79) 命令。您也可以變更其是否記錄資料或 CloudTrail Insights 事件。變更線索記錄一個區域還是所有區域中的事件會影響要記錄日誌的事件。如需詳細資訊,請前往 使用 AWS CLI 管理資源 (p. 81) (AWS CLI) 和 使用 CloudTrail 日誌檔案 (p. 114)。

CloudTrail 事件日誌檔案預設會使用 Amazon S3 伺服器端加密 (SSE) 進行加密。您也可以選擇使用 AWSKey Management Service (AWS KMS) 金鑰來加密日誌檔案。您可以將日誌檔案存放在 儲存貯體中,沒有時間限制。您也可以定義 Amazon S3 生命週期規則以自動封存或刪除日誌檔案。如果您要日誌檔案交付和驗證的通知,可以設定 Amazon SNS 通知。

CloudTrail 通常會在帳戶活動的 15 分鐘內交付日誌檔案。此外,CloudTrail 會在一小時內每隔 5 分鐘多次發佈日誌檔案。這些日誌檔案包含帳戶中支援 之服務的 API 呼叫。CloudTrail. 如需詳細資訊,請參閱CloudTrail 支援的服務和整合 (p. 17).

Note

CloudTrail 通常會在 API 呼叫的平均 15 分鐘間提供 logs。此時間無法保證。如需詳細資訊,請檢視 服務水準協議AWS CloudTrail。CloudTrail 會擷取使用者直接進行、或 AWS 服務代替使用者進行的動作。例如,AWSCloudFormation CreateStack 呼叫可能會導致對 Amazon EC2、Amazon RDS、Amazon EBS 或是 AWS CloudFormation 範本所需的其他服務進行額外 API 呼叫。這是正常且預期的行為。您可以使用 AWS 事件中的 invokedby 欄位,識別 CloudTrail 服務是否採取動作。

若要開始使用 CloudTrail,請參閱 入門教學課程AWS CloudTrail (p. 30).

如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價. 如需 Amazon S3 和 Amazon SNS 定價,請參閱Amazon S3 定價和 Amazon SNS 定價.

CloudTrail 工作流程檢視您 AWS 帳戶的事件歷史記錄

您可以在 主控台中或使用 ,檢視及搜尋 過去 90 天所記錄的事件。如需詳細資訊,請參閱使用CloudTrail 事件歷史記錄檢視事件 (p. 38)。

版本 1.02

Page 8: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 工作流程

下載事件

您可以下載 CSV 或 JSON 檔案,其中包含您 帳戶最多過去 90 天的 事件。如需更多詳細資訊,請參閱下載事件 (p. 41) 或 下載 Insights 事件 (p. 53)。

建立線索

追蹤記錄可讓 CloudTrail 將日誌檔案交付到 Amazon S3 儲存貯體。根據預設,當您在主控台建立追蹤記錄時,追蹤記錄會套用到所有區域。該追蹤會記錄來自 AWS 分割區中所有區域的事件,並將日誌檔案交付到您指定的 S3 儲存貯體。如需詳細資訊,請參閱為您的 AWS 帳號建立結尾 (p. 61)。

建立並訂閱 Amazon SNS 主題

訂閱主題以接收交付到您儲存貯體之日誌檔案的相關通知。Amazon SNS 可透過多種方式來通知您,包括以 Amazon Simple Queue Service 透過編寫程式的方式。如需資訊,請參閱設定 CloudTrail 的Amazon SNS 通知 (p. 108)。

Note

如果您想要收到從所有區域交付之日誌檔案的相關 SNS 通知,請為您的線索指定唯一的 SNS主題。如果您想要透過編寫程式的方式處理所有事件,請參閱「使用CloudTrail ProcessingLibrary (p. 196)」。

檢視您的日誌檔案

使用 Amazon S3 擷取日誌檔案。如需資訊,請參閱取得和檢視 CloudTrail 日誌檔案 (p. 106)。管理使用者許可

使用 AWS Identity and Access Management (IAM) 管理哪些使用者具有建立、設定或刪除線索的許可,啟動及停止記錄日誌,以及存取含有日誌檔案的儲存貯體。如需詳細資訊,請參閱控制 的使用者許可CloudTrail (p. 109)。

使用 CloudWatch Logs 監控事件

您可以設定線索將事件傳送到 CloudWatch Logs。然後,您可以使用 CloudWatch Logs 監控您帳戶中的特定 API 呼叫和事件。如需詳細資訊,請參閱使用 監控 日誌檔案 (p. 136)。

Note

如果您設定套用到所有區域的線索將事件傳送到 CloudWatch Logs 日誌群組,CloudTrail 會將所有區域的事件傳送到單一日誌群組。

日誌管理和資料事件

設定您的線索,記錄唯讀、唯寫或所有管理和資料事件。根據預設,線索會記錄全部的管理事件。如需詳細資訊,請參閱使用 CloudTrail 日誌檔案 (p. 114)。

記錄 CloudTrail Insights 事件

將線索設定為記錄 Insights events以協助您識別和回應與 write 管理 API 呼叫相關的異常活動。如果您的線索設定為記錄唯讀或無管理事件,則無法開啟 CloudTrail Insights 事件記錄。如需詳細資訊,請參閱記錄線索的 Insights 事件 (p. 130)。

啟用日誌加密

日誌檔案加密為您的日誌檔案多加一層安全性防護。如需詳細資訊,請參閱使用 AWS KMS 受管金鑰(SSE-KMS) 加密 CloudTrail 日誌檔案 (p. 234)。

啟用 日誌檔案完整性

日誌檔案完整性驗證可協助您驗證日誌檔案在 CloudTrail 交付後保持不變。如需詳細資訊,請參閱驗證CloudTrail 日誌檔案完整性 (p. 178)。

與其他 AWS 帳戶共享日誌檔案

您可以在帳戶之間共享日誌檔案。如需詳細資訊,請參閱在 AWS 帳戶之間共享 CloudTrail 日誌檔案 (p. 170)。

版本 1.03

Page 9: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 概念

彙整多個帳戶的日誌

您可以將多個帳戶的日誌檔案彙整至單一儲存貯體。如需詳細資訊,請參閱從多個帳戶接收 CloudTrail日誌檔案 (p. 167)。

使用合作夥伴解決方案

使用與 整合的合作夥伴解決方案來分析您的 輸出。合作夥伴解決方案提供一組廣泛的功能,例如變更追蹤、故障診斷和安全分析。如需詳細資訊,請參閱 AWS CloudTrail 合作夥伴頁面。

CloudTrail 概念本節摘要說明與 CloudTrail 相關的基本概念。

內容• 事件為何?CloudTrail (p. 4)

• 哪些是管理事件? (p. 5)• 資料事件為何? (p. 5)• Insights 事件為何? (p. 5)

• 事件歷史為何?CloudTrail (p. 6)• 什麼是線索? (p. 6)• 組織賽道為何? (p. 6)• 如何管理 CloudTrail? (p. 6)

• CloudTrail 主控台 (p. 6)• CloudTrail CLI (p. 7)• CloudTrail APIs (p. 7)• AWS SDKs (p. 7)• 為何使用標籤來進行試驗? (p. 7)

• 如何控制對 CloudTrail 的存取? (p. 7)• 您要如何管理與資料事件? (p. 7)• 如何登入 CloudTrail Insights 事件? (p. 7)• 如何使用 CloudTrail 執行監控? (p. 8)

• CloudWatch Logs、CloudWatch 活動 與 CloudTrail (p. 8)• 如何在區域與全域執行 CloudTrail? (p. 8)

• 套用結尾到所有區域的好處為何? (p. 8)• 當您套用結尾到所有區域時會如何? (p. 8)• 每個區域多個路徑 (p. 9)• AWS Security Token Service (AWS STS) 和 CloudTrail (p. 9)

• 關於全球服務事件 (p. 9)• 與其他 CloudTrail 監控服務的關係為何?AWS (p. 10)• 合作夥伴方案 (p. 10)

事件為何?CloudTrailCloudTrail 中的事件是 AWS 帳戶內的活動記錄。此活動可以是由 CloudTrail 使用者、角色或服務所擷取的動作。CloudTrail 事件提供透過 AWS 管理主控台、AWS SDKs、命令列工具和其他 AWS 服務所製作之API 和非 API 帳號活動的歷史。有三種可登入的事件類型:管理事件、資料事件和 CloudTrail Insights 事件。CloudTrail根據預設,試驗 log 管理事件,但不包含資料或 Insights 事件。

版本 1.04

Page 10: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南事件為何?CloudTrail

所有事件類型都使用相同的 CloudTrail JSON log 格式。

Note

CloudTrail 不會登入所有 AWS 服務和所有事件。如需有關哪些 APIs 針對特定服務登入的詳細資訊,請查看 CloudTrail 支援的服務和整合 (p. 17) 中該服務的文件。

哪些是管理事件?管理事件可提供 AWS 帳戶中之資源執行的管理操作的相關資訊。這些也稱為 控制平面操作。範例管理事件包含:

• 設定安全性 (例如,IAM AttachRolePolicy API 操作)。• 註冊裝置 (例如,Amazon EC2 CreateDefaultVpc API 操作)。• 設定規則以路由資料 (例如,Amazon EC2 CreateSubnet API 操作)。• 設定記錄 (例如,AWS CloudTrail CreateTrail API 操作)。

管理事件也可以包含您帳戶中發生的非 API 事件。例如,當使用者登入您的帳戶時,CloudTrail 就會記錄 ConsoleLogin 事件的日誌。如需詳細資訊,請參閱 CloudTrail 擷取的非 API 事件 (p. 264)。如需CloudTrail 為 AWS 服務記錄日誌的管理事件清單,請參閱 CloudTrail 支援的服務和整合 (p. 17)。

資料事件為何?資料事件提供在資源上執行或於資源中執行之資源操作的相關資訊。這些也稱為 資料平面操作。資料事件通常是大量資料的活動。所記下的資料類型如下:

• Amazon S3 物件層級的 API 活動 (例如 GetObject、DeleteObject 和 PutObject API 操作)。• AWS Lambda 函數執行活動 (Invoke API)。• 上的 Amazon S3 物件層級 API 活動。AWS Outposts

當您建立結尾時,預設不會登入資料事件。若要記錄 CloudTrail 資料事件,您必須明確地將欲收集之活動的受支援資源或資源類型新增至線索。如需更多詳細資訊,請參閱 建立路徑 (p. 62) 及 資料事件 (p. 121)。

記錄資料事件需支付額外的費用。如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價。

Insights 事件為何?CloudTrail Insights 事件會擷取您 AWS 帳戶中的異常活動。如果您已啟用 Insights events 且 CloudTrail偵測到異常的活動,則會將 Insights events記錄到線索之目的地 S3 儲存貯體的不同資料夾或前綴。當您在 CloudTrail 主控台上檢視 Insights events 時,也可以看到深入分析的類型和事件時段。Insights events會提供相關資訊,例如關聯的 API、事件時間和統計資料,以協助您瞭解並針對異常的活動採取行動。與CloudTrail 線索中擷取的其他類型的事件不同,Insights events只有在 CloudTrail 偵測到帳戶 API 使用方式與帳戶的一般使用模式有很大差異時,才會加以記錄。可能產生 Insights events的活動範例包括:

• 您的帳戶通常每分鐘記錄不超過 20 個 Amazon S3 deleteBucket API 呼叫,但是您的帳戶開始記錄到每分鐘平均 100 個 deleteBucket API 呼叫。異常活動開始時會記錄 Insights 事件,並記錄另一個Insights 事件以標示異常的活動結束。

• 您的搜尋通常每分鐘可對 Amazon EC2 AuthorizeSecurityGroupIngress API 進行 20 次呼叫,但是您的搜尋將開始向 AuthorizeSecurityGroupIngress 進行零呼叫。 Insights 事件會在不尋常活動的開頭處登入,並在 10 分鐘後在不尋常活動結束時登入,會登入另一個 Insights 事件來標記不尋常活動的結尾。

這些範例僅供說明之用。您的結果可能會根據您的使用案例而有所不同。

版本 1.05

Page 11: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南事件歷史為何?CloudTrail

根據預設,在您建立線索時,會停用 Insights events。若要記錄 CloudTrail Insights 事件,您必須在新的或現有的線索上明確啟用 Insights 事件收集。如需更多詳細資訊,請參閱 建立路徑 (p. 62) 及 記錄線索的Insights 事件 (p. 130)。

記錄 CloudTrail Insights events需支付額外的費用。如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價。

事件歷史為何?CloudTrailCloudTrail 事件歷史記錄提供 CloudTrail 事件中前 90 天的可檢視、可搜尋和可下載記錄。您可以使用此歷史,在 AWS、AWS 管理主控台、AWS 命令列工具和其他 SDKs 服務中查看在 AWS 帳號中所進行的動作。您可以選取要顯示的欄位,自訂事件歷史記錄在 CloudTrail 主控台中的檢視。如需詳細資訊,請參閱 使用CloudTrail 事件歷史記錄檢視事件 (p. 38)。

什麼是線索?線索是一種組態,可將 CloudTrail 事件交付至 Amazon S3 儲存貯體、CloudWatch Logs 和 CloudWatch活動。您可以使用線索來篩選您欲交付的 CloudTrail 事件、使用 AWS KMS 金鑰加密 CloudTrail 事件日誌檔案,以及設定在日誌檔案交付後的 Amazon SNS 通知。如需建立及管理線索的詳細資訊,請參閱為您的AWS 帳號建立結尾 (p. 61)。

組織賽道為何?組織路徑是一種組態,可將管理帳號和 CloudTrail 組織中所有成員帳號中的 AWS Organizations 事件交付到相同的 Amazon S3 儲存貯體、CloudWatch Logs 和 CloudWatch 活動。建立組織線索,有助於您為組織定義一個統一的事件記錄策略。

建立組織線索之後,屬於您組織的每個 AWS 帳戶中都會建立您所指定名稱的線索。在成員帳戶中,包含 CloudTrail 許可的使用者帳戶如果從自身 AWS 帳戶登入 AWS CloudTrail 主控台時,或執行像是describe-trails 的 AWS CLI 命令時 (雖然使用 AWS CLI 時,成員帳戶必須使用 ARN 來處理組織線索,而不是使用名稱),將可以查看此線索。不過,成員帳戶中使用者擁有的許可,並不足以刪除組織線索、開啟或關閉記錄功能、變更要記錄事件類型,或是以任何方式更改組織線索。如需使用 AWS Organizations的詳細資訊,請參閱 組織 術語與概念。如需如何建立與使用組織線索的詳細資訊,請參閱建立組織的路徑 (p. 95)。

如何管理 CloudTrail?CloudTrail 主控台您可以利用 AWS CloudTrail 主控台使用和管理 CloudTrail 服務。主控台提供的使用者界面有利於執行多項CloudTrail 任務,例如:

• 檢視 AWS 帳戶的最新事件和事件歷史記錄。• 下載前 90 天之事件中經篩選的檔案或完整檔案。• 建立和編輯 CloudTrail 線索。• 設定 CloudTrail 線索,包含:

• 選取 Amazon S3 儲存貯體。• 設定前綴。• CloudWatch Logs 的交付設定。• 使用 AWS KMS 金鑰進行加密。• 啟用在日誌檔案交付之後的 Amazon SNS 通知。• 為您的線索新增和管理標籤。

版本 1.06

Page 12: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南如何控制對 CloudTrail 的存取?

從 2019 年 4 月 12 日開始,只能在事件記錄所在的 AWS 區域檢視線索。如果您在所有 AWS 區域建立記錄事件的線索,它就會出現在所有 AWS 區域的主控台中。如果您建立只在單一 AWS 區域中記錄事件的線索,您可以僅在該 AWS 區域進行查看和管理。

如需 AWS 管理主控台 的詳細資訊,請參閱 AWS 管理主控台。

CloudTrail CLIAWS Command Line Interface是一種整合的工具,讓您可以從命令列與 CloudTrail 互動。如需詳細資訊,請參閱 AWS Command Line Interface 使用者指南。如需完整 CloudTrail CLI 命令清單,請參閱可用命令。

CloudTrail APIs除了主控台和 CLI 之外,您也可以使用 CloudTrail RESTful APIs 直接編寫 CloudTrail。如需詳細資訊,請參閱 AWS CloudTrail API Reference。

AWS SDKs做為使用 CloudTrail API 的替代方式,您可以使用其中一個 AWS SDKs。 每個開發套件皆包含程式庫,以及適用於各種程式設計語言和平台的範本程式碼。提供便捷方法來建立對 SDKs 的程式化存取。CloudTrail例如,您可以使用 SDKs 以密碼編譯方式簽署請求、管理錯誤,以及自動重試請求。如需詳細資訊,請參閱適用於 Amazon Web Services 的工具頁面。

為何使用標籤來進行試驗?標籤是一種客戶定義的金鑰和選用的值,可以指派給 AWS 資源,例如 CloudTrail 線索、用於存放CloudTrail 日誌檔的 Amazon S3 儲存貯體、AWS Organizations 組織和組織單位等等。透過為線索和您用來為線索存放日誌檔的 Amazon S3 儲存貯體新增相同的標籤,您可更輕鬆地透過 AWS 資源群組 管理、搜尋和篩選這些資源。您可以實作標記策略以協助您持續、有效、輕鬆地尋找和管理您的資源。如需詳細資訊,請參閱 AWS 標記策略。

如何控制對 CloudTrail 的存取?AWS Identity and Access Management 是一種 Web 服務,可讓 Amazon Web Services (AWS) 訪客管理使用者和使用者許可。使用 IAM 為任何需要存取 AWS CloudTrail 的人建立個別使用者。此外,也為您自己建立 IAM 使用者,同時將管理權限授予該 IAM 使用者,並且使用該 IAM 使用者進行所有的工作。為存取您帳戶的人建立個別 IAM 使用者,即可將一組唯一的安全登入資料授予每個 IAM 使用者。您也可以將不同的許可授予每個 IAM 使用者。如有需要,您隨時可以變更或撤銷 IAM 使用者的許可。如需詳細資訊,請參閱控制 的使用者許可CloudTrail (p. 109)。

您要如何管理與資料事件?根據預設,線索會記錄您 AWS 帳戶全部的管理事件,但不包含資料事件。您可以選擇建立或更新線索,來記錄資料事件。只有符合您結尾設定的事件才會交付至 Amazon S3 儲存貯體,並選擇性地交付至 AmazonCloudWatch Logs 登入群組。如果事件不符合線索設定,線索則不會記錄該事件。如需詳細資訊,請參閱 使用 CloudTrail 日誌檔案 (p. 114)。

如何登入 CloudTrail Insights 事件?AWS CloudTrail Insights 透過持續分析 CloudTrail 管理事件,協助 AWS 使用者識別和回應異常的 API呼叫量。Insights 事件是 write 管理 API 活動異常層級的記錄。Insights 事件的詳細資料頁面會以異常活動的圖形來顯示事件,並顯示異常活動的開始和結束時間,以及用來判斷活動是否異常的基準線。根據預設,線索不會記錄 CloudTrail Insights 事件。在主控台中,您可以在建立或更新線索時選擇記錄Insights events。當您使用 CloudTrail API 時,可以使用 PutInsightSelectors API 編輯現有線索的設定來記錄 Insights events。記錄 CloudTrail Insights 事件需支付額外的費用。如需詳細資訊,請參閱 記錄線索的Insights 事件 (p. 130) 和 AWS CloudTrail定價。

版本 1.07

Page 13: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南如何使用 CloudTrail 執行監控?

如何使用 CloudTrail 執行監控?CloudWatch Logs、CloudWatch 活動 與 CloudTrailAmazon CloudWatch 是一種 Web 服務,可收集和線索指標以監控 Amazon Web Services (AWS) 資源以及您在 AWS 上執行的應用程式。Amazon CloudWatch Logs 是專用來監控日誌資料的 CloudWatch 功能。與 CloudWatch Logs 的整合可讓 CloudTrail 將 AWS 帳戶中包含 API 活動的事件傳送至 CloudWatch Logs日誌群組。傳送至 CloudWatch Logs 的 CloudTrail 事件可以根據您定義的指標篩選條件來觸發警示。您可以選擇性地設定 CloudWatch 警示來傳送通知,或根據指標篩選條件所擷取的日誌串流事件來變更所監控的資源。使用 CloudWatch Logs,您也可以線索 CloudTrail 事件與來自作業系統、應用程式或其他傳送至CloudWatch Logs 之 AWS 服務的事件。如需詳細資訊,請參閱 使用 監控 日誌檔案 (p. 136)。

Amazon CloudWatch Events 是一種 AWS 服務,可傳送近乎即時的系統事件串流,說明 AWS 資源所發生的變更。在 CloudWatch 活動 中,您可以建立觸發 CloudTrail 記錄的任何事件的規則。如需詳細資訊,請參閱使用 AWS CloudTrail 建立在 AWS API 呼叫上觸發的 CloudWatch 活動 規則。

Insights events 已與 CloudWatch 整合。您可以將您在線索中訂閱的事件 (包括 Insights events) 傳送至CloudWatch 活動 和 CloudWatch Logs。若要使用 CloudWatch 主控台或 API 設定 CloudWatch 活動,請在CloudWatch 主控台的 Create rule (建立規則) 頁面上選擇 AWS Insight via CloudTrail 事件類型。

要將 CloudTrail 記錄的資料傳送至 CloudWatch Logs 或 CloudWatch 活動,您至少要有一個線索。如需如何建立線索的詳細資訊,請參閱建立線索 (p. 62)。

如何在區域與全域執行 CloudTrail?線索可以套用至所有區域或單一區域。最佳實務是建立線索,套用至所處理之 AWS 分割區中的所有區域。當您在 CloudTrail 主控台中建立線索時,此為預設設定。

Note

Turning on a trail (開啟線索) 表示您建立線索,並開始將 CloudTrail 事件日誌檔案交付到 AmazonS3 儲存貯體。在 CloudTrail 主控台中建立線索時,即自動開啟記錄日誌。

套用結尾到所有區域的好處為何?套用至所有 AWS 區域的線索具有下列優點:

• 線索的組態設定會一致地套用至所有 AWS 區域。• 您可以在單一 Amazon S3 儲存貯體與 CloudWatch Logs 日誌群組 (選用) 中收到來自所有 AWS 區域的

CloudTrail 事件。• 您可以從一個位置管理所有 AWS 區域的線索組態。• 您會立即收到來自新 AWS 區域的事件。啟動新的 AWS 區域時,CloudTrail 會自動在新的區域中建立區域

中所有線索的複本,並套用與原始線索相同的設定。• 您無需在不常使用的 AWS 區域中建立線索以監控異常活動。任何 AWS 區域中的任何活動都會記錄在套

用於所有 AWS 區域的線索中。

當您套用結尾到所有區域時會如何?當您將線索套用至所有 AWS 區域時,CloudTrail 會使用您在特定區域中建立的線索,於您帳戶中之所有其他區域中建立具有相同組態的線索。

如此會帶來下列效果:

• CloudTrail 會將所有 AWS 區域中帳戶活動的日誌檔案交付至您指定的單一 Amazon S3 儲存貯體,並選擇性地交付至 CloudWatch Logs 日誌群組。

版本 1.08

Page 14: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南關於全球服務事件

• 如果您已設定線索的 Amazon SNS 主題,則所有 AWS 區域中日誌檔案交付的 SNS 通知會傳送至單一SNS 主題。

• 如果您已予以啟用,就會啟用所有 AWS 區域中之線索的日誌檔案完整性驗證。如需相關資訊,請參閱「驗證 CloudTrail 日誌檔案完整性 (p. 178)」。

每個區域多個路徑如果您有不同但相關的使用者群組 (例如開發人員、安全人員和 IT 稽核員),則可以為每個區域建立多個線索。這可讓每個群組收到各自的日誌檔案副本。

CloudTrail 在每個區域可支援五個線索。套用至所有 AWS 區域的線索會在每個區域中計為一個線索。

下列範例是含有五個線索的區域:

• 您在 美國西部 (加利佛尼亞北部) 區域 中建立只套用至此區域的兩個線索。• 您在 美國西部 (加利佛尼亞北部) 區域 中另外建立套用至所有 AWS 區域的兩個線索。• 您在 亞太 (雪梨) 區域 中建立套用至所有 AWS 區域的線索。此線索在 美國西部 (加利佛尼亞北部) 區域 中

也計為一個線索。

線索會出現在他們存在的 AWS 區域中。記錄所有 AWS 區域中事件的線索會出現在每個區域中。您可以在CloudTrail 主控台的 Trails (線索) 頁面上查看您在 AWS 區域中之線索的清單。如需詳細資訊,請參閱 更新路徑 (p. 70)。如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價。

AWS Security Token Service (AWS STS) 和 CloudTrailAWS STS 為一內含全域端點的服務,同時也支援區域特定的端點。端點指的是用做 Web 服務請求之進入點的 URL。例如,https://cloudtrail.us-west-2.amazonaws.com 是 AWS CloudTrail 服務的 美國西部 (奧勒岡) 區域進入點。區域端點將有助於降低應用程式的延遲。

當您使用 AWS STS 區域特定端點時,該區域中的線索只會交付該區域中發生的 AWS STS 事件。例如,如果您要使用端點 sts.us-west-2.amazonaws.com,則 us-west-2 中的線索只會交付源自 us-west-2 的AWS STS 事件。如需 AWS STS 區域端點的詳細資訊,請參閱《AWS STSAWS》中的在 區域中啟用和停用 IAM 使用者指南。

如需完整的 AWS 區域端點清單,請參閱《AWS》中的 AWS General Reference 區域和端點。如需全域AWS STS 端點之事件的詳細資訊,請參閱 關於全球服務事件 (p. 9)。

關於全球服務事件對於大多數服務,事件會記錄在動作所發生的區域。對於如 AWS Identity and Access Management(IAM)、AWS STS 和 Amazon CloudFront 等全球服務,系統會將事件傳送到包含全域服務的任何路徑。

對於大多數全域服務,事件會依 美國東部 (維吉尼亞北部) 區域 中的發生方式登入,但有些全域服務事件會依其他區域中發生的方式登入,例如 美國東部 (俄亥俄) 區域 或 美國西部 (奧勒岡) 區域。

為了避免收到重複的全球服務事件,請記住下列項目:

• 根據預設,全球服務事件會交付至使用 CloudTrail 主控台所建立的線索。事件會交付至線索的儲存貯體。• 如果您有多個單一區域線索,請考慮設定線索,使之只會交付一個線索的全球服務事件。如需詳細資訊,

請參閱 啟用及停用全域服務事件記錄 (p. 80)。• 如果您將線索的組態從記錄所有區域變更為記錄單一區域,則會自動關閉該線索的全球服務事件記錄日

誌。同樣地,如果您將線索的組態從記錄單一區域變更為記錄所有區域,則會自動開啟該線索的全球服務事件記錄日誌。

如需變更線索之全球服務事件記錄日誌的詳細資訊,請參閱 啟用及停用全域服務事件記錄 (p. 80)。

版本 1.09

Page 15: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南與其他 CloudTrail 監控服務的關係為何?AWS

範例:

1. 您在 CloudTrail 主控台中建立線索。根據預設,此線索會記錄全球服務事件。2. 您有多個單一區域線索。3. 您不需要在單一區域線索中包含全球服務。會交付第一個線索的全球服務事件。如需詳細資訊,請參閱

使用 AWS Command Line Interface 建立、更新和管理 的管道 (p. 76)。

Note

當您使用 AWS CLI、AWS SDKs 或 CloudTrail API 建立或更新結尾時,可以指定是否要包含或排除路徑的全域服務事件。您無法從 CloudTrail 主控台設定全球服務事件記錄日誌。

與其他 CloudTrail 監控服務的關係為何?AWSCloudTrail 會將另一個維度新增至 AWS 已提供的監控功能。這麼做不會變更或取代您可能正在使用的記錄日誌功能 (例如 Amazon S3 或 Amazon CloudFront 訂閱的功能)。Amazon CloudWatch 著重的是效能監控和系統運作狀態。CloudTrail 著重的是 API 活動。雖然 CloudTrail 不會報告系統效能或運作狀態,但是您可以在 CloudTrail 使用 CloudWatch 警示,通知您可能感興趣的活動。

合作夥伴方案AWS 會與第三方記錄和分析專家合作,提供使用 CloudTrail 輸出的解決方案。如需詳細資訊,請造訪CloudTrail AWSCloudTrail 的 詳細資訊頁面。

CloudTrail 支援的區域區域名稱 Region Endpoint 通訊協定 AWS 帳戶 ID 支援日期

美國東部(俄亥俄)

us-east-2 cloudtrail.us-east-2.amazonaws.com

HTTPS 475085895292 2016/10/17

USEast (N.Virginia)

us-east-1 cloudtrail.us-east-1.amazonaws.com

HTTPS 086441151436 2013/11/13

美國西部(加州北部)

us-west-1 cloudtrail.us-west-1.amazonaws.com

HTTPS 388731089494 2014/05/13

美國西部(奧勒岡)

us-west-2 cloudtrail.us-west-2.amazonaws.com

HTTPS 113285607260 11/13/2013

加拿大 (中部)

ca-central-1

cloudtrail.ca-central-1.amazonaws.com

HTTPS 819402241893 2016/12/08

非洲 (開普敦)

af-south-1 cloudtrail.af-south-1.amazonaws.com

HTTPS 525921808201 04/22/2020

亞太區域(香港)

ap-east-1 cloudtrail.ap-east-1.amazonaws.com

HTTPS 119688915426 2019/04/24

亞太區域(孟買)

ap-south-1 cloudtrail.ap-south-1.amazonaws.com

HTTPS 977081816279 2016/06/27

亞太區域(大阪當地)

ap-northeast-3

cloudtrail.ap-northeast-3.amazonaws.com

HTTPS 765225791966 2018/02/12

版本 1.010

Page 16: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 支援的區域

區域名稱 Region Endpoint 通訊協定 AWS 帳戶 ID 支援日期

亞太區域(首爾)

ap-northeast-2

cloudtrail.ap-northeast-2.amazonaws.com

HTTPS 492519147666 2016/01/06

亞太區域(新加坡)

ap-southeast-1

cloudtrail.ap-southeast-1.amazonaws.com

HTTPS 903692715234 2014/06/30

亞太區域(雪梨)

ap-southeast-2

cloudtrail.ap-southeast-2.amazonaws.com

HTTPS 284668455005 2014/05/13

亞太區域(東京)

ap-northeast-1

cloudtrail.ap-northeast-1.amazonaws.com

HTTPS 216624486486 2014/06/30

中國 (北京) cn-north-1 cloudtrail.cn-north-1.amazonaws.com.cn

HTTPS 193415116832 2014/03/01

中國 (寧夏) cn-northwest-1

cloudtrail.cn-northwest-1.amazonaws.com.cn

HTTPS 681348832753 2017/12/11

歐洲 (法蘭克福)

eu-central-1

cloudtrail.eu-central-1.amazonaws.com

HTTPS 035351147821 2014/10/23

歐洲 (斯德哥爾摩)

eu-north-1 cloudtrail.eu-north-1.amazonaws.com

HTTPS 829690693026 12/11/2018

歐洲 (愛爾蘭)

eu-west-1 cloudtrail.eu-west-1.amazonaws.com

HTTPS 859597730677 2014/05/13

歐洲 (倫敦) eu-west-2 cloudtrail.eu-west-2.amazonaws.com

HTTPS 282025262664 2016/12/13

歐洲 (巴黎) eu-west-3 cloudtrail.eu-west-3.amazonaws.com

HTTPS 262312530599 2017/12/18

歐洲 (米蘭) eu-south-1 cloudtrail.eu-south-1.amazonaws.com

HTTPS 669305197877 2020/04/27

中東 (巴林) me-south-1

cloudtrail.me-south-1.amazonaws.com

HTTPS 034638983726 2019/07/29

AWSGovCloud(美國東部)

us-gov-east-1

cloudtrail.us-gov-east-1.amazonaws.com

HTTPS 886388586500 2018/11/12

AWSGovCloud(美國西部)

us-gov-west-1

cloudtrail.us-gov-west-1.amazonaws.com

HTTPS 608710470296 2011/08/16

南美洲 (聖保羅)

sa-east-1 cloudtrail.sa-east-1.amazonaws.com

HTTPS 814480443879 2014/06/30

如需在 CloudTrail 中使用 AWS GovCloud (美國東部) 區域 的詳細資訊,請前往 中的 AWS GovCloud (美國東部) 端點。AWS GovCloud (US) User Guide

如需在 CloudTrail 區域中使用 AWS GovCloud (US-West) 的詳細資訊,請前往 中的 AWS GovCloud (US-West) 端點。AWS GovCloud (US) User Guide

如需在 CloudTrail 區域中使用 中國 (北京) 的詳細資訊,請前往 中的 中國 (北京) 區域 端點。Amazon WebServices 一般參考

版本 1.011

Page 17: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 日誌檔案範例

CloudTrail 日誌檔案範例CloudTrail 會監控您帳戶的事件。如果您建立線索,其會將這些事件做為日誌檔案交付至您的 Amazon S3 儲存貯體。若要進一步了解日誌檔案,請參閱下列項目。

主題• CloudTrail 日誌檔案名稱格式 (p. 12)• 日誌檔案範例 (p. 12)

CloudTrail 日誌檔案名稱格式CloudTrail 會將下列檔案名稱格式用於它交付至您 Amazon S3 儲存貯體的日誌檔案物件:

AccountID_CloudTrail_RegionName_YYYYMMDDTHHmmZ_UniqueString.FileNameFormat

• YYYY、MM、DD、HH 和 mm 是交付日誌檔案之年、月、日、時和分的數字。小時為 24 小時格式。Z 指出時間為 UTC 時間。

Note

在特定時間交付的日誌檔,會包含該時間之前的任何時間點所寫入之記錄。• 日誌檔案名稱的 16 字元 UniqueString 元件是為了避免覆寫檔案。它沒有任何意義,所以日誌處理軟體

應會忽略它。• FileNameFormat 是檔案的編碼。目前,這是 json.gz,即壓縮 gzip 格式的 JSON 文字檔。

範例 CloudTrail Log 檔案名稱

111122223333_CloudTrail_us-east-2_20150801T0210Z_Mu0KsOhtH1ar15ZZ.json.gz

日誌檔案範例日誌檔案包含一或多筆記錄。下列範例是日誌的程式碼片段,可顯示開始建立日誌檔案之動作的記錄。

內容• Amazon EC2 日誌範例 (p. 12)• IAM 日誌範例 (p. 14)• 錯誤代碼和訊息日誌範例 (p. 16)• CloudTrail Insights 事件記錄範例 (p. 16)

Amazon EC2 日誌範例Amazon Elastic Compute Cloud (Amazon EC2) 在 AWS 雲端中提供可重新調整大小的運算容量。您可以啟動虛擬伺服器、設定安全和聯網功能,以及管理儲存。Amazon EC2 也可以迅速擴展與縮減規模,以處理需求或熱門高峰的變更,從而降低您預測伺服器流量的需求。如需詳細資訊,請參閱《Linux 執行個體的Amazon EC2 使用者指南》。

下列範例顯示名為 Alice 的 IAM 使用者使用 AWS CLI 將 命令用於執行個體 ,來呼叫 動作。

{"Records": [{ "eventVersion": "1.0", "userIdentity": {

版本 1.012

Page 18: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南日誌檔案範例

"type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Alice", "accessKeyId": "EXAMPLE_KEY_ID", "accountId": "123456789012", "userName": "Alice" }, "eventTime": "2014-03-06T21:22:54Z", "eventSource": "ec2.amazonaws.com", "eventName": "StartInstances", "awsRegion": "us-east-2", "sourceIPAddress": "205.251.233.176", "userAgent": "ec2-api-tools 1.6.12.2", "requestParameters": {"instancesSet": {"items": [{"instanceId": "i-ebeaf9e2"}]}}, "responseElements": {"instancesSet": {"items": [{ "instanceId": "i-ebeaf9e2", "currentState": { "code": 0, "name": "pending" }, "previousState": { "code": 80, "name": "stopped" } }]}}}]}

下列範例顯示名為 Alice 的 IAM 使用者使用 AWS CLI 透過 命令,來呼叫 動作。

{"Records": [{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "userName": "Alice" }, "eventTime": "2014-03-06T21:01:59Z", "eventSource": "ec2.amazonaws.com", "eventName": "StopInstances", "awsRegion": "us-east-2", "sourceIPAddress": "205.251.233.176", "userAgent": "ec2-api-tools 1.6.12.2", "requestParameters": { "instancesSet": {"items": [{"instanceId": "i-ebeaf9e2"}]}, "force": false }, "responseElements": {"instancesSet": {"items": [{ "instanceId": "i-ebeaf9e2", "currentState": { "code": 64, "name": "stopping" }, "previousState": { "code": 16, "name": "running" } }]}}}]}

下列範例顯示 Amazon EC2 主控台後端呼叫 CreateKeyPair 動作,以回應 IAM 使用者 Alice 所起始的請求。請注意,responseElements 包含金鑰對的雜湊,而且 AWS 已移除金鑰資料。

版本 1.013

Page 19: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南日誌檔案範例

{"Records": [{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "userName": "Alice", "sessionContext": {"attributes": { "mfaAuthenticated": "false", "creationDate": "2014-03-06T15:15:06Z" }} }, "eventTime": "2014-03-06T17:10:34Z", "eventSource": "ec2.amazonaws.com", "eventName": "CreateKeyPair", "awsRegion": "us-east-2", "sourceIPAddress": "72.21.198.64", "userAgent": "EC2ConsoleBackend, aws-sdk-java/Linux/x.xx.fleetxen Java_HotSpot(TM)_64-Bit_Server_VM/xx", "requestParameters": {"keyName": "mykeypair"}, "responseElements": { "keyName": "mykeypair", "keyFingerprint": "30:1d:46:d0:5b:ad:7e:1b:b6:70:62:8b:ff:38:b5:e9:ab:5d:b8:21", "keyMaterial": "\u003csensitiveDataRemoved\u003e" }}]}

IAM 日誌範例AWS Identity and Access Management (IAM) 是一種 Web 服務,可讓 AWS 客戶管理使用者和使用者許可。使用 IAM,您可以管理使用者、安全登入資料 (例如存取金鑰),以及控制使用者可存取之 AWS 資源的許可。如需詳細資訊,請參閱《IAM 使用者指南》。

下列範例顯示 IAM 使用者 Alice 使用 AWS CLI 來呼叫 CreateUser 動作,以建立名為 Bob 的新使用者。

{"Records": [{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "userName": "Alice" }, "eventTime": "2014-03-24T21:11:59Z", "eventSource": "iam.amazonaws.com", "eventName": "CreateUser", "awsRegion": "us-east-2", "sourceIPAddress": "127.0.0.1", "userAgent": "aws-cli/1.3.2 Python/2.7.5 Windows/7", "requestParameters": {"userName": "Bob"}, "responseElements": {"user": { "createDate": "Mar 24, 2014 9:11:59 PM", "userName": "Bob", "arn": "arn:aws:iam::123456789012:user/Bob", "path": "/", "userId": "EXAMPLEUSERID" }}}]}

版本 1.014

Page 20: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南日誌檔案範例

下列範例顯示 IAM 使用者 Alice 使用 AWS 管理主控台 來呼叫 AddUserToGroup 動作,以將 Bob 新增至管理員群組。

{"Records": [{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "userName": "Alice", "sessionContext": {"attributes": { "mfaAuthenticated": "false", "creationDate": "2014-03-25T18:45:11Z" }} }, "eventTime": "2014-03-25T21:08:14Z", "eventSource": "iam.amazonaws.com", "eventName": "AddUserToGroup", "awsRegion": "us-east-2", "sourceIPAddress": "127.0.0.1", "userAgent": "AWSConsole", "requestParameters": { "userName": "Bob", "groupName": "admin" }, "responseElements": null}]}

下列範例顯示 IAM 使用者 Alice 使用 AWS CLI 來呼叫 CreateRole 動作,以建立新的 IAM 角色。

{ "Records": [{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "userName": "Alice" }, "eventTime": "2014-03-25T20:17:37Z", "eventSource": "iam.amazonaws.com", "eventName": "CreateRole", "awsRegion": "us-east-2", "sourceIPAddress": "127.0.0.1", "userAgent": "aws-cli/1.3.2 Python/2.7.5 Windows/7", "requestParameters": { "assumeRolePolicyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\", \n\"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::210987654321:root\"\n },\n \"Action\": \"sts:AssumeRole\"\n }\n ]\n}", "roleName": "TestRole" }, "responseElements": { "role": { "assumeRolePolicyDocument": "%7B%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22%22%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Principal%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22AWS%22%3A%20%22arn%3Aaws%3Aiam%3A%3A803981987763%3Aroot%22%0A%20%20%20%20%20%20%7D%2C%0A

版本 1.015

Page 21: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南日誌檔案範例

%20%20%20%20%20%20%22Action%22%3A%20%22sts%3AAssumeRole%22%0A%20%20%20%20%7D%0A%20%20%5D%0A%7D", "roleName": "TestRole", "roleId": "AROAIUU2EOWSWPGX2UJUO", "arn": "arn:aws:iam::123456789012:role/TestRole", "createDate": "Mar 25, 2014 8:17:37 PM", "path": "/" } } }]}

錯誤代碼和訊息日誌範例下列範例顯示 IAM 使用者 Alice 使用 AWS CLI 來呼叫 UpdateTrail 動作,以更新名為 myTrail2 的線索,但找不到線索名稱。日誌會顯示 errorCode 和 errorMessage 元素中的這個錯誤。

{"Records": [{ "eventVersion": "1.04", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "EXAMPLE_KEY_ID", "userName": "Alice" }, "eventTime": "2016-07-14T19:15:45Z", "eventSource": "cloudtrail.amazonaws.com", "eventName": "UpdateTrail", "awsRegion": "us-east-2", "sourceIPAddress": "205.251.233.182", "userAgent": "aws-cli/1.10.32 Python/2.7.9 Windows/7 botocore/1.4.22", "errorCode": "TrailNotFoundException", "errorMessage": "Unknown trail: myTrail2 for the user: 123456789012", "requestParameters": {"name": "myTrail2"}, "responseElements": null, "requestID": "5d40662a-49f7-11e6-97e4-d9cb6ff7d6a3", "eventID": "b7d4398e-b2f0-4faa-9c76-e2d316a8d67f", "eventType": "AwsApiCall", "recipientAccountId": "123456789012"}]}

CloudTrail Insights 事件記錄範例下列範例顯示 CloudTrail Insights 事件日誌。Insights 事件實際上是一組事件,標記一段異常寫入管理API 活動期間的開始和結束。state 欄位會顯示事件是在異常活動期間的開始還是結束時記錄的。事件名稱 UpdateInstanceInformation 與 CloudTrail 分析管理事件以判斷發生異常活動的 AWS SystemsManager API 名稱相同。雖然開始和結束事件具有唯一的 eventID 值,但它們也具有由該組使用的sharedEventID 值。Insights 事件會顯示 baseline (活動的正常模式)、insight (觸發開始 Insights事件的或平均異常活動),以及在結束事件中,顯示 Insights 事件期間平均異常活動的 insight 值。如需CloudTrail Insights 的詳細資訊,請參閱 記錄線索的 Insights 事件 (p. 130)。

{ "Records": [ { "eventVersion": "1.07", "eventTime": "2019-11-14T00:51:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLE8-9621-4d00-b913-beca2EXAMPLE",

版本 1.016

Page 22: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 支援的服務和整合

"eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE2-1729-42f1-b735-5d8c0EXAMPLE", "insightDetails": { "state": "Start", "eventSource": "ssm.amazonaws.com", "eventName": "UpdateInstanceInformation", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 85.4202380952 }, "insight": { "average": 664 } } } }, "eventCategory": "Insight" }, { "eventVersion": "1.07", "eventTime": "2019-11-14T00:52:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLEc-28be-486c-8928-49ce6EXAMPLE", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE2-1729-42f1-b735-5d8c0EXAMPLE", "insightDetails": { "state": "End", "eventSource": "ssm.amazonaws.com", "eventName": "UpdateInstanceInformation", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 85.4202380952 }, "insight": { "average": 664 }, "insightDuration": 1 } } }, "eventCategory": "Insight" } ]}

CloudTrail 支援的服務和整合CloudTrail 支援記錄許多 AWS 服務的事件。您可以在每個受支援之服務的指南中找到該服務的詳細資訊。以下提供這些特定服務主題的連結。此外,一些 AWS 服務可用於分析工作,並對在 CloudTrail 日誌中收集的資料採取動作。您可以在這裡瀏覽那些服務整合的概觀。

Note

若要查看各項服務的支援區域清單,請參閱《https://docs.aws.amazon.com/general/latest/gr/rande.html》中的Amazon Web Services 一般參考區域與端點.

版本 1.017

Page 23: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS 服務與 CloudTrail 日誌的整合

主題• AWS 服務與 CloudTrail 日誌的整合 (p. 18)• CloudTrail 與 整合AWS Organizations (p. 19)• AWS適用於 的 服務主題CloudTrail (p. 19)• CloudTrail 不支援的服務 (p. 27)

AWS 服務與 CloudTrail 日誌的整合您可以設定其他 AWS 服務,以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。如需詳細資訊,請參閱下列主題。

AWS 服務 主題 描述

Amazon Athena 查詢 AWS CloudTrail 日誌 搭配使用 Athena 與 CloudTrail 日誌是一種功能強大的方式,可增強 AWS 服務活動的分析。例如,您可以使用查詢來識別趨勢,並依屬性 (例如來源 IP 地址或使用者) 進一步隔離活動。

您可以自動建立資料表直接從CloudTrail 主控台查詢日誌,並使用這些資料表在 Athena. 中執行查詢。如需詳細資訊,請前往 的CloudTrail 主控台CloudTrail建立 Logs 資料表Amazon Athena 使用者指南。

Note

在 Amazon Athena 執行查詢會產生額外的成本。如需更多詳細資訊,請參閱 Amazon Athena 定價

Amazon CloudWatch Logs 使用 監控 日誌檔案 (p. 136) 您可以設定含 CloudTrail 的CloudWatch Logs 監控您的線索日誌,並在發生特定活動時通知您。例如,您可以定義CloudWatch Logs 指標篩選條件,以觸發 CloudWatch 警示,並在觸發這些警示時將通知傳送給您。

Note

Amazon CloudWatch 和Amazon CloudWatchLogs 適用的標準定價。如需詳細資訊,請參閱Amazon CloudWatch 定價.

版本 1.018

Page 24: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 與 整合AWS Organizations

CloudTrail 與 整合AWS Organizations您可以在組織管理帳號中建立結尾,該組織會收集 AWS 中所有組織 AWS Organizations 帳號的所有事件資料。這類稱為組織線索。建立組織線索,有助於您為組織定義一個統一的事件記錄策略。組織線索會自動套用到組織中的個別 AWS 帳戶。在成員帳戶中的使用者可以查看這些線索,但無法修改它們,而且根據預設,無法查看為組織線索建立的日誌檔。如需詳細資訊,請參閱 建立組織的路徑 (p. 95).

AWS適用於 的 服務主題CloudTrail您可以進一步了解如何在 AWS 日誌中記錄個別 CloudTrail 服務的事件,包括日誌檔案中該服務的範例事件。如需特定 AWS 服務如何與 CloudTrail 整合的詳細資訊,請參閱該服務之個別指南中有關整合的主題。

AWS 服務 CloudTrail 主題 支援開始時間

Alexa for Business 使用 Alexa for Business Alexa for Business 管理呼叫 AWS CloudTrail

2017/11/29

AWS 稽核管理員 使用 登入 AWS Audit Manager API 呼叫 AWSCloudTrail

12/07/2020

Amazon API Gateway 使用 Amazon API Gateway 對 的 Log API 管理呼叫AWS CloudTrail

2015/07/09

Amazon Connect 使用 AWS 登入 Amazon Connect API 呼叫CloudTrail

12/11/2019

Application Auto Scaling 使用 Application Auto Scaling 登入 API 呼叫 AWSCloudTrail

2016/10/31

AWS Application DiscoveryService

使用 Application Discovery Service 登入 API 呼叫AWS CloudTrail

2016/05/12

Amazon AppFlow 使用 AppFlow 登入 Amazon API 呼叫 AWSCloudTrail

04/22/2020

AWS App Mesh 使用 Logging App Mesh API 呼叫 AWS CloudTrail  

Amazon AppStream 2.0 使用 Amazon AppStream 2.0 登入 API 呼叫 AWSCloudTrail

2019/04/25

AWS AppSync 使用 AWS AppSync 登入 API 呼叫 AWS CloudTrail 2018/02/13

Amazon Athena 使用 Amazon Athena 登入 API 呼叫 AWS CloudTrail 2017/05/19

AWS Auto Scaling 使用 AWS Auto Scaling 登入 API 呼叫 CloudTrail 08/15/2018

AWS Backup 使用 AWS Backup 登入 API 呼叫 AWS CloudTrail 2019/02/04

AWS Batch 使用 AWS Batch 登入 API 呼叫 AWS CloudTrail 2018/1/10

AWS Billing and CostManagement

使用 AWS Billing and Cost Management 登入 API 呼叫 AWS CloudTrail

2018/06/07

AWS Certificate Manager 使用 AWS CloudTrail 2016/03/25

AWS Certificate Manager Privatecertificate authority

使用 CloudTrail 2019/06/06

Amazon Chime 使用 Amazon Chime 登入 管理呼叫 AWS CloudTrail 2017/09/27

版本 1.019

Page 25: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS適用於 的 服務主題CloudTrail

AWS 服務 CloudTrail 主題 支援開始時間

Amazon Cloud Directory 使用 Amazon Cloud Directory 登入 API 呼叫 AWSCloudTrail

2017/01/26

AWS Cloud9 使用 AWS Cloud9 登入 API 呼叫 AWS CloudTrail 01/21/2019

AWS CloudFormation 在 AWS CloudFormation 中登入 API 呼叫 AWSCloudTrail

2014/04/02

Amazon CloudFront 使用 AWS CloudTrail 來擷取傳送到 CloudFront API的請求

2014/05/28

AWS CloudHSM 使用 AWS CloudHSM 登入 API 呼叫 AWSCloudTrail

2015/01/08

AWS Cloud Map 使用 AWS 登入 Cloud Map API 呼叫 AWSCloudTrail

2018/11/28

Amazon CloudSearch 使用 Amazon CloudSearch 登入 組態服務呼叫 AWSCloudTrail

2014/10/16

AWS CloudTrail AWS CloudTrail API ReferenceCloudTrail 會記錄所有 CloudTrail.) API 呼叫)

11/13/2013

Amazon CloudWatch 在 Amazon CloudWatch 中登入 API 呼叫 AWSCloudTrail

2014/04/30

CloudWatch 活動 在 Amazon CloudWatch Events 中登入 API 呼叫AWS CloudTrail

2016/01/16

CloudWatch Logs 在 Amazon CloudWatch Logs 中登入 API 呼叫 AWSCloudTrail

2016/03/10

AWS CodeBuild 使用 AWS CodeBuild 登入 API 呼叫 AWS CloudTrail 2016/12/01

AWS CodeCommit 使用 AWS CodeCommit 登入 API 呼叫 AWSCloudTrail

2017/01/11

AWS CodeDeploy 使用 監控部署 AWS CloudTrail 2014/12/16

Amazon CodeGuru Reviewer 使用 Amazon CodeGuru Reviewer 登入 API 呼叫AWS CloudTrail

12/02/2019

AWS CodePipeline 使用 CodePipeline 登入 API 呼叫 AWS CloudTrail 2015/07/09

AWS CodeStar 使用 AWS CodeStar 登入 API 呼叫 AWS CloudTrail 2017/06/14

AWS CodeStar 通知 使用 AWS CodeStar 登入 通知 API 呼叫 AWSCloudTrail

11/05/2019

Amazon Cognito 使用 Amazon Cognito 登入 API 呼叫 AWSCloudTrail

2016/02/18

Amazon Comprehend 使用 Amazon Comprehend 登入 API 呼叫 AWSCloudTrail

01/17/2018

Amazon Comprehend Medical 使用 Amazon Comprehend Medical 登入 API 呼叫AWS CloudTrail

11/27/2018

AWS Config 使用 AWS Config 登入 的 API 呼叫 AWS CloudTrail 2015/02/10

版本 1.020

Page 26: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS適用於 的 服務主題CloudTrail

AWS 服務 CloudTrail 主題 支援開始時間

AWS Control Tower 使用 AWS Control Tower 登入 動作 AWS CloudTrail 08/12/2019

Amazon Data 生命週期管理員 使用 Amazon Data 生命週期管理員 登入 API 呼叫AWS CloudTrail

2018/07/24

AWS Data Pipeline 使用 AWS Data Pipeline 登入 API 呼叫 AWSCloudTrail

2014/12/02

AWS Database Migration Service(AWS DMS)

使用 AWS Database Migration Service 登入 API 呼叫 AWS CloudTrail

2016/02/04

AWS DataSync 使用 AWS DataSync 登入 API 呼叫 AWS CloudTrail 11/26/2018

Amazon Detective 使用 Detective 登入 Amazon API 呼叫 AWSCloudTrail

03/31/2020

AWS Device Farm 使用 AWS Device Farm 登入 API 呼叫 AWSCloudTrail

2015/07/13

AWS Direct Connect 在 AWS Direct Connect 中登入 API 呼叫 AWSCloudTrail

2014/03/08

AWS Directory Service 使用 AWS Directory Service 登入 API 呼叫CloudTrail

2015/05/14

Amazon DocumentDB (與MongoDB 相容)

使用 AWS 登入 Amazon DocumentDB API 呼叫CloudTrail

2019/01/09

Amazon DynamoDB 使用 DynamoDB 登入 操作 AWS CloudTrail 2015/05/28

Amazon Elastic ContainerRegistry (Amazon ECR)

使用 Amazon ECR 登入 API 呼叫 AWS CloudTrail 2015/12/21

Amazon Elastic ContainerService (Amazon ECS)

使用 Amazon ECS 登入 API 呼叫 AWS CloudTrail 2015/04/09

AWS Elastic Beanstalk (ElasticBeanstalk)

搭配 Elastic Beanstalk 使用 API 呼叫 AWSCloudTrail

2014/03/31

Amazon Elastic Block Store(Amazon EBS)

記錄 API 呼叫的方式 AWS CloudTrail 11/13/2013

Amazon Elastic Compute Cloud(Amazon EC2)

記錄 API 呼叫的方式 AWS CloudTrail 11/13/2013

Amazon EC2 Auto Scaling 使用 Auto Scaling 登入 API 呼叫 CloudTrail 2014/07/16

Amazon Elastic File System(Amazon EFS)

使用 Amazon EFS 登入 API 呼叫 AWS CloudTrail 2016/06/28

Amazon Elastic KubernetesService (Amazon EKS)

使用 登入 Amazon EKS API 呼叫 AWS CloudTrail 2018/06/05

Elastic Load Balancing Classic Load Balancer 的 AWS CloudTrail 記錄日誌和 AWS CloudTrail 的 Application Load Balancer記錄日誌

2014/04/04

Amazon Elastic Transcoder 使用 Amazon Elastic Transcoder 登入 API 呼叫AWS CloudTrail

2014/10/27

版本 1.021

Page 27: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS適用於 的 服務主題CloudTrail

AWS 服務 CloudTrail 主題 支援開始時間

Amazon ElastiCache 使用 Amazon ElastiCache 登入 API 呼叫 AWSCloudTrail

2014/09/15

Amazon Elasticsearch Service 使用 Amazon Elasticsearch Service 稽核 網域 AWSCloudTrail

2015/10/01

AWS Elemental MediaConnect 使用 MediaConnect 登入 AWS Elemental API 呼叫AWS CloudTrail

11/27/2018

AWS Elemental MediaConvert 使用 MediaConvert 登入 AWS Elemental API 呼叫CloudTrail

2017/11/27

AWS Elemental MediaLive 使用 MediaLive 登入 API 呼叫 AWS CloudTrail 01/19/2019

AWS Elemental MediaPackage 使用 AWS Elemental MediaPackage 登入 API 呼叫AWS CloudTrail

12/21/2018

AWS Elemental (元素)MediaStore

使用 MediaStore 登入 AWS Elemental API 呼叫CloudTrail

2017/11/27

AWS Elemental MediaTailor 使用 AWS Elemental MediaTailor 登入 API 呼叫AWS CloudTrail

2019/02/11

Amazon EMR 在 Amazon EMR 中登入 API 呼叫 AWS CloudTrail 2014/04/04

Amazon EMREKS 上的 使用 Amazon EMR 登入 EKS API 呼叫 AWSCloudTrail

12/09/2020

AWS Firewall Manager 使用 AWS Firewall Manager 登入 API 呼叫 AWSCloudTrail

2018/04/05

Amazon Forecast 使用 登入 Amazon Forecast API 呼叫 AWSCloudTrail

2018/11/28

FreeRTOS 無線更新 (OTA) 使用 IoT 登入 AWS OTA API 呼叫 AWS CloudTrail 2019/05/22

Amazon FSx for Lustre 使用 Amazon FSx for Lustre 登入 API 呼叫 AWSCloudTrail

01/11/2019

Amazon FSx for Windows FileServer

使用 進行監控 AWS CloudTrail 2018/11/28

Amazon GameLift 使用 Amazon GameLift 登入 API 呼叫 AWSCloudTrail

2016/01/27

Amazon S3 Glacier 使用 S3 Glacier 登入 API 呼叫 AWS CloudTrail 2014/12/11

AWS Global Accelerator 使用 AWS 登入 Global Accelerator API 呼叫 AWSCloudTrail

11/26/2018

AWS Glue 使用 AWS Glue 登入 操作 AWS CloudTrail 2017/11/07

AWS Ground Station 使用 AWS Ground Station 登入 API 呼叫 AWSCloudTrail

05/31/2019

Amazon GuardDuty 使用 Amazon GuardDuty 登入 API 呼叫 AWSCloudTrail

2018/02/12

AWS Health 使用 AWS Health 登入 API 呼叫 AWS CloudTrail 2016/11/21

版本 1.022

Page 28: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS適用於 的 服務主題CloudTrail

AWS 服務 CloudTrail 主題 支援開始時間

Amazon HealthLake 使用 HealthLake 登入 Amazon API 呼叫 AWSCloudTrail

12/07/2020

Amazon Honeycode (AmazonHoneycode)

使用 登入 Amazon Honeycode API 呼叫 AWSCloudTrail

06/24/2020

Amazon Inspector 使用 Amazon Inspector 登入 API 呼叫 AWSCloudTrail

2016/04/20

Amazon Interactive VideoService (Amazon 互動式影片服務)

使用 登入 Amazon IVS API 呼叫 AWS CloudTrail 07/15/2020

AWS IoT 使用 AWS IoT 登入 API 呼叫 AWS CloudTrail 2016/04/11

AWS IoT 分析 使用 AWS IoT 登入 Analytics API 呼叫 AWSCloudTrail

2018/04/23

AWS IoT 1-Click 使用 AWS IoT 1-Click 登入 API 呼叫 AWSCloudTrail

2018/05/14

AWS IoT 事件 使用 IoT 登入 AWS 事件 API 呼叫 AWS CloudTrail 2019/06/11

AWS IoT Greengrass 使用 AWS IoT Greengrass 登入 API 呼叫 AWSCloudTrail

10/29/2018

AWS IoT Greengrass V2 使用 AWS IoT Greengrass 登入 V2 API 呼叫 AWSCloudTrail

12/14/2020

AWS IoT SiteWise 使用 AWS IoT SiteWise 登入 API 呼叫 AWSCloudTrail

2020/04/29

AWS IoT Things Graph 使用 AWS IoT Things Graph 登入 API 呼叫 AWSCloudTrail

05/31/2019

AWS Identity and AccessManagement (IAM)

使用 IAM 登入 事件 AWS CloudTrail 11/13/2013

Amazon Kendra 使用 Amazon Kendra 登入 API 呼叫 AWS CloudTrail 05/11/2020

AWS Key Management Service(AWS KMS)

使用 AWS KMS 登入 API 呼叫 AWS CloudTrail 2014/11/12

Amazon Kinesis Data Analytics 使用 Amazon Kinesis Data Analytics (SQL 應用程式) 監控 AWS CloudTrail 和使用 Amazon KinesisData Analytics (Apache Flink 應用程式) 監控 AWSCloudTrail

2019/03/22

Amazon Kinesis Data Firehose 使用 Amazon Kinesis Data Firehose 監控 API 呼叫AWS CloudTrail

2016/03/17

Amazon Kinesis Data Streams 使用 Amazon Kinesis Data Streams 登入 API 呼叫AWS CloudTrail

2014/04/25

Amazon Kinesis Video Streams 使用 Kinesis Video Streams 登入 API 呼叫 AWSCloudTrail

2018/05/24

版本 1.023

Page 29: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS適用於 的 服務主題CloudTrail

AWS 服務 CloudTrail 主題 支援開始時間

AWS Lambda 使用 AWS Lambda 登入 API 呼叫 AWS CloudTrail

搭配使用 Lambda 與 AWS CloudTrail

管理事件:2015/04/09

資料事件:2017/11/30

Amazon Lex 使用 Amazon Lex 登入 API 呼叫 CloudTrail 2017/08/15

AWS 授權管理員 使用 AWS 登入 授權管理員 API 呼叫 AWSCloudTrail

2019/03/01

Amazon Lightsail 使用 Lightsail 登入 API 呼叫 AWS CloudTrail 2016/12/23

Amazon Location Service(Amazon 位置服務)

使用 進行登入和監控 AWS CloudTrail 12/15/2020

Amazon Visionout (Amazon 視覺觀點)

使用 進行 Amazon Lookout 的視覺呼叫 AWSCloudTrail

12/01/2020

設備 Amazon Lookout 使用 監控設備呼叫的 Amazon Lookout AWSCloudTrail

12/01/2020

指標的 Amazon Lookout 在 中檢視指標 API 活動的 Amazon Lookout AWSCloudTrail

12/08/2020

Amazon Machine Learning 使用 Amazon ML 登入 API 呼叫 AWS CloudTrail 2015/12/10

Amazon Macie 使用 Amazon Macie 登入 API 呼叫 AWS CloudTrail 05/13/2020

Amazon Keyspaces (適用於Apache Cassandra)

使用 Amazon Keyspaces 登入 API 呼叫 AWSCloudTrail

2020/01/13

AWS Managed Services AWS 受管服務 2016/12/21

Amazon Managed Streaming forApache Kafka

使用 登入 Amazon MSK API 呼叫 AWS CloudTrail 2018/12/11

AWS Marketplace 使用 AWS Marketplace 登入 API 呼叫 AWSCloudTrail

2017/05/02

AWS Marketplace 計量服務 使用 AWS Marketplace 登入 API 呼叫 AWSCloudTrail

2018/08/22

AWS Migration Hub 使用 AWS 登入 Migration Hub API 呼叫 AWSCloudTrail

2017/08/14

AWS Mobile Hub 使用 登入 AWS Mobile CLI API 呼叫 AWSCloudTrail

2018/06/29

Amazon MQ 使用 Amazon MQ 登入 API 呼叫 AWS CloudTrail 2018/07/19

Amazon Neptune 使用 Amazon Neptune 登入 API 呼叫 AWSCloudTrail

2018/05/30

AWS 網路 Firewall 使用 登入 AWS Network Firewall API 的呼叫 AWSCloudTrail

11/17/2020

AWS OpsWorks 使用 AWS OpsWorks 登入 API 呼叫 AWS CloudTrail 2014/06/04

版本 1.024

Page 30: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS適用於 的 服務主題CloudTrail

AWS 服務 CloudTrail 主題 支援開始時間

AWS OpsWorks for ChefAutomate

使用 AWS OpsWorks for Chef Automate 登入 API 呼叫 AWS CloudTrail

2018/07/16

AWS OpsWorks for PuppetEnterprise

使用 OpsWorks for Puppet Enterprise 登入 API 呼叫AWS CloudTrail

2018/07/16

AWS OpsWorks Stacks 使用 AWS OpsWorks Stacks 登入 API 呼叫 AWSCloudTrail

2014/06/04

AWS Organizations 使用 AWS Organizations 登入 事件 AWS CloudTrail 2017/02/27

AWS Outposts 使用 AWS Outposts 登入 API 呼叫 AWS CloudTrail 02/04/2020

AWS Personal Health Dashboard 使用 AWS Health 登入 API 呼叫 AWS CloudTrail 2016/12/01

Amazon Personalize 使用 登入 Amazon Personalize API 呼叫 AWSCloudTrail

2018/11/28

Amazon Pinpoint 使用 Amazon Pinpoint 登入 API 呼叫 AWSCloudTrail

2018/02/06

Amazon Pinpoint 簡訊和語音 API 使用 Amazon Pinpoint 登入 API 呼叫 AWSCloudTrail

11/16/2018

Amazon Polly 使用 Amazon Polly 登入 API 呼叫 AWS CloudTrail 11/30/2016

Amazon Quantum LedgerDatabase (Amazon QLDB)

以 AWS 進行 Amazon QLDB API 呼叫的登入CloudTrail

09/10/2019

AWS Certificate Manager 私有憑證授權機構

使用 CloudTrail 2018/04/04

Amazon QuickSight 使用 進行登入操作 CloudTrail 2017/04/28

Amazon Redshift 使用 Amazon Redshift 登入 API 呼叫 AWSCloudTrail

2014/06/10

Amazon Rekognition 使用 Amazon Rekognition 登入 API 呼叫 AWSCloudTrail

2018/04/06

Amazon Relational DatabaseService (Amazon RDS)

使用 Amazon RDS 登入 API 呼叫 AWS CloudTrail 11/13/2013

Amazon RDS PerformanceInsights

使用 Amazon RDS 登入 API 呼叫 AWS CloudTrail

Amazon RDS Performance Insights API 是 AmazonRDS API 的子集。

2018/06/21

AWS 資源存取管理員 (AWSRAM)

使用 登入 AWS RAM API 呼叫 AWS CloudTrail 11/20/2018

AWS 資源群組 使用 AWS Logging 資源群組 API 呼叫 AWSCloudTrail

2018/06/29

AWS RoboMaker 使用 AWS 登入 RoboMaker API 呼叫 AWSCloudTrail

2019/01/16

Amazon Route 53 使用 AWS CloudTrail 來擷取傳送到 Route 53 API 的請求

2015/02/11

版本 1.025

Page 31: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS適用於 的 服務主題CloudTrail

AWS 服務 CloudTrail 主題 支援開始時間

Amazon SageMaker 使用 Amazon SageMaker 登入 API 呼叫 AWSCloudTrail

2018/01/11

AWS Secrets Manager 監控 AWS Secrets Manager 秘密的使用 2018/04/05

AWS 安全中樞 使用 AWS 登入 Security Hub API 呼叫 AWSCloudTrail

11/27/2018

AWS Security Token Service(AWS STS)

使用 IAM 登入 事件 AWS CloudTrail

IAM 主題包含 AWS STS. 的資訊。

11/13/2013

AWS Server Migration Service AWS SMS API 參考 2016/11/14

AWS Serverless ApplicationRepository

使用 AWS Serverless Application Repository 登入API 呼叫 AWS CloudTrail

2018/02/20

AWS Service Catalog 使用 AWS Service Catalog 登入 API 呼叫 AWSCloudTrail

2016/07/06

AWS Shield 使用 Shield Advanced 登入 API 呼叫 AWSCloudTrail

2018/02/08

Amazon Simple Email Service(Amazon SES)

使用 Amazon SES 登入 API 呼叫 AWS CloudTrail 2015/05/07

Amazon Simple NotificationService (Amazon SNS)

使用 Amazon Simple Notification Service 登入 API呼叫 AWS CloudTrail

2014/10/09

Amazon Simple Queue Service(Amazon SQS)

使用 Amazon SQS 登入 API 動作 AWS CloudTrail 2014/07/16

Amazon Simple Storage Service 使用 Amazon S3 登入 API 呼叫 AWS CloudTrail 管理事件:2015/09/01

資料事件:2016/11/21

Amazon Simple WorkflowService (Amazon SWF)

使用 Amazon Simple Workflow Service 登入 API 呼叫 AWS CloudTrail

2014/05/13

AWS 單一登入 (AWS SSO) 使用 AWS SSO 登入 API 呼叫 AWS CloudTrail 2017/12/07

AWS Snowball 使用 AWS Snowball 登入 API 呼叫 AWS CloudTrail 2019/01/25

AWS Snowball 邊緣 使用 AWS Snowball 登入 Edge API 呼叫 AWSCloudTrail

2019/01/25

AWS Step Functions 使用 AWS Step Functions 登入 API 呼叫 AWSCloudTrail

2016/12/01

AWS Storage Gateway 使用 AWS Storage Gateway 登入 API 呼叫 AWSCloudTrail

2014/12/16

AWS Support 使用 AWS Support 登入 API 呼叫 AWS CloudTrail 2016/04/21

AWS Systems Manager 使用 AWS Systems Manager 登入 API 呼叫 AWSCloudTrail

11/13/2013

版本 1.026

Page 32: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 不支援的服務

AWS 服務 CloudTrail 主題 支援開始時間

Amazon Textract 使用 Amazon Textract 登入 API 呼叫 AWSCloudTrail

2019/05/29

Amazon Transcribe 使用 Amazon Transcribe 登入 API 呼叫 AWSCloudTrail

2018/06/28

AWS 轉移至 SFTP 使用 AWS 轉移至 SFTP 登入 API 呼叫 AWSCloudTrail

2019/01/08

Amazon Translate 使用 AWS 登入 Amazon Translate API 呼叫CloudTrail

2018/04/04

AWS Transit Gateway 使用 對您的傳輸閘道登入 API 呼叫 AWS CloudTrail 11/26/2018

AWS Trusted Advisor 使用 AWS Trusted Advisor 登入 主控台動作 AWSCloudTrail

10/22/2020

Amazon Virtual Private Cloud(Amazon VPC)

記錄 API 呼叫的方式 AWS CloudTrail

Amazon VPC API 是 Amazon EC2 API 的子集。

11/13/2013

AWS WAF 使用 AWS WAF 登入 API 呼叫 AWS CloudTrail 2016/04/28

AWS Well-Architected Tool 使用 登入 AWS WA 工具 API 呼叫 AWS CloudTrail 12/15/2020

Amazon WorkDocs 使用 Amazon WorkDocs 登入 API 呼叫 AWSCloudTrail

2014/08/27

Amazon WorkLink 使用 WorkLink 登入 Amazon API 呼叫 AWSCloudTrail

2019/01/23

Amazon WorkMail 使用 Amazon WorkMail 登入 API 呼叫 AWSCloudTrail

2017/12/12

Amazon WorkSpaces 使用 Amazon WorkSpaces 登入 API 呼叫 CloudTrail 2015/04/09

AWS X-Ray 使用 AWS X-Ray 登入 API 呼叫 CloudTrail 2018/04/25

CloudTrail 不支援的服務以下 AWS 服務不支援記錄 AWS CloudTrail 的事件。服務不支援 CloudTrail 登入的原因可能不同。例如,CloudTrail 並不將仍處於預覽狀態或尚未發行正式推出之服務視為受 登入支援,

如需支援的 AWS 服務清單,請參閱 CloudTrail 支援的服務和整合 (p. 17)。

AWS 服務 啟動日期

AWS Import/Export 2020 年 6 月 17 日

Amazon Macie Classic 2017 年 8 月 14 日

AWS Price List 服務 2018 年 12 月 17 日

下列 AWS 服務沒有公有 API 操作。

版本 1.027

Page 33: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS CloudTrail 中的配額

AWS 服務 啟動日期

AWS Deep Learning AMI 2017 年 11 月 15 日

Amazon WorkSpaces Application Manager 2015 年 4 月 9 日

AWS Artifact 2016 年 11 月 30 日

AWS DeepComposer 2019 年 12 月 2 日

AWS DeepLens 2017 年 11 月 29 日

AWS DeepRacer 2019 年 4 月 29 日

AWS Snowmobile 2016 年 11 月 30 日

Amazon Sumerian 2018 年 5 月 15 日

AWS CloudTrail 中的配額下表描述 CloudTrail 中的配額或限制。CloudTrail 並無可調整的配額。如需 AWS 中其他配額的詳細資訊,請前往 AWS 服務配額。

Resource 預設限制 註解

每個區域的線索數目 5 此限制無法提高。

取得、描述和列出 APIs 每秒 10 次交易 (TPS) 您每秒可以提出而不受限制的操作請求數量上限。LookupEvents API 未包含在此類別中。

此限制無法提高。

LookupEvents API 每秒 2 次交易 (TPS)。 您每秒可以提出而不受限制的操作請求數量上限。

此限制無法提高。

所有其他 APIs 一秒 1 個交易 (TPS) 您每秒可以提出而不受限制的操作請求數量上限。

此限制無法提高。

事件選取器 一個線索 5 個 此限制無法提高。

進階事件選取器 所有進階事件選取器的 500 個條件

如果結尾使用進階事件選取器,則允許所有進階事件選取器中所有條件總計最多 500 個值。除非尾端會Log所有資源上的資料事件(例如,所有 S3 儲存貯體或所有Lambda 函數),否則尾端限制為250 個資料資源。資料資源可以分散在事件選取器中,但總計不能超過 250 個。

此限制無法提高。

版本 1.028

Page 34: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS CloudTrail 中的配額

Resource 預設限制 註解

事件選取器中的資料資源 線索中跨所有事件選取器共 250個

如果您選擇使用事件選取器或進階事件選取器來限制資料事件,在尾端的所有事件選取器中,資料資源總數不能超過 250。個別事件選取器的資源數目限制最多可設定為 250。只有資料資源總數在所有事件選取器當中未超過 250時,才允許此上限。

範例:

• 允許具有 5 個事件選取器的線索,而且每個都設定 50 個資料資源。(5*50=250)

• 包含 5 個事件選取器的結尾,其中 3 個設定有 50 個資料資源,1 個設定有 99 個資料資源,1 個也設定有 1 個資料資源。((3*50)+1+99=250)

• 不允許設定 5 個事件選取器的線索,而所有這些事件選取器都設定 100 個資料資源。(5*100=500)

此限制無法提高。

如果您選擇對所有資源 (例如所有 S3 儲存貯體或所有 Lambda 函數) 登入資料事件,則限制不適用。

事件大小 所有事件版本:超過 256 KB 的事件無法傳送至 CloudWatchLogs。

事件版本 1.05 和更新版本:事件大小總計限制 256 KB

和 Amazon CloudWatch Logs皆允許 256 KB 的最大事件大小。Amazon CloudWatch Events不會將超過 256 KB 的事件傳送至 CloudTrail 或 CloudWatchLogs。CloudWatch 活動

從事件版本 1.05 開始,事件的大小上限為 256 KB。這是為了協助防止惡意行為者入侵,並允許其他 AWS 服務 (例如 CloudWatchLogs 和 CloudWatch 活動) 消耗事件。

版本 1.029

Page 35: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Prerequisites

入門教學課程AWS CloudTrail如果您是初次使用 AWS CloudTrail,此教學可協助您了解如何使用其功能。在此教學中,您將在 AWS 主控台中檢閱您最近的 CloudTrail 帳戶活動並檢查事件。然後您將建立追蹤,這是一項持續的事件活動管理記錄,並儲存在 Amazon S3 儲存貯體中。與事件歷史不同,此進行中報告不限於 90 天、所有 AWS 區域的Logs 事件,並可協助您隨時間滿足安全性和稽核需求。

主題• Prerequisites (p. 30)• 步驟 1:檢視事件歷史中的 AWS 帳號活動 (p. 30)• 步驟 2:建立您的第一個路徑 (p. 32)• 步驟 3:檢視您的 log 檔案 (p. 35)• 步驟 4:計劃後續步驟 (p. 36)

Prerequisites在開始之前,您必須完成以下先決條件和設定:

• 如果還沒有帳戶,請建立一個 AWS 帳戶。

如果您還沒有 AWS 帳戶,請依照下列步驟建立新帳戶。

註冊 AWS

1. 開啟 https://aws.amazon.com/,選擇 Create an AWS Account (建立 AWS 帳戶)。2. 請遵循線上指示進行。

• 建立一個 IAM 使用者以管理 CloudTrail. 如需詳細資訊,請參閱 授予 CloudTrail 管理許可 (p. 215).

步驟 1:檢視事件歷史中的 AWS 帳號活動當您建立帳戶時,系統會在您的 CloudTrail 帳戶中啟用 AWS 當任何支援 AWS 的 CloudTrail 服務中發生活動時,該活動會連同其他 AWS 服務事件在 CloudTrailEvent history (事件歷史) 中記載於 事件中。換言之,您可以在建立 AWS 管道之前檢視、搜尋和下載最近事件,不過建立結尾對於長期資料和稽核 AWS 帳號活動非常重要。與結尾不同,Event history (事件歷史) 只會顯示過去 90 天發生的事件。

1. 使用您為 AWS 管理主控台 管理設定的 IAM 使用者登入至 CloudTrail 在 CloudTrailcloudtrail/home/https://console.aws.amazon.com/ 中打開 CloudTrail

2. 在儀錶板中檢閱在您 AWS 帳戶中發生的最新事件資訊。最近事件應該是 ConsoleLogin 事件,顯示您剛登入 AWS 管理主控台。

版本 1.030

Page 36: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南步驟 1:檢視事件歷史中的 AWS 帳號活動

3. 若要查看更多有關事件的資訊,請將其展開。

4. 在導覽窗格中,選擇 Event history (事件歷史記錄). 您可以看到已篩選的事件清單,並最先顯示最近的事件。事件的預設篩選條件為唯讀,並設為 false. 您可以選擇篩選條件右邊的 X,以清除該篩選條件。

5. 更多事件會以沒有預設篩選器的方式顯示。您可以用多種方式來篩選事件。例如,若要檢視所有主控台登入事件,您可以選擇 Event name (事件名稱) 篩選條件,並指定 ConsoleLogin。 篩選條件的選項由您自行選擇。

版本 1.031

Page 37: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南步驟 2:建立您的第一個路徑

6. 您可以將事件歷史記錄下載為 CSV 或 JSON 格式的檔案。下載您的事件歷史可能需要幾分鐘的時間。

如需詳細資訊,請參閱 使用 CloudTrail 事件歷史記錄檢視事件 (p. 38).

步驟 2:建立您的第一個路徑雖然 主控台中的 Event history (事件歷史)CloudTrail 中提供的事件有助於檢視最近的活動,但它們受限於最近的活動,並且不會包含 CloudTrail 可記下的所有可能事件。此外,您在主控台中的事件檢視僅限於您登入的 AWS 區域。若要在您的 AWS 帳戶中建立一個持續記錄活動以為所有 AWS 區域擷取資訊,請建立一個線索。根據預設,當您在 CloudTrail 主控台建立結尾時,此結尾會登入所有區域中的事件。您建立的所有區域中的登入事件是建議的最佳實務。

針對您的第一個路徑,建議您建立在所有 區域中登入所有 (p. 5)管理事件AWS的尾端,而不登入任何資料事件 (p. 5)。管理事件的範例包括安全事件 (例如 IAM CreateUser 和 AttachRolePolicy 事件)、資源事件 (例如 RunInstances 和 CreateBucket) 等等。您將建立用於儲存線索日誌檔案的 Amazon S3 儲存貯體,以做為在 CloudTrail 主控台中建立追蹤的一部分。

Note

此教學課程將假設您正在建立第一個線索。根據您 AWS 帳號中具有的試驗數,以及這些試驗設定的方式,下列程序可能會也可能或不會導致費用。CloudTrail 會將 log 檔案存放至 Amazon S3 儲存貯體,這會衍生成本。如需定價的詳細資訊,請參閱 AWS CloudTrail 定價和 Amazon S3 定價.

1. 使用您為 AWS 管理主控台 管理設定的 IAM 使用者登入至 CloudTrail 在 CloudTrailcloudtrail/home/https://console.aws.amazon.com/ 中打開 CloudTrail 在 Region (區域) 選擇器中,選擇您希望建立路徑的 AWS 區域。這是結尾的所在區域。

Note

主區域是您可以檢視和更新其建立後結尾的唯一 AWS 區域,即使此結尾 Logs 事件在所有AWS 區域中。

2. 在 CloudTrail 服務首頁、Trails (訓練) 頁面,或 Dashboard (儀表板) 頁面的 Trails (訓練) 區段,選擇 Create stall (建立結尾)。

3. 在 Trail name (訓練器名稱) 中,為您的尾端命名,例如 My-Management-Events-Trail. 根據最佳實務,請使用可快速辨識路徑用途的名稱。在此案例中,您正在建立記錄管理事件的線索。

版本 1.032

Page 38: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南步驟 2:建立您的第一個路徑

4. 保留 AWS Organizations 組織試驗的預設設定。除非您在 組織 中設定帳號,否則此選項無法變更。5. 針對 Storage location (儲存位置),選擇 Create new S3 bucket (建立新的 S3 儲存貯體) 以建立儲

存貯體。當您建立儲存貯體時,CloudTrail 會建立和套用所需的儲存貯體政策。為您的儲存貯體命名,例如 my-bucket-for-storing-cloudtrail-logs.

若要更輕鬆地找到您的 logs,請在現有的儲存貯體中建立新的資料夾 (也稱為字首),以存放您的CloudTrail Logs。在 Prefix (字首) 中輸入字首。

Note

Amazon S3 儲存貯體的名稱必須為全域唯一。如需詳細資訊,請參閱 Amazon S3 儲存貯體命名要求 (p. 112).

6. 清除核取方塊以停用 Log 檔案 SSE-KMS 加密。根據預設,您的 log 檔案會使用 SSE-S3 加密來加密。如需此設定的詳細資訊,請前往使用伺服器端加密搭配 Amazon S3 受管加密金鑰 (SSE-S3) 保護資料。

7. 在 Additional settings (其他設定) 中保留預設設定。8. 目前,請勿將資料傳送至 Amazon CloudWatch Logs。9. 在 Tags (標籤) 中,新增一或多個自訂標籤 (鍵/值對) 到您的 路徑。標籤可協助您辨識 CloudTrail

線索和其他資源,像是包含 Amazon S3 日誌檔的 CloudTrail 儲存貯體。例如,您可以連接名稱為Compliance 且值為 Auditing 的標籤。

Note

雖然您可以在 CloudTrail 主控台中建立標籤時,將標籤新增到試驗,且也可以建立 Amazon S3儲存貯體來在 CloudTrail 主控台中存放您的登入檔案,但您無法從 Amazon S3 主控台將標籤新增到 CloudTrail 儲存貯體。如需有關檢視和變更 Amazon S3 儲存貯體屬性,包括將標籤新增至儲存貯體等詳細資訊,請參閱 Amazon S3 主控台使用者指南.

版本 1.033

Page 39: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南步驟 2:建立您的第一個路徑

當您完成建立標籤,請選擇 Next (下一步)。10. 在 Choose log events (選擇 log 事件) 頁面上,選取要登入的事件類型。對於此行,請保留預設值

Management events (管理事件)。在 Management events (管理事件) 區域中,選擇同時登入Read (讀取) 和 Write (寫入) 事件 (若尚未選取)。將 Exclude AWS KMS events (排除 事件)的核取方塊保留空白,以登入所有 AWS Key Management Service (AWS KMS) 事件。

版本 1.034

Page 40: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南步驟 3:檢視您的 log 檔案

11. 保留 Data events (資料事件) 和 Insights 事件的預設設定。此賽道不會登入任何資料或 CloudTrailInsights 事件。選擇 Next. (下一步)。

12. 在 Review and create (檢視和建立) 頁面上,檢視您已針對路徑選擇的設定。針對要返回並進行變更的區段,選擇 Edit (編輯)。當您準備好建立結尾時,請選擇 Create path (建立結尾)。

13. Trails (訓練) 頁面會在資料表中顯示您的新路徑。請注意,此路徑預設為多區域路徑,預設會開機登入。

步驟 3:檢視您的 log 檔案在建立第一個路徑的大約 15 分鐘後,CloudTrail 會將第一組 log 檔案交付至您路徑的 Amazon S3 儲存貯體。您可以查看這些檔案,並瞭解其包含的資訊。

Note

CloudTrail 通常會在 API 呼叫的平均 15 分鐘間提供 logs。此時間無法保證。如需詳細資訊,請檢視 服務水準協議AWS CloudTrail。

1. 在導覽窗格中,選擇 Trails. (追蹤記錄)。在 Trails (訓練) 頁面上,尋找您剛建立的結尾名稱 (在範例中,My-Management-Events-Trail).

Note

請確認您仍使用為 IAM 管理設定的 CloudTrail 使用者登入中。否則,您可能不會有足夠權限在CloudTrail 主控台或包含該線索日誌檔的 Amazon S3 儲存貯體中檢視線索。

2. 在結尾行中,選擇 S3 儲存貯體的值 (在此範例中為 aws-cloudtrail-logs-08132020-mytrail).3. Amazon S3 主控台會開啟,並在日誌檔的最上層顯示該儲存貯體。由於您已建立會在所有 AWS 區域記

錄事件的線索,因此您將看到每個區域資料夾。在此層級的 Amazon S3 儲存貯體導覽階層為 bucket-name/AWSLogs/AWS-account-id/CloudTrail – 。 選擇要檢視 log 檔案的 AWS 區域資料夾。例如,如果您想要檢閱 美國東部 (俄亥俄) 區域的日誌檔,請選擇 us-east-2.

4. 您可依在該區域中想檢閱的日誌來瀏覽年、月和日的儲存貯體資料夾結構。在該日中,有多個檔案。檔案的名稱會以您的 AWS 帳號 ID 開頭,並以副檔名 .gz 結尾。 例如,如果帳號ID 為 123456789012,您會看到名稱類似如下的檔案:123456789012_CloudTrail_us-east-2_20190610T1255abcdeEXAMPLE.json.gz。

版本 1.035

Page 41: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南步驟 4:計劃後續步驟

若要檢視這些檔案,您可以將它們下載、解壓縮,然後在純文字編輯器或 JSON 檔案檢視器進行檢視。有些瀏覽器也支援直接檢視 .gz 和 JSON 檔案。我們建議您使用 JSON 檢視器,因為它可讓您更輕鬆地剖析 CloudTrail 日誌檔中的資訊。

隨著您瀏覽整個檔案內容時,您可能會開始對看到的內容感到好奇。CloudTrail 會記錄事件發生時,每一個 AWS 服務在 AWS 區域中所遇到的每一次活動。換言之,不同 AWS 服務的事件都會混在一起,並僅以時間為依據。若要進一步了解特定 AWS 服務使用 CloudTrail 登入的項目,包括該服務之API 呼叫的 log 檔案項目範例,請查看 的支援服務清單CloudTrail,並讀取該服務的 (p. 19) 整合主題。CloudTrail您也可以透過檢視 CloudTrail 以進一步瞭解 CloudTrail 日誌事件參考 (p. 245). 日誌檔的內容和結構。

您可能也注意到在 日誌檔中有看不到的內容。美國東部 (俄亥俄). 具體來說,即使您知道您已登入主控台,您也不會看到任何主控台登入事件。這是因為主控台登入和 IAM 事件是全域服務事件 (p. 9),這通常會登入特定的 AWS 區域。在此案例中,他們會登入 US East (N. Virginia),並在 us-east-1 資料夾中找到。打開該資料夾,並打開您感興趣的年、月、日。瀏覽該日誌檔,您將找到類似以下內容的ConsoleLogin 事件:

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/Mary_Major", "accountId": "123456789012", "userName": "Mary_Major" }, "eventTime": "2019-06-10T17:14:09Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-1", "sourceIPAddress": "203.0.113.67", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "requestParameters": null, "responseElements": { "ConsoleLogin": "Success" }, "additionalEventData": { "LoginTo": "https://console.aws.amazon.com/console/home?state=hashArgs%23&isauthcode=true", "MobileVersion": "No", "MFAUsed": "No" }, "eventID": "2681fc29-EXAMPLE", "eventType": "AwsConsoleSignIn", "recipientAccountId": "123456789012"}

此登入檔案項目不僅會告訴您登入 (IAMMary_Major) 的 使用者身分、登入的日期和時間,以及登入是否成功。您也可以知道她是使用什麼 IP 地址登入,她使用的作業系統和該電腦之瀏覽器軟體,而且她可能沒有使用多重驗證。

步驟 4:計劃後續步驟現在您有一個線索了,您可以在 AWS 帳戶中存取事件和活動的持續記錄。此持續記錄可協助您滿足 AWS帳戶的會計和稽核需求。不過,CloudTrail 和 CloudTrail 資料仍有很多其他利用方式。

版本 1.036

Page 42: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南步驟 4:計劃後續步驟

• 為線索資料新增額外的安全性。 當您建立線索時,CloudTrail 會自動套用特定層級的安全性。不過,您還可以採取其他的步驟來協助保持資料的安全性。• 在預設情況下,您在建立線索時一併建立的 Amazon S3 儲存貯體已套用一項政策,允許 CloudTrail 將

日誌檔寫入至該儲存貯體。該儲存貯體不是公開存取的,但若其他成員擁有對您 AWS 帳戶儲存貯體進行讀取和寫入的權限,則他們可能也可以存取 AWS 帳戶中的儲存貯體。請檢閱您的儲存貯體政策,若有需要,請變更為限制特定的一組 IAM 使用者進行存取。如需詳細資訊,請參閱 Amazon S3 安全文件和逐步解說保護儲存貯體的範例.

• CloudTrail 交付至您儲存貯體的日誌檔案是透過 Amazon 伺服器端加密與 Amazon S3 受管加密金鑰(SSE-S3) 進行加密. 若要提供可直接管理的安全層,您可以改為對您的 Log 檔案使用AWS KMS伺服器端加密搭配 受管金鑰 (SSE-KMS)CloudTrail。若要搭配使用 SSE-KMS 與 CloudTrail,您可以建立和管理 KMS 金鑰,也稱為客戶主金鑰 (CMK). 如需詳細資訊,請參閱 使用 AWS KMS 受管金鑰 (SSE-KMS) 加密 CloudTrail 日誌檔案 (p. 234).

• 如需額外的安全規劃,請查看 的安全最佳實務CloudTrail。 (p. 231)• 建立線索以記錄資料事件。 如果您對在一個或多個 Amazon S3 儲存貯體中新增、擷取和刪除物件時的

日誌記錄感興趣,或者在呼叫一個或多個 AWS Lambda 函數時感興趣,這些是資料事件。您先前在此教學課程中建立的管理事件線索並不會記錄這些類型的事件。您可以針對部分或全部支援的 Amazon S3 和Lambda 資源,另外建立登入資料事件。如需詳細資訊,請參閱 資料事件 (p. 121).

Note

記錄資料事件需支付額外的費用。如需詳細資訊,請參閱 AWS CloudTrail 定價.• Log CloudTrail Insights 事件位於您尾端。 CloudTrailInsights 透過持續分析 write 管理事件,協助您辨識

並回應與 CloudTrail API 呼叫相關的不尋常或不可部分完成活動。CloudTrailInsights 使用數學模型來判斷某個帳號的 API 和服務事件活動的正常層級。它會辨識在正常模式外的行為、建立 Insights 事件,並將這些事件交付至所選目的地 S3 儲存貯體中的 /CloudTrail-Insight 資料夾。如需 CloudTrail Insights 的詳細資訊,請前往 記錄線索的 Insights 事件 (p. 130)。

Note

記錄 Insights 事件需支付額外費用。如需詳細資訊,請參閱 AWS CloudTrail 定價.• 設定 CloudWatch Logs 警示,以在特定事件發生時提醒您。 可讓您監控和接收 CloudWatch Logs 擷取

的特定事件的警示。CloudTrail例如,您可以監控金鑰安全性和網路相關的管理事件,例如安全群組變更 (p. 152)、失敗的 AWS 主控台登入事件 (p. 154),或對 IAM 政策的變更 (p. 155)。如需詳細資訊,請參閱 使用 監控 日誌檔案 (p. 136).

• 使用分析工具以識別您 CloudTrail 日誌的趨勢。 雖然在事件歷史記錄中的篩選條件可協助您在最近的活動中尋找特定事件或事件類型,但它不提供在較長時間區間內搜尋活動的能力。如需更深入且更複雜的分析,您可以使用 Amazon Athena. 如需詳細資訊,請前往《 使用者指南》AWS CloudTrail中的查詢Amazon Athena Logs。

版本 1.037

Page 43: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 CloudTrail 事件歷史記錄檢視事件

使用 CloudTrail您的 AWS 帳戶預設啟用 CloudTrail。您可以使用 CloudTrail 主控台中的 Event history (事件歷史記錄),檢視、搜尋、下載、封存、分析和回應您 AWS 基礎設施的帳戶活動。這包括透過 AWS 管理主控台、AWSCommand Line Interface 和 AWS SDKs 和 APIs 建立的活動。

若要持續記錄 AWS 帳戶中的事件,請建立線索。追蹤記錄 可讓 CloudTrail 將日誌檔案交付到 Amazon S3儲存貯體。依預設,當您在主控台建立追蹤時,該追蹤會套用到所有 AWS 區域。該追蹤會記錄來自 AWS分割區中所有區域的事件,並將日誌檔案交付到您指定的 Amazon S3 儲存貯體。此外,您可以設定其他AWS 服務,以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。

若您已在 AWS Organizations 中建立組織,您可以建立線索,負責為該組織中所有 AWS 帳戶記錄所有事件。建立組織線索,有助於您為組織定義一個統一的事件記錄策略。

主題• 使用 CloudTrail 事件歷史記錄檢視事件 (p. 38)• 檢視 CloudTrail Insights 事件 (p. 48)• 為您的 AWS 帳號建立結尾 (p. 61)• 建立組織的路徑 (p. 95)• 取得和檢視 CloudTrail 日誌檔案 (p. 106)• 設定 CloudTrail 的 Amazon SNS 通知 (p. 108)• 控制 的使用者許可CloudTrail (p. 109)• 管理線索的秘訣 (p. 110)• 搭配介面 VPC 端點使用 AWS CloudTrail (p. 112)

使用 CloudTrail 事件歷史記錄檢視事件您可以藉由檢視 Event history (事件歷史記錄),在 CloudTrail 主控台中對前 90 天的操作與安全事件進行故障診斷。您可以依區域查詢您 AWS 帳戶中建立、修改或刪除資源 (例如 IAM 使用者或 Amazon EC2 執行個體) 的相關事件。您可以使用 AWS CloudTrail 主控台檢視和下載事件。您可以選取要顯示和隱藏的欄位,自訂事件歷史記錄在主控台中的檢視。您可以使用 AWS SDKs 或 AWS Command Line Interface,透過編寫程式的方式查詢事件。您也可以並排比較 Event history (事件歷史) 中的事件詳細資訊。

Note

日後 AWS 服務可能會新增額外的事件。CloudTrail 將於事件歷史記錄中記錄事件,但新增後,除非超過 90 天保留期間,否則完整的 90 天保留期間內將無法查看已新增的事件。

本節說明如何使用 CloudTrail 主控台和 AWS CLI 查詢事件。當中也會說明如何下載事件的檔案。如需使用LookupEvents API 從 CloudTrail 事件擷取資訊的資訊,請參閱 AWS CloudTrail API Reference。

如需建立追蹤,讓您有一個超出 90 天事件記錄的詳細資訊,請參閱「建立路徑 (p. 62)」和「取得和檢視CloudTrail 日誌檔案 (p. 106)」。

主題• 在 CloudTrail 主控台中檢視 CloudTrail 事件 (p. 39)

版本 1.038

Page 44: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 CloudTrail 主控台中檢視 CloudTrail 事件

• 使用 AWS CLI 檢視 CloudTrail 事件 (p. 43)

在 CloudTrail 主控台中檢視 CloudTrail 事件您可以使用 CloudTrail 主控台,檢視 AWS 區域中過去 90 天的已寫入 API 活動 (管理事件)。您也可以根據選擇的篩選條件和時間範圍,下載具有該資訊的檔案或具有一部分資訊的檔案。您可以選取主控台中顯示的欄位,以自訂 Event history (事件歷史) 的檢視。您也可以依適用於特定服務的資源類型來查詢和篩選事件。您可以在 Event history (事件歷史) 中選取最多 5 個事件,並並排比較他們的詳細資訊。

事件歷史不會顯示資料事件。若要檢視資料事件,請建立結尾 (p. 61)。

90 天後,事件不會再顯示在 Event history (事件歷史記錄). 中。您無法手動刪除 Event history (事件歷史記錄). 中的事件。建立 結尾 (p. 62)時,只要您將事件存放在您路徑設定中的 S3 儲存貯體,就能檢視已登入路徑的事件。

CloudTrail 會記錄 AWS 服務間的差異。雖然大多數 AWS 服務支援登入所有事件,但有些服務只支援登入 CloudTrail 和事件的子集,因此不支援一些服務。APIs您可以透過諮詢特定服務的文件,來進一步了解CloudTrail 如何記錄該服務的事件之詳細資訊。如需詳細資訊,請參閱 CloudTrail 支援的服務和整合 (p. 17).

Note

若要持續記錄活動和事件,請建立線索 (p. 62). 建立線索也可讓您利用下列整合:

• 線索可讓您記錄 CloudTrail Insights 事件,這可協助您識別和回應與 write 管理 API 呼叫相關的異常活動。如需詳細資訊,請參閱 記錄線索的 Insights 事件 (p. 130).

• 在 AWS 中,使用查詢分析您的 Amazon Athena. 服務活動。如需詳細資訊,請前往 的CloudTrail 主控台CloudTrail建立 的資料表Amazon Athena 使用者指南,或選擇選項直接從 主控台的 Event history (事件歷史)CloudTrail 建立資料表。

• 監控您的線索日誌,並在 發生特定活動時通知您。Amazon CloudWatch Logs. 如需詳細資訊,請參閱 使用 監控 日誌檔案 (p. 136).

• 結尾可讓您排除 AWS Key Management Service (AWS KMS) 事件。AWS KMS 動作 (例如 Encrypt、Decrypt 和 GenerateDataKey) 通常可大量 (超過 99%) 的事件。AWSKMS 事件無法從 Event history (事件歷史) 排除。如果您建立或更新結尾管理事件以管理事件。AWS KMS

檢視 CloudTrail 事件

1. 登入 AWS 管理主控台,並於 CloudTrailcloudtrail/home/https://console.aws.amazon.com/ 開啟 . 主控台。

2. 在導覽窗格中,選擇 Event history (事件歷史記錄).

篩選過的事件清單會出現在內容窗格中,並且會先顯示最新事件。向下捲動以查看更多事件。3. 若要比較事件,請透過在 Event history (事件歷史) 資料表的左邊界填入核取方塊,最多選取五個事

件。在 Compare event details (比較事件詳細資訊) 表格中,並排檢視所選事件的詳細資訊。

事件歷史中事件的預設檢視已套用篩選條件,因此不會顯示唯讀事件。更改篩選條件設定才能刪除此篩選條件,或套用其他篩選條件。如需詳細資訊,請參閱 篩選 CloudTrail 事件 (p. 40).

內容• 顯示 CloudTrail 事件 (p. 40)• 篩選 CloudTrail 事件 (p. 40)• 檢視事件的詳細資訊 (p. 41)• 下載事件 (p. 41)

版本 1.039

Page 45: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 CloudTrail 主控台中檢視 CloudTrail 事件

• 檢視 AWS Config 參考的資源 (p. 42)

顯示 CloudTrail 事件您可以藉由選取要在 主控台中顯示哪些欄位,來自訂 Event history (事件歷史)CloudTrail 的顯示。預設會顯示下列欄位:

• 事件名稱• Event time (事件時間)• 使用者名稱• 事件來源• 資源類型• 資源名稱

Note

您無法變更欄位順序,或從 Event history (事件歷史記錄). 手動刪除事件。

自訂 Event history (事件歷史記錄) 中顯示的欄位

1. 登入 AWS 管理主控台,並於 CloudTrailcloudtrail/home/https://console.aws.amazon.com/ 開啟 . 主控台。

2. 在導覽窗格中,選擇 Event history (事件歷史記錄).3. 選擇齒輪圖示。4. 在 Select visible columns (選取可見欄) 中,選取您要顯示的欄位。關閉您不想顯示的欄位。完成

後,請選擇 Confirm (確認)。

篩選 CloudTrail 事件事件歷史中事件的預設顯示使用屬性篩選條件,從顯示的事件清單中排除唯讀事件。此屬性篩選條件名為Read-only (唯讀),且設定為 false。可以刪除此篩選條件,顯示讀取事件和寫入事件。若只要檢視讀取事件,您可以將篩選條件值變更為 true。您也可以依其他屬性篩選事件。您還可以依時間範圍篩選。

Note

您只能套用一個屬性篩選條件和一個時間範圍篩選條件。您無法套用多個屬性篩選條件。

AWSaccess_key

用來簽署請求的AWS存取金鑰 ID。如果使用暫時性安全登入資料提出請求,則此為暫時性登入資料的存取金鑰 ID。

事件 ID

事件的 CloudTrail ID。每個事件都會有唯一的 ID。事件名稱

事件的名稱。例如,您可以根據 IAM 事件 (例如 CreatePolicy) 或 Amazon EC2 事件 (例如RunInstances.) 進行篩選。

事件來源

要請求的 AWS 服務,例如 iam.amazonaws.com 或 s3.amazonaws.com。 在您選擇 Event source(事件來源) 篩選條件之後,即可捲動事件來源清單。

版本 1.040

Page 46: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 CloudTrail 主控台中檢視 CloudTrail 事件

唯讀

事件的讀取類型。事件可分類為讀取事件或寫入事件。如果設定為 false,讀取事件不會包含在顯示事件清單中。預設套用此屬性篩選條件,此值預設設定為 false.

資源名稱

事件所參考之資源的名稱或 ID。例如,資源名稱可能是 "auto-scaling-test-group" (用於 Auto Scaling 群組) 或 "i-12345678910" (用於 EC2 執行個體)。

資源類型

事件所參考之資源的類型。例如,資源類型可以是 Instance (用於 EC2) 或 DBInstance (用於RDS)。資源類型會因每個 AWS 服務而不同。

時間範圍

您想要篩選事件的時間範圍。您可以篩選過去 90 天的事件。使用者名稱

事件所參考之使用者的身分。舉例來說,這可以是IAM使用者、IAM角色名稱,或服務角色。

如果在您所選擇的屬性或時間下沒有記錄的事件,則結果清單會是空的。除了時間範圍之外,您只能套用一個屬性篩選條件。如果您選擇不同的屬性篩選條件,則會保留您指定的時間範圍。

下列步驟說明如何依屬性進行篩選。

依屬性篩選

1. 若要依屬性篩選結果,請從 Lookup attributes (查詢屬性) 下拉式清單中選擇屬性,然後在文字方塊中輸入或選取屬性的值。

2. 若要移除屬性篩選條件,請選擇屬性篩選條件方塊右側的 X。

下列步驟說明如何依開始與結束日期及時間進行篩選。

依開始與結束日期及時間進行篩選

1. 若要縮小您要查看之事件的時間範圍,請在時間範圍列中選擇時間範圍。預設值為 30 分鐘、1 小時、3小時或 12 小時。若要指定自訂時間範圍,請選擇 Custom (自訂)。

2. 若要移除時間範圍篩選條件,請選擇時間範圍列中的 Clear (清除)。

檢視事件的詳細資訊1. 在結果清單中選擇事件,以顯示其詳細資訊。2. 事件中參考的資源會顯示在事件詳細資訊頁面的 Resources referenceed (參考的資源) 表格中。3. 有些參考的資源可能會有連結。請選擇可開啟該資源之主控台的連結。4. 在詳細資訊頁面上捲動至 Event record (事件資料),以查看 JSON 事件資料,也稱為事件 payload

(承載)。5. 在頁面導航列中選擇 Event history (事件歷史),以關閉事件詳細資訊頁面並返回 Event history (事

件歷史)。

下載事件您可以將已記錄之事件歷史記錄以 CSV 或 JSON 檔案格式下載。善用篩選條件和時間範圍,減少下載的檔案大小。

版本 1.041

Page 47: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 CloudTrail 主控台中檢視 CloudTrail 事件

Note

CloudTrail 事件歷史記錄檔案屬資料檔案,內含個別使用者可設定的資訊 (如資源名稱)。有些資料在用來讀取與分析資料 (CSV injection) 的程式中很可能會被解譯為命令。例如,將 CloudTrail 事件匯出至 CSV 並匯入至試算表程式時,該程式可能會提醒您關於安全方面的考量。您應該選擇停用此內容,以保持系統的安全。請一律停用連結或巨集下載事件歷史記錄檔案。

1. 新增您要下載的事件歷史中事件的篩選條件和時間範圍。例如,您可以指定事件名稱StartInstances,並指定活動的時間範圍為最後三天。

2. 選擇 Download events (下載事件),然後選擇 Download as CSV (下載為 CSV) 或 Download asJSON (下載為 JSON)。下載會即刻開始。

Note

您的下載可能需要一些時間才能完成。如需更快速的結果,請在您開始下載程序之前,使用更特定的篩選條件或較短的時間範圍來縮小結果範圍。您可以取消下載。如果您取消下載,部分下載,包括僅某些事件資料可能會位於本機電腦上。若要下載完整的事件歷史,請重新下載。

3. 下載完成後,請開啟檔案,以檢視您指定的事件。4. 若要取消下載,請選擇 Cancel (取消),然後選擇 Cancel download (取消下載) 以確認。如果您需

要重新開機下載,請等待直到先前的下載完成取消。

檢視 AWS Config 參考的資源AWS Config 會記錄 AWS 資源的組態詳細資訊、關係和變更。

在 Resources Referenced (參考的資源) 窗格中,選擇 在 Config timeline (設定時間軸) 欄中,檢視 AWS Config 主控台中的資源。

如果 圖示為灰色、AWS Config 未打開,或未記下資源類型。選擇該圖示前往 AWS Config 主控台,以開啟服務或開始記錄該資源類型。如需詳細資訊,請參閱《AWS Config》中的使用主控台設定 AWS ConfigDeveloper Guide.

如果 Link not available (連結無法使用) 出現在欄位中,則因下列其中一個原因而無法檢視資源:

• AWS Config 不支援該資源類型。如需詳細資訊,請參閱《https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html》中的AWS Config Developer Guide支援的資源、組態項目和關係.

• AWS Config 近期已新增該資源類型的支援,但尚未能從 CloudTrail 主控台使用。您可以在 AWS Config主控台中查詢資源,以查看資源的時間線。

• 資源是由另一個 AWS 帳戶所擁有。• 資源是由另一個 AWS 服務所擁有 (例如受管 IAM 政策)。• 資源在建立後就立即刪除。• 最近建立或更新資源。

Example

1. 您設定 AWS Config 記錄 IAM 資源。2. 您建立 IAM 使用者 Bob-user。 Events history (事件歷史) 頁面會將 事件和 CreateUser 顯示為

Bob-user 資源。IAM您可以選擇 AWS Config 圖示,於 IAM 時間線檢視此 AWS Config 資源。3. 您將使用者名稱更新為 Bob-admin。4. Events history (事件歷史) 頁面會將 事件和 UpdateUser 做為更新的 Bob-admin 資源顯示。IAM

版本 1.042

Page 48: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail 事件

5. 您可以選擇圖示,以檢視時間軸中的 Bob-admin IAM 資源。不過,您無法選擇 Bob-user 的圖示,因為資源名稱已變更。AWS Config 現在正在記下更新的資源。

若要授予使用者在 AWS Config 主控台中檢視資源的唯讀許可,請參閱 授予在 AWS Config 主控台上檢視CloudTrail 資訊的許可 (p. 220).

如需 AWS Config 的詳細資訊,請前往 AWS Config Developer Guide。

使用 AWS CLI 檢視 CloudTrail 事件您可以使用 CloudTrail 命令查詢過去 90 天的 aws cloudtrail lookup-events 事件。lookup-events 具有下列選項:

• --max-results

• --start-time

• --lookup-attributes

• --next-token

• --generate-cli-skeleton

• --cli-input-json

本主題說明這些選項。如需使用 AWS 命令列界面的一般資訊,請參閱 AWS Command Line Interface 使用者指南。

內容• Prerequisites (p. 43)• 取得命令列說明 (p. 43)• 查詢事件 (p. 44)• 指定要傳回的事件數目 (p. 44)• 依時間範圍查詢事件 (p. 45)

• 有效 <timestamp> 格式 (p. 45)• 依屬性查詢事件 (p. 45)

• 屬性查詢範例 (p. 45)• 指定下一頁的結果 (p. 46)• 從檔案取得 JSON 輸入 (p. 47)• 查詢輸出欄位 (p. 48)

Prerequisites• 若要執行 AWS CLI 命令,您必須安裝 AWS CLI。如需資訊,請參閱安裝 AWS 命令列界面。• 確定您的 AWS CLI 版本大於 1.6.6。若要驗證 CLI 版本,請在命令列上執行 aws --version。• 若要設定 AWS CLI 工作階段的帳戶、區域和預設輸出格式,請使用 aws configure 命令。如需詳細資訊,

請參閱設定 AWS 命令列界面。

Note

CloudTrailAWS CLI 命令區分大小寫。

取得命令列說明若要查看 lookup-events 的命令列說明,請輸入下列命令:

版本 1.043

Page 49: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail 事件

aws cloudtrail lookup-events help

查詢事件若要查看十個最新的事件,請輸入下列命令:

aws cloudtrail lookup-events

所傳回的事件類似下列虛構範例,其已針對可讀性進行格式化:

{ "NextToken": "kbOt5LlZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juy3CIZW8=", "Events": [ { "EventId": "0ebbaee4-6e67-431d-8225-ba0d81df5972", "Username": "root", "EventTime": 1424476529.0, "CloudTrailEvent": "{ \"eventVersion\":\"1.02\", \"userIdentity\":{ \"type\":\"Root\", \"principalId\":\"111122223333\", \"arn\":\"arn:aws:iam::111122223333:root\", \"accountId\":\"111122223333\"}, \"eventTime\":\"2015-02-20T23:55:29Z\", \"eventSource\":\"signin.amazonaws.com\", \"eventName\":\"ConsoleLogin\", \"awsRegion\":\"us-east-2\", \"sourceIPAddress\":\"203.0.113.4\", \"userAgent\":\"Mozilla/5.0\", \"requestParameters\":null, \"responseElements\":{\"ConsoleLogin\":\"Success\"}, \"additionalEventData\":{ \"MobileVersion\":\"No\", \"LoginTo\":\"https://console.aws.amazon.com/console/home", \"MFAUsed\":\"No\"}, \"eventID\":\"0ebbaee4-6e67-431d-8225-ba0d81df5972\", \"eventType\":\"AwsApiCall\", \"recipientAccountId\":\"111122223333\"}", "EventName": "ConsoleLogin", "Resources": [] } ]}

如需輸出中查詢相關欄位的說明,請參閱本文件後面的「查詢輸出欄位 (p. 48)」一節。如需 CloudTrail事件中欄位的說明,請參閱 CloudTrail 記錄內容 (p. 247)。

指定要傳回的事件數目若要指定要傳回的事件數目,請輸入下列命令:

aws cloudtrail lookup-events --max-results <integer>

的預設值 <integer> 是 10。可能值為 1 到 50。下列範例會傳回一個結果。

aws cloudtrail lookup-events --max-results 1

版本 1.044

Page 50: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail 事件

依時間範圍查詢事件過去 90 天的事件可用於查詢。若要指定時間範圍,請輸入下列命令:

aws cloudtrail lookup-events --start-time <timestamp> --end-time <timestamp>

--start-time <timestamp> 指定只會傳回在所指定時間或之後發生的事件。如果指定的開始時間晚於指定的結束時間,則會傳回錯誤。

--end-time <timestamp> 指定只會傳回在所指定時間或之前發生的事件。如果指定的結束時間早於指定的開始時間,則會傳回錯誤。

預設開始時間是過去 90 天內可使用資料的最早日期。預設結束時間是在最接近目前時間所發生之事件的時間。

有效 <timestamp> 格式

--start-time 和 --end-time 屬性採用 UNIX 時間值或有效相等值。

以下是有效格式的範例。日期、月和年值可以使用連字號或正斜線予以區隔。如果有空格,則必須使用雙引號。

14223177821422317782.001-27-201501-27-2015,01:16PM"01-27-2015, 01:16 PM""01/27/2015, 13:16"2015-01-27"2015-01-27, 01:16 PM"

依屬性查詢事件若要依屬性進行篩選,請輸入下列命令:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=<attribute>,AttributeValue=<string>

您只能為每個 lookup-events 命令指定一個屬性鍵/值對。以下是 AttributeKey 的值。 值名稱區分大小寫。

• AccessKeyId• EventId• EventName• EventSource• ReadOnly• ResourceName• ResourceType• 使用者名稱

屬性查詢範例

下列範例命令會傳回 AccessKeyId 值為 AKIAIOSFODNN7EXAMPLE 的事件。

版本 1.045

Page 51: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail 事件

aws cloudtrail lookup-events --lookup-attributes AttributeKey=AccessKeyId,AttributeValue=AKIAIOSFODNN7EXAMPLE

下列範例命令會傳回所指定 CloudTrail EventId 的事件。

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventId,AttributeValue=b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002

下列範例命令會傳回 EventName 值為 RunInstances 的事件。

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=RunInstances

下列範例命令會傳回 EventSource 值為 iam.amazonaws.com 的事件。

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventSource,AttributeValue=iam.amazonaws.com

下列範例命令會傳回寫入事件。不包括寫入事件,例如 GetBucketLocation跟 DescribeStream。

aws cloudtrail lookup-events --lookup-attributes AttributeKey=ReadOnly,AttributeValue=false

下列範例命令會傳回 ResourceName 值為 CloudTrail_CloudWatchLogs_Role 的事件。

aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceName,AttributeValue=CloudTrail_CloudWatchLogs_Role

下列範例命令會傳回 ResourceType 值為 AWS::S3::Bucket 的事件。

aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceType,AttributeValue=AWS::S3::Bucket

下列範例命令會傳回 Username 值為 root 的事件。

aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=root

指定下一頁的結果若要從 lookup-events 命令取得下一頁的結果,請輸入下列命令:

aws cloudtrail lookup-events <same parameters as previous command> --next-token=<token>

其中的 值 <token> 取自先前命令輸出的第一個欄位。

當您在命令中使用 --next-token 時,必須使用與先前命令相同的參數。例如,假設您執行下列命令:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=root

若要取得下一頁的結果,您的下一個命令會如下所示:

版本 1.046

Page 52: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail 事件

aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=root --next-token=kbOt5LlZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juy3CIZW8=

從檔案取得 JSON 輸入某些 服務的 有兩個參數 (--generate-cli-skeleton 和 --cli-input-json),可用來產生可修改和用作 --cli-input-json 參數輸入的 JSON 範本。本節描述如何搭配使用這些參數與 aws cloudtraillookup-events。 如需更多一般資訊,請查看 Generate CLI Skeleton and CLI Input JSON Parameters (建立 CLI 骨架和 CLI 輸入 JSON 參數)。

從檔案取得 JSON 輸入來查詢 CloudTrail 事件

1. 將 輸出重新導向至檔案,以建立與 搭配使用的輸入範本,如下列範例所示。

aws cloudtrail lookup-events --generate-cli-skeleton > LookupEvents.txt

生成的範本檔案 (在此案例中,LookupEvents.txt) 看起來如下:

{ "LookupAttributes": [ { "AttributeKey": "", "AttributeValue": "" } ], "StartTime": null, "EndTime": null, "MaxResults": 0, "NextToken": ""}

2. 視需要使用文字編輯器來修改 JSON。JSON 輸入只能包含所指定的值。

Important

必須先從範本移除所有空白值或 null 值,才能使用它。

下列範例指定時間範圍以及要傳回的結果數目上限。

{ "StartTime": "2015-01-01", "EndTime": "2015-01-27", "MaxResults": 2}

3. 若要使用編輯過的檔案做為輸入,請使用語法 --cli-input-json file://。<filename>,如以下範例所示:

aws cloudtrail lookup-events --cli-input-json file://LookupEvents.txt

Note

您可以在與 --cli-input-json 相同的命令列上使用其他引數。

版本 1.047

Page 53: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南檢視 CloudTrail Insights 事件

查詢輸出欄位事件

根據所指定查詢屬性和時間範圍的查詢事件清單。事件清單是依時間排序,而且會先列出最新的事件。每個項目都會包含查詢請求的資訊,以及包含以字串呈現所擷取的 CloudTrail 事件。

下列項目說明每個查詢事件中的欄位。CloudTrailEvent

包含以物件呈現所傳回事件的 JSON 字串。如需所有傳回之元素的資訊,請參閱記錄內文內容。EventId

字串,包含所傳回事件的 GUID。EventName

字串,包含所傳回事件的名稱。EventSource

要請求的 AWS 服務。EventTime

事件的日期和時間 (UNIX 時間格式)。資源

所傳回之事件所參考的資源清單。每個資源項目都會指定資源類型和資源名稱。ResourceName

字串,包含事件所參考資源的名稱。ResourceType

字串,包含事件所參考資源的類型。無法判定資源類型時,會傳回 null。使用者名稱

字串,包含所傳回事件之帳戶的使用者名稱。NextToken

字串,可從先前的 lookup-events 命令取得下一頁的結果。若要使用字符,參數必須與原始命令中的參數相同。如果 NextToken 項目未出現在輸出中,則沒有可傳回的其他結果。

檢視 CloudTrail Insights 事件在線索上啟用 CloudTrail Insights 之後,您可以使用 CloudTrail 主控台或 Insights events 檢視最多 90 天的 AWS CLI。本節說明如何檢視、查詢和下載 Insights events的檔案。如需使用 LookupEvents API 從CloudTrail 事件擷取資訊的資訊,請參閱AWS CloudTrail API Reference。如需 CloudTrail Insights的詳細資訊,請參閱此指南中的記錄線索的 Insights 事件 (p. 130)。

如需如何建立線索,讓您有一個超出 90 天事件記錄的詳細資訊,請參閱建立路徑 (p. 62)和取得和檢視CloudTrail 日誌檔案 (p. 106)。

主題

版本 1.048

Page 54: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 CloudTrail 主控台中檢視 CloudTrail Insights 事件

• 在 CloudTrail 主控台中檢視 CloudTrail Insights 事件 (p. 49)• 使用 AWS CLI 檢視 CloudTrail Insights 事件 (p. 54)

在 CloudTrail 主控台中檢視 CloudTrail Insights 事件在線索上啟用 CloudTrail Insights 事件之後,當 CloudTrail 偵測到異常的寫入管理 API 活動時,CloudTrail會在AWS 管理主控台中的 Dashboard (儀表板) 和 Insights (深入分析) 頁面上產生並顯示 Insights events。您可以在控制台中查看 Insights events,並對異常的活動進行疑難排解。主控台中會顯示最近 90 天的Insights events。您也可以使用 AWS CloudTrail 主控台下載 Insights events。您可以使用 AWS SDKs 或AWS Command Line Interface,透過編寫程式的方式查詢事件。如需 CloudTrail Insights 事件的詳細資訊,請參閱此指南中的記錄線索的 Insights 事件 (p. 130)。

記錄 Insights 事件之後,事件會顯示在 Insights (深入分析) 頁面 90 天。您無法從 Insights (深入分析) 頁面手動刪除事件。由於您必須建立線索 (p. 62)才能啟用 CloudTrail Insights,因此只要您將事件存放在線索設定中設定的 S3 儲存貯體,就可以檢視記錄在線索中的 Insights events。

監控您的線索日誌,並在 Amazon CloudWatch Logs 發生特定 Insights events 活動時通知您。如需詳細資訊,請參閱使用 監控 日誌檔案 (p. 136)。

檢視 Insights events

CloudTrail Insights 事件必須在您的線索中啟用,才能在主控台中查看 Insights events。如果偵測到異常的活動,CloudTrail 需要最多 36 小時以送達第一個 Insights events。

1. 登入 AWS 管理主控台,並開啟位於 https://console.aws.amazon.com/cloudtrail/home/ 上的 CloudTrail主控台。

2. 在瀏覽窗格中,選擇 Dashboard (儀表板) 查看最近五個 Insights events,或選擇 Insights (深入分析) 查看過去 90 天內您帳戶記錄的所有 Insights events。

在 Insights (深入分析) 頁面上,您可以依標準 (包括事件 API 來源、事件名稱和事件識別碼) 來篩選Insights events,並將顯示的事件限制在特定時間範圍內發生的事件。如需篩選 Insights events 的詳細資訊,請參閱篩選 Insights 事件 (p. 49)。

內容• 篩選 Insights 事件 (p. 49)• 檢視 Insights 事件的詳細資料 (p. 41)• 縮放、平移和下載圖形 (p. 52)• 變更圖形時間範圍設定 (p. 52)• 下載 Insights 事件 (p. 53)

篩選 Insights 事件Insights (深入分析) 中事件的預設顯示會以反向時間順序顯示事件。最新的 Insights events (按事件開始時間排序) 顯示在頂端。下列清單說明可用的屬性。

事件名稱

事件名稱,通常是記錄異常活動層級的 AWS API。事件來源

要請求的 AWS 服務,例如 iam.amazonaws.com 或 s3.amazonaws.com。 在您選擇 Event source(事件來源) 篩選條件之後,即可捲動事件來源清單。

版本 1.049

Page 55: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 CloudTrail 主控台中檢視 CloudTrail Insights 事件

事件 ID

Insights 事件的識別碼。事件 IDs 不會顯示在 Insights (洞見) 頁面資料表中,但它們是您可以篩選Insights events 的屬性。分析為生成 IDs 之管理事件的事件 Insights events 與 IDs 的事件 Insightsevents 不同。

事件開始時間

Insights 事件的開始時間,計算方式為記錄異常 API 活動的第一分鐘。此屬性會顯示在 Insights (洞見)資料表中,但無法篩選主控台中的事件開始時間。

如果在您所選擇的屬性或時間下沒有記錄的事件,則結果清單會是空的。除了時間範圍之外,您只能套用一個屬性篩選條件。如果您選擇不同的屬性篩選條件,則會保留您指定的時間範圍。

下列步驟說明如何依屬性進行篩選。

依屬性篩選

1. 若要依屬性篩選結果,請從下拉式功能表選擇查詢屬性,然後在 Enter a lookup value (輸入查詢值) 方塊中輸入或選擇值。

2. 若要移除屬性篩選條件,請選擇屬性篩選條件方塊右側的 X。

下列步驟說明如何依開始與結束日期及時間進行篩選。

依開始與結束日期及時間進行篩選

1. 若要縮小您要查看之事件的時間範圍,請在資料表上方的時間範圍列上選擇時間範圍。預設時間範圍包括30 分鐘、1 小時、3 小時或 12 小時。若要指定自訂時間範圍,請選擇 Custom (自訂)。

2. 選擇下列其中一個標籤。

• - 可讓您選擇特定的時間。繼續進行下一個步驟。• 相對於選取的事件 - 預設會選取。可讓您選擇相對於 Insights 事件開始時間的時段。前往步驟 4。

3. 若要設定 Absolute (溶暗) 時間範圍,請執行下列動作。

a. 在 Absolute (溶暗) 標籤上,選擇您要讓時間範圍開始的日期。輸入所選日期的開始時間。若要手動輸入日期,請以 yyyy/mm/dd 格式輸入日期。 開始和結束時間使用 24 小時制,值格式必須為hh:mm:ss。 例如,若要指出開始時間為下午 6 點,請輸入 18:30:00。

b. 選擇行事曆範圍上的結束日期,或指定行事曆下方的結束日期和時間。選擇 Apply (套用)。4. 若要設定 Relative to selected event (所選事件的相對) 時間範圍,請執行下列動作。

a. 選擇相對於 Insights events 開始時間的預設時段。預設值可用分鐘、小時、天或星期。相對時間期間上限為 12 星期。

b. 如有需要,可在預設集下方的方塊中自訂預設值。如有需要,請選擇 Clear (清除) 以重設變更。當您已設定所需的相對時間後,請選擇 Apply (套用)。

5. 在 To (至) 中,選擇日期,並指定您想要成為時間範圍結束的時間。選擇 Apply (套用)。6. 若要移除時間範圍篩選條件,請選擇 Time range (時間範圍) 方塊右側的行事曆圖示,然後選擇 Remove

(移除)。

檢視 Insights 事件的詳細資料1. 在結果清單中選擇 Insights 事件,以顯示其詳細資訊。Insights 事件的詳細資料頁面會顯示異常活動時

間表的圖形。

版本 1.050

Page 56: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 CloudTrail 主控台中檢視 CloudTrail Insights 事件

2. 將滑鼠游標移到反白的頻帶上,在圖表中顯示每個 Insights 事件的開始時間和持續時間。

圖形圖例中會顯示下列資訊:

• 洞見類型。目前這是 API 呼叫率。• 觸發器。這是 Cloudtrail events (Cloudtrail 事件) 標籤的連結,其中列出為了判斷發生不尋常的活動而

分析的管理事件。• 每分鐘 API 呼叫數

• 基準平均值 - 此 API 的每分鐘呼叫率,以帳號中特定區域的前七天大約測量。• Insights average (深入分析平均值) - 對於觸發 Insights 事件的這個 API,每分鐘的呼叫速率。開始

事件的 CloudTrail Insights 平均值是每分鐘呼叫觸發 Insights 事件之 API 的速率。通常情況下,這是異常活動的第一分鐘。結束事件的 Insights 平均值是在開始 Insights 事件與結束 Insights 事件之間,異常活動期間每分鐘 API 呼叫的速率。

• Event source (事件來源)。進行不常見 API 呼叫次數的 AWS 服務端點。在上述映像中,來源是monitoring.amazonaws.com,也就是 Amazon CloudWatch 的服務端點。

• Insights 事件的詳細資訊• Event start time (事件開始時間) -首次記錄到異常活動的分鐘。• 事件持續時間 - Insights 事件的持續時間 (以分鐘為單位)。

3. 選擇 Attributions (屬性) 標籤,以檢視與不尋常和基準活動有關的使用者身分、使用者代理程式和錯誤代碼的相關資訊。Attributions (屬性) 索引標籤上的資料表最多顯示五個使用者身分、五個使用者代理程式和五個錯誤碼,依活動計數的平均值,依從最高到最低的遞減順序排序。如需 Attributions (屬性) 標籤的詳細資訊,請查看本指南中的 Attributions 索引標籤 (p. 132) 和 CloudTrail Insights insightDetails 元素 (p. 259)。

4. 在 CloudTrail events (CloudTrail 事件) 索引標籤上,檢視 CloudTrail 分析以判斷發生異常活動的相關事件。根據預設,Insights 事件名稱已套用篩選條件,這也是相關 API 的名稱。events ( 事件) 索引標籤會顯示在 Insights 事件的開始時間 (減去 1 分鐘) 和結束時間 (加上 1 分鐘) 之間,所發生之與主旨 API 相關的管理事件。CloudTrailCloudTrail

選取圖形中的其他 Insights 事件時,CloudTrail events (CloudTrail 事件) 表格中顯示的事件會隨之變更。這些事件可協助您執行更深入的分析,以判斷 Insights 事件的可能原因,以及異常 API 活動的原因。

版本 1.051

Page 57: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 CloudTrail 主控台中檢視 CloudTrail Insights 事件

若要顯示 Insights 事件持續時間期間登入的所有 CloudTrail 事件,以及不只是相關 API 的事件,請關閉篩選條件。

5. 選擇 Insights event record (深入分析事件資料) 標籤,以檢視 JSON 格式的 Insights 開始和結束事件。6. 選擇連結的 Event source (事件來源) 會返回由該事件來源篩選的 Insights (深入分析) 頁面。

縮放、平移和下載圖形您可以使用右上角的工具列來縮放、平移和重設 Insights 事件詳細資訊頁面上的圖形軸。

圖形工具列上的命令按鈕從左到右執行以下作業:

• Download plot as a PNG (下載散佈圖為 PNG) - 下載詳細資料頁面上顯示的圖形影像,並將其儲存為PNG 格式。

• Zoom (縮放) - 拖曳以在圖形上選取您要放大並更詳細地查看的區域。• Pan (平移) - 移動圖形以查看相鄰的日期或時間。• Reset axes (重置軸) - 將圖形軸變更回原始軸,清除縮放和平移設定。

變更圖形時間範圍設定您可以選擇圖形右上角的設定,來變更圖形中顯示的時間範圍 — 顯示在 x 軸—上的所選事件持續時間。

圖形中顯示的預設時間範圍,取決於所選 Insights 事件的持續時間。

Insights 事件的持續時間 預設時間範圍

少於 4 小時 3h (3 小時)

4 至 12 小時 12h(12 小時)

12 小時至 24 小時 1d (一天)

24 小時至 72 小時 3d (三天)

超過 72 小時 1w (一週)

您可以選擇 5 分鐘、30 分鐘、1 小時、3 小時、12 小時或 Custom (自訂) 的預設集。下圖顯示您可以在Custom (自訂) 設定中選擇的 Relative to selected event (相對於選取事件) 時段。相對時段是指所選 Insights事件 (顯示在 Insights 事件詳細資料頁面上) 開始和結束周圍的大約時段。

版本 1.052

Page 58: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 CloudTrail 主控台中檢視 CloudTrail Insights 事件

若要自訂選取的預設集,請在預設集下方的方塊中指定數量和時間單位。

若要指定確切的日期和時間範圍,請選擇 Absolute (絕對) 索引標籤。如果您設定的確實是日期和時間範圍,則開始和結束時間為必要項。如需如何設定時間的資訊,請參考本主題中的 the section called “篩選 Insights事件” (p. 49)。

下載 Insights 事件您可以將已記錄的 Insights 事件歷史記錄以 CSV 或 JSON 檔案格式下載。善用篩選條件和時間範圍,減少下載的檔案大小。

Note

CloudTrail 事件歷史記錄檔案屬資料檔案,內含個別使用者可設定的資訊 (如資源名稱)。有些資料在用來讀取與分析資料 (CSV injection) 的程式中很可能會被解譯為命令。例如,將 CloudTrail 事件

版本 1.053

Page 59: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail Insights 事件

匯出至 CSV 並匯入至試算表程式時,該程式可能會提醒您關於安全方面的考量。安全最佳實務是停用下載事件歷史記錄檔中的連結或巨集。

1. 指定您要下載之事件的篩選條件和時間範圍。例如,您可以指定事件名稱 StartInstances,並指定活動的時間範圍為最後三天。

2. 選擇 Download events (下載事件),然後選擇 Download CSV (下載 CSV) 或 Download JSON (下載JSON)。系統會提示您選擇要儲存檔案的位置。

Note

您的下載可能需要一些時間才能完成。如需更快速的結果,請在您開始下載程序之前,使用更特定的篩選條件或較短的時間範圍來縮小結果範圍。

3. 下載完成後,請開啟檔案,以檢視您指定的事件。4. 若要取消下載,請選擇 Cancel download (取消下載)。如果您在下載完成前取消,本機電腦上的 CSV 或

JSON 檔案可能僅包含您的事件的一部分。

使用 AWS CLI 檢視 CloudTrail Insights 事件您可以執行 CloudTrail Insights 命令,來查詢過去 90 天的 aws cloudtrail lookup-events 事件。lookup-events 具有下列選項:

• --end-time

• --event-category

• --max-results

• --start-time

• --lookup-attributes

• --next-token

• --generate-cli-skeleton

• --cli-input-json

本主題說明這些選項。如需使用 AWS Command Line Interface 的詳細資訊,請參閱AWS Command LineInterface 使用者指南。

內容• Prerequisites (p. 54)• 取得命令列說明 (p. 55)• 搜尋 Insights 事件 (p. 55)• 指定要傳回的 Insights 事件數目 (p. 58)• 依時間範圍查詢 Insights 事件 (p. 58)

• 有效 <timestamp> 格式 (p. 58)• 依屬性查詢 Insights 事件 (p. 58)

• 屬性查詢範例 (p. 59)• 指定下一頁的結果 (p. 59)• 從檔案取得 JSON 輸入 (p. 59)• 查詢輸出欄位 (p. 60)

Prerequisites• 若要執行 AWS CLI 命令,您必須安裝 AWS CLI。如需詳細資訊,請參閱安裝 AWS 命令列界面。

版本 1.054

Page 60: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail Insights 事件

• 確定您的 AWS CLI 版本大於 1.6.6。若要驗證 CLI 版本,請在命令列上執行 aws --version。• 若要設定 AWS CLI 工作階段的帳戶、區域和預設輸出格式,請使用 aws configure 命令。如需詳細資訊,

請參閱設定 AWS 命令列界面。

Note

CloudTrailAWS CLI 命令區分大小寫。

取得命令列說明若要查看 lookup-events 的命令列說明,請輸入下列命令:

aws cloudtrail lookup-events help

搜尋 Insights 事件若要查看十個最新的 Insights events件,請輸入下列命令。

aws cloudtrail lookup-events --event-category insight

傳回的事件看起來類似以下範例:

{ "NextToken": "kbOt5LlZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=", "Events": [ { "eventVersion": "1.07", "eventTime": "2019-10-15T21:13:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLE-9b6f-45f8-bc6b-9b41c052ebc7", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "Start", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2",

版本 1.055

Page 61: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail Insights 事件

"average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" }, { "eventVersion": "1.07", "eventTime": "2019-10-15T21:14:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLEc-9eac-4af6-8e07-26a5ae8786a5", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "End", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145

版本 1.056

Page 62: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail Insights 事件

}, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" }

版本 1.057

Page 63: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail Insights 事件

]}

如需輸出中查詢相關欄位的說明,請參閱本文件後面的「查詢輸出欄位 (p. 60)」一節。如需 Insights 事件中欄位的說明,請參閱CloudTrail 記錄內容 (p. 247)。

指定要傳回的 Insights 事件數目若要指定要傳回的事件數目,請輸入下列命令。

aws cloudtrail lookup-events --event-category insight --max-results <integer>

的預設值 <integer>如果未指定,則 為 10。可能值為 1 到 50。下列範例會傳回一個結果。

aws cloudtrail lookup-events --event-category insight --max-results 1

依時間範圍查詢 Insights 事件過去 90 天的 Insights events可用於查詢。若要指定時間範圍,請輸入下列命令。

aws cloudtrail lookup-events --event-category insight --start-time <timestamp> --end-time <timestamp>

--start-time <timestamp> 指定只會傳回在所指定時間或之後發生的 Insights events。如果指定的開始時間晚於指定的結束時間,則會傳回錯誤。

--end-time <timestamp> 指定只會傳回在所指定時間或之前發生的 Insights events。如果指定的結束時間早於指定的開始時間,則會傳回錯誤。

預設開始時間是過去 90 天內可使用資料的最早日期。預設結束時間是在最接近目前時間所發生之事件的時間。

有效 <timestamp> 格式--start-time 和 --end-time 屬性採用 UNIX 時間值或有效相等值。

以下是有效格式的範例。日期、月和年值可以使用連字號或正斜線予以區隔。如果有空格,則必須使用雙引號。

14223177821422317782.001-27-201501-27-2015,01:16PM"01-27-2015, 01:16 PM""01/27/2015, 13:16"2015-01-27"2015-01-27, 01:16 PM"

依屬性查詢 Insights 事件若要依屬性進行篩選,請輸入下列命令。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=<attribute>,AttributeValue=<string>

您只能為每個 lookup-events 命令指定一個屬性鍵/值對。以下是 AttributeKey 的有效 Insights 事件值。值名稱區分大小寫。

版本 1.058

Page 64: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail Insights 事件

• EventId• EventName• EventSource

屬性查詢範例下列範例命令會傳回 EventName 值為 PutRule 的 Insights events。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule

下列範例命令會傳回 EventId 值為 b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002 的 Insights events。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventId, AttributeValue=b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002

下列範例命令會傳回 EventSource 值為 iam.amazonaws.com 的 Insights events。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventSource, AttributeValue=iam.amazonaws.com

指定下一頁的結果若要從 lookup-events 命令取得下一頁的結果,請輸入下列命令。

aws cloudtrail lookup-events --event-category insight <same parameters as previous command> --next-token=<token>

在這個命令中,會為 的數值 <token> 取自先前命令輸出的第一個欄位。

當您在命令中使用 --next-token 時,必須使用與先前命令相同的參數。例如,假設您執行下列命令。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule

若要取得下一頁的結果,您的下一個命令會如下所示。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName,AttributeValue=PutRule --next-token=EXAMPLEZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=

從檔案取得 JSON 輸入某些 AWS 服務的 AWS CLI 有兩個參數 (--generate-cli-skeleton 和 --cli-input-json),可用來產生可修改和用作 --cli-input-json 參數輸入的 JSON 範本。本節描述如何搭配使用這些參數與aws cloudtrail lookup-events。 如需詳細資訊,請查看 Generate CLI Skeleton and CLI Input JSONParameters (建立 CLI 骨架和 CLI 輸入 JSON 參數)。

從檔案取得 JSON 輸入來查詢 Insights events

1. 將 輸出重新導向至檔案,以建立與 搭配使用的輸入範本,如下列範例所示。

aws cloudtrail lookup-events --event-category insight --generate-cli-skeleton > LookupEvents.txt

版本 1.059

Page 65: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS CLI 檢視 CloudTrail Insights 事件

範本檔案已建立 (在此案例為 LookupEvents.txt),如下所示。

{ "LookupAttributes": [ { "AttributeKey": "", "AttributeValue": "" } ], "StartTime": null, "EndTime": null, "MaxResults": 0, "NextToken": ""}

2. 視需要使用文字編輯器來修改 JSON。JSON 輸入只能包含所指定的值。Important

必須先從範本移除所有空白值或 null 值,才能使用它。

下列範例指定時間範圍以及要傳回的結果數目上限。

{ "StartTime": "2015-01-01", "EndTime": "2015-01-27", "MaxResults": 2}

3. 若要使用編輯過的檔案做為輸入,請使用語法 --cli-input-json file://<filename>,如以下範例所示。

aws cloudtrail lookup-events --event-category insight --cli-input-json file://LookupEvents.txt

Note

您可以在與 --cli-input-json 相同的命令列上使用其他引數。

查詢輸出欄位事件

根據所指定查詢屬性和時間範圍的查詢事件清單。事件清單是依時間排序,而且會先列出最新的事件。每個項目都會包含查詢請求的資訊,以及包含以字串呈現所擷取的 CloudTrail 事件。

下列項目說明每個查詢事件中的欄位。CloudTrailEvent

包含以物件呈現所傳回事件的 JSON 字串。如需所有傳回之元素的資訊,請參閱記錄內文內容。EventId

字串,包含所傳回事件的 GUID。EventName

字串,包含所傳回事件的名稱。

版本 1.060

Page 66: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南為您的 AWS 帳號建立結尾

EventSource

要請求的 AWS 服務。EventTime

事件的日期和時間 (UNIX 時間格式)。資源

所傳回之事件所參考的資源清單。每個資源項目都會指定資源類型和資源名稱。ResourceName

字串,包含事件所參考資源的名稱。ResourceType

字串,包含事件所參考資源的類型。無法判定資源類型時,會傳回 null。使用者名稱

字串,包含所傳回事件之帳戶的使用者名稱。NextToken

字串,可從先前的 lookup-events 命令取得下一頁的結果。若要使用字符,參數必須與原始命令中的參數相同。如果 NextToken 項目未出現在輸出中,則沒有可傳回的其他結果。

如需 CloudTrail Insights 事件的詳細資訊,請參閱此指南中的記錄線索的 Insights 事件 (p. 130)。

為您的 AWS 帳號建立結尾建立線索之後,您要啟用以日誌檔案形式,持續將事件交付到您指定的 Amazon S3 儲存貯體。建立線索的好處相當多,包括如下:

• 超出 90 天事件的記錄。• 可透過將事件記錄傳送到 Amazon CloudWatch Logs 的方式,自動針對指定事件進行監控和發出警示的選

項。• 可使用 Amazon Athena 來查詢日誌和分析 AWS 服務活動的選項。

從 2019 年 4 月 12 日開始,您只能在他們登入事件的 AWS 區域中檢視試驗。如果您建立 路徑來登入所有AWS 區域中的事件,則它會出現在所有區域的主控台。如果您建立的結尾只會在單一區域中登入事件,則您只能在該區域中檢視和管理它。若您使用 AWS CloudTrail 主控台建立尾端,則建立多區域尾端是預設選項,而此為建議的最佳實務。若要建立單一區域尾端,您必須使用 AWS CLI。

使用 AWS Organizations 時,您可以建立線索來記錄組織中所有 AWS 帳戶的事件。個別成員帳戶中將會建立名稱相同的線索,而個別線索的事件將交付到您指定的 Amazon S3 儲存貯體。

Note

只有組織的管理帳號才能為組織建立路徑。建立組織的線索,將自動啟用 CloudTrail 和 組織 之間的整合。如需詳細資訊,請參閱建立組織的路徑 (p. 95)。

主題• 使用主控台建立和更新 路徑 (p. 62)• 使用 AWS Command Line Interface 建立、更新和管理 的管道 (p. 76)

版本 1.061

Page 67: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

使用主控台建立和更新 路徑您可以使用 CloudTrail 主控台建立、更新或刪除您的線索。當您在 CloudTrail 主控台中建立結尾時,您會建立多區域結尾。若要建立只在一個區域中登入事件的尾端,請使用 。AWS CLI (p. 78)

每個區域最多可以建立五個線索。在您建立線索後,CloudTrail 會自動開始將您帳戶中的 API 呼叫及相關事件記錄到您指定的 Amazon S3 儲存貯體。若要停止記錄,您可以關閉或刪除線索的記錄。

使用 CloudTrail 主控台建立和更新線索時,可以使用數種在使用 AWS CLI 建立線索時所沒有的功能。例如,如果您正在設定的線索將負責記錄您 AWS 帳戶中 Amazon S3 儲存貯體或 AWS Lambda 函數的資料事件,則在使用主控台建立該線索時,您將可以查看這些資源的清單。如果您是第一次建立線索,則使用主控台建立線索將有助於您了解這些適用於線索的功能和選項。

如需在 AWS Organizations 中建立組織線索的專屬資訊,請參閱建立組織的路徑 (p. 95)。

主題• 建立路徑 (p. 62)• 更新路徑 (p. 70)• 刪除線索 (p. 75)• 關閉記錄線索 (p. 75)

建立路徑遵循下列程序來建立套用至所有區域的線索。套用至所有區域的線索都會將所有區域中的日誌檔案交付至 S3儲存貯體。在您建立線索之後,AWS CloudTrail 會自動開始記錄您指定的事件。

Note

在您建立線索之後,即可設定其他 AWS 服務,以利進一步分析並處理 CloudTrail 日誌中所收集的事件資料。如需詳細資訊,請參閱 CloudTrail 支援的服務和整合 (p. 17).

在主控台中建立結尾 (基本事件選取器)

在主控台中,您會建立一個在AWS已執行 的所有 區域中登入事件的路徑。這是建議的最佳實務。欲在單一區域中登入事件 (不建議),請使用 AWS CLI。 (p. 78)

如果您尚未停用進階事件選取器,請使用以下程序。如果您具備進階事件選取器,請查看 在 主控台中建立結尾 (進階事件選取器) (p. 66) 以在尾端設定資料事件登入。

使用 CloudTrail 建立叢集 AWS 管理主控台 線索

1. 登入 AWS 管理主控台並在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。2. 在 CloudTrail 服務首頁、Trails (訓練) 頁面,或 Dashboard (儀表板) 頁面的 Trails (訓練) 區

段,選擇 Create stall (建立結尾)。3. 在 Create Trail (建立結尾) 頁面的 Trail name (路徑名稱) 中,輸入尾端的名稱。如需詳細資訊,請

參閱 CloudTrail 線索命名需求 (p. 111).4. 如果這是 AWS Organizations 組織結尾,您可以選擇對您的組織中的所有帳號實施該路徑。如果您登入

的主控台具有管理帳號中的 IAM 使用者或角色,才會看到此選項。若要成功建立組織線索,請確保該使用者或角色具備足夠許可 (p. 97). 如需詳細資訊,請參閱 建立組織的路徑 (p. 95).

5. 針對 Storage location (儲存位置),選擇 Create new S3 bucket (建立新的 S3 儲存貯體) 以建立儲存貯體。當您建立儲存貯體時,CloudTrail 會建立和套用所需的儲存貯體政策。

Note

如果您選擇 Use existing S3 bucket (使用現有的 S3 儲存貯體),請在 Trail log bucket name(Trail log 儲存貯體名稱) 中指定儲存貯體,或選擇 Browse (瀏覽) 選擇儲存貯體。儲

版本 1.062

Page 68: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

存貯體政策必須授予 CloudTrail 寫入的許可。如需手動編輯儲存貯體政策的資訊,請參閱「CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221).

若要更輕鬆地找到您的 logs,請在現有的儲存貯體中建立新的資料夾 (也稱為字首) 來存放您的CloudTrail Logs。在 Prefix (字首) 中輸入字首。

6. 對於 Log file SSE-KMS encryption (Log 檔案 SSE-KMS 加密),如果您想要使用 SSE-KMS 加密 log檔案,而非 SSE-S3,請選擇 Enabled (Enabled)。預設值為 Enabled (Enabled)。如需此加密類型的詳細資訊,請前往使用伺服器端加密搭配 Amazon S3 受管加密金鑰 (SSE-S3) 保護資料。

如果您支援 SSE-KMS 加密,請選擇 New (新增) 或 Existing (現有) AWS KMS 消費者主金鑰。在AWS KMSAlias 中,以 alias/ 格式指定 aliasMyAliasName. 如需詳細資訊,請前往 更新線索以使用您的 CMK (p. 242)。

Note

您也可以從另一個帳戶輸入金鑰的 ARN。如需詳細資訊,請參閱 更新線索以使用您的CMK (p. 242). 該金鑰政策必須允許 CloudTrail 使用金鑰加密您的日誌檔案,並允許您指定的使用者讀取未加密格式的日誌檔案。如需手動編輯金鑰政策的資訊,請參閱「設定用於CloudTrail 的 AWS KMS 金鑰政策。 (p. 235).

7. 在 Additional settings (其他設定) 中,設定下列項目。

a. 針對 Log file validation (登入檔案驗證),選擇 Enabled (允許),將 log 摘要交付至 S3 儲存貯體。您可以使用摘要檔案來確認您的日誌檔案在 CloudTrail 交付以後未有更動。如需詳細資訊,請參閱 驗證 CloudTrail 日誌檔案完整性 (p. 178).

b. 對於 SNS notification delivery (SNS 通知交付),選擇 Enabled (允許) 在每次將 log 交付到您的儲存貯體時收到通知。CloudTrail 會將多個事件存放在 log 檔案中。SNS 通知是針對每個日誌檔案所傳送,而不是每個事件。如需詳細資訊,請參閱 設定 CloudTrail 的 Amazon SNS 通知 (p. 108).

如果您允許 SNS 通知,針對 Create a new SNS topic (建立新的 SNS 主題),選擇 New (新增) 以建立主題,或選擇 Existing (現有) 以使用現有主題。如果您要建立套用至所有區域的線索,則會將所有區域中日誌檔案傳遞的 SNS 通知都交付至您建立的單一 SNS 主題。

如果您選擇 New (新增),CloudTrail 會為您指定新主題的名稱,您也可以輸入名稱。如果您選擇 Existing (現有),請從下拉式清單中選擇 SNS 主題。您也可以輸入來自另一個區域,或具有適當許可之帳戶的主題 ARN。如需詳細資訊,請參閱 Amazon SNS適用於 的 主題政策CloudTrail (p. 225).

如果您建立主題,則必須訂閱該主題,以便在日誌檔案交付時收到通知。您可以從 Amazon SNS 主控台進行訂閱。基於通知頻率,建議您設定訂閱利用 Amazon SQS 佇列,透過編寫程式的方式處理通知。如需詳細資訊,請參閱 Amazon Simple Notification Service 入門指南.

8. 或者,您可以選擇在 CloudTrail CloudWatch Logs 中選擇 Enabled (允許),將 設定為傳送檔案至CloudWatch Logs。如需詳細資訊,請參閱 傳送 事件到 CloudWatch Logs (p. 136).

a. 如果您與 CloudWatch Logs 整合,請選擇 New (新增) 來建立新的登入群組,或是選擇 Existing(現有) 來使用現有的登入群組。如果您選擇 New (新增),CloudTrail 會為您指定新登入群組的名稱,或您可以輸入名稱。

b. 如果您選擇 Existing (現有),請從下拉式清單中選擇一個登入群組。c. 選擇 New (新增) 來建立新的 IAM 角色,以許可將登入傳送到 CloudWatch Logs。選擇 Existing

(現有),從下拉式清單中選擇現有的 IAM 角色。當您展開 Policy document (政策文件) 時,會顯示新的或現有的 角色的政策陳述式。如需有關此角色的詳細資訊,請參閱 讓 CloudTrail 使用CloudWatch Logs 監控的角色政策文件 (p. 166).

Note

當您設定結尾時,可以選擇屬於另一個帳號的 S3 儲存貯體和 SNS 主題。不過,如果您要CloudTrail 將事件交付至 CloudWatch Logs 日誌群組,則必須選擇存在於目前帳戶中的日誌群組。

版本 1.063

Page 69: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

9. 針對 Tags (標籤),將一或多個自訂標籤 (鍵/值對) 新增到 路徑。標籤可協助您辨識 CloudTrail 線索和包含 Amazon S3 日誌檔的 CloudTrail 儲存貯體。然後,您可以對 CloudTrail 資源使用資源群組。如需詳細資訊,請前往 AWS 資源群組 和 。為何使用標籤來進行試驗? (p. 7)

10. 在 Choose log events (選擇 log 事件) 頁面上,選擇您要登入的事件類型。對於 Management events(管理事件),請執行下列動作。

a. 針對 API activity (API 活動),選擇您是否要讓 路徑登入 Read (讀取) 事件、Write (寫入)事件或兩者。如需詳細資訊,請參閱 管理事件 (p. 117).

b. 選擇 Exclude AWS KMS events (排除 事件) 來篩選出 AWS Key Management Service (AWSKMS) 事件。預設設定為包含所有 AWS KMS 事件。

只有在您執行路徑上的管理事件時,才可使用登入或排除 AWS KMS 事件的選項。如果您選擇不登入管理事件,則 AWS KMS 事件不會登入,而且您無法變更 AWS KMS 事件登入設定。

AWS KMS 動作,例如 Encrypt、Decrypt 和 GenerateDataKey 通常會產生大量 (超過99%) 事件。這些動作現在以 Read (讀取) 事件登入。低階、相關的 AWS KMS 動作 (例如Disable、Delete 和 ScheduleKey (通常其事件量小於 0.5) 會登入為 AWS KMSWrite (寫入) 事件。

若要排除大量事件 (如 Encrypt、Decrypt 和 GenerateDataKey),但仍會登入相關的事件(如 Disable、Delete 和 ScheduleKey)、選擇對數 Write (寫入) 管理事件執行,並清除Exclude AWS KMS events (排除 事件) 的核取方塊。

11. 針對 Data events (資料事件),您可以指定 Amazon S3 儲存貯體、AWS Lambda 函數或這些資源類型的登入資料事件。根據預設,線索不會記錄資料事件。記錄資料事件需支付額外的費用。如需詳細資訊,請參閱 資料事件 (p. 121). 如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價.

對於 Amazon S3 儲存貯體:

a. 針對 Data event source (資料事件來源),選擇 S3。b. 您可以選擇登入 All current and future S3 buckets (所有目前和未來的 S3 儲存貯體),也可以指

定各個儲存貯體或函數。根據預設,會針對所有目前和未來的 S3 儲存貯體登入資料事件。

Note

保留預設值 All current and future S3 buckets (所有目前和未來的 S3 儲存貯體) 選項,可在目前 AWS 帳號中及您建立完 ground 之後建立的任何儲存貯體,允許其資料事件登入。另外,還會啟用記錄 AWS 帳戶中任何使用者或角色所執行之資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的儲存貯體上執行也是一樣。如果您要為單一區域建立結尾 (只要使用 AWS CLI),選擇 All current and future S3buckets (所有目前和未來的 S3 儲存貯體) 可讓位於與您結尾和您稍後建立之相同區域的所有儲存貯體進行資料事件登入。並不會記錄 Amazon S3 帳戶中其他區域內 AWS 儲存貯體的資料事件。

c. 如果您保留預設值,All current and future S3 buckets (所有目前和未來的 S3 儲存貯體),請選擇Read (讀取) 事件、Write (寫入) 事件,或兩者。

d. 若要選取單一儲存貯體,請清空 All current and uture S3 buckets (所有目前和未來 S3 儲存貯體)的 Read (讀取) 和 Write (寫入) 核取方塊。在 Individual bucket selection (個人儲存貯體選擇) 中,瀏覽要登入資料事件的儲存貯體。藉由輸入所需的儲存貯體字首,尋找特定的儲存貯體。您可以在這個視窗中選取多個儲存貯體。選擇 Add bucket (新增儲存貯體) 來登入更多儲存貯體的資料事件。選擇 log Read (讀取) 事件,例如 GetObject、Write (寫入) 事件,例如PutObject 或兩者。

此設定的優先順序高於您針對個別儲存貯體所設定的個別設定。例如,如果您為所有 S3 儲存貯體指定登入 Read (讀取) 事件,然後選擇新增特定儲存貯體做為資料事件登入,Read (讀取) 即已為新增的儲存貯體選取。您無法清除選取項目。您只能設定 Write. (寫入) 的選項。

若要移除登入中的儲存貯體,請選擇 X。12. 若要新增用來登入資料事件的另一個資料類型,請選擇 Add data event type (新增資料事件類型)。版本 1.0

64

Page 70: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

13. 對於 Lambda 函數:

a. 針對 Data event source (資料事件來源),選擇 Lambda。b. 在 Lambda function ( 函數) 中,選擇 All regions (所有區域) 以登入所有 Lambda 函數,或

Input function as ARN (輸入函數為 ARN) 以在特定函數上登入資料事件。

若要記錄 Lambda 帳戶中所有 AWS 函數的資料事件,請選取 Log all current and future functions(記錄所有目前和未來的函數). 此設定的優先順序高於您針對個別函數所設定的個別設定。皆會記錄所有函數,縱使未顯示全部的函數。

Note

如果您要為所有區域建立尾端,此選擇可針對目前在 AWS 帳號中的所有函數,以及在您完成建立此尾端後在任何區域中可能建立的任何 Lambda 函數,來允許資料事件登入。如果您要為單一區域建立結尾 (經使用 AWS CLI 後),則此選擇可讓目前在 AWS 帳號中該區域的所有函數,以及在建立結尾後,您可能會在該區域中建立的任何 Lambda 函數,藉此登入資料事件。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。記錄所有函數的資料事件也會啟用記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的函數上執行也是一樣。

c. 如果您選擇 Input function as ARN (輸入函數做為 ARN),請輸入 Lambda 函數的 ARN。

Note

如果您的帳戶中有超過 15,000 個 Lambda 函數,則無法在建立線索時於 CloudTrail 主控台中檢視或選取所有函數。您仍然可以選取記錄所有函數的選項,縱使其未全部顯示。如果您要記錄特定函數之資料事件,則可以在得知該函數的 ARN 後手動加以新增。您也可以在主控台中完成建立線索,然後使用 AWS CLI 和 put-event-selectors 命令為特定 Lambda函數設定記錄資料事件。如需詳細資訊,請參閱 使用 AWS CLI 管理資源 (p. 81).

14. 如果您想要讓 路徑登入 Insights 事件,請選擇 Insights events (洞見事件)CloudTrail。

在 Event type (事件類型) 中,選取 Insights events (洞見事件)。您必須登入 Write (寫入) 管理事件,才能登入 Insights 事件。

CloudTrail Insights 會分析管理 Write (寫入) 事件是否發生不尋常的活動,並在偵測到 amomalies時登入事件。依預設,線索不會記錄 Insights 事件。如需 Insights 事件的詳細資訊,請參閱記錄線索的 Insights 事件 (p. 130). 記錄 Insights 事件需支付額外費用。如需 CloudTrail 定價,請參閱 AWSCloudTrail 定價.

Insights events會傳遞到相同 S3 儲存貯體上名為 /CloudTrail-Insight 的不同資料夾,此資料夾是在線索詳細資訊頁面的 Storage location (儲存位置) 區域中指定的。CloudTrail 會為您建立新的前綴。例如,如果您目前的目的地 S3 儲存貯體名為 S3bucketName/AWSLogs/CloudTrail/,則具有新前綴的 S3 儲存貯體名稱會被命名為 S3bucketName/AWSLogs/CloudTrail-Insight/.

15. 當您完成選擇要登入的事件類型時,請選擇 Next (下一步)。16. 在 Review and create (檢視和建立) 頁面上,檢視您的選項。在區段中選擇 Edit (編輯),即可變更

該區段中顯示的路徑設定。當您準備好建立結尾時,請選擇 Create path (建立結尾)。17. 新的結尾會出現在 Trails (訓練) 頁面上。Trails (訓練) 頁面會顯示您帳號在所有區域的試驗。約

15 分鐘後,CloudTrail 會發佈日誌檔案,其中顯示您帳戶中曾進行的 AWS API 呼叫。您可以在所指定之 S3 儲存貯體中看到日誌檔案。如果您已啟用 Insights 事件記錄,且偵測到異常活動,則 CloudTrail可能需要 36 小時才能傳送第一個 Insights 事件。

Note

CloudTrail 通常會在 API 呼叫的平均 15 分鐘間提供 logs。此時間無法保證。如需詳細資訊,請檢視 服務水準協議AWS CloudTrail。您無法重新命名已建立的線索。但是您可以改為刪除之,並建立新的線索。

版本 1.065

Page 71: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

在 主控台中建立結尾 (進階事件選取器)

在主控台中,您會建立一個路徑來登入所有 AWS 區域中的事件。這是建議的最佳實務。欲在單一區域中登入事件 (不建議),請使用 AWS CLI。 (p. 78)

如果您已支援進階事件選取器,請使用下列程序。如果您偏好使用基本的資料事件選取器,請查看 在主控台中建立結尾 (基本事件選取器) (p. 62) 以在尾端設定資料事件登入。

使用 CloudTrail 建立叢集 AWS 管理主控台 線索

1. 登入 AWS 管理主控台並在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。2. 在 CloudTrail 服務首頁、Trails (訓練) 頁面,或 Dashboard (儀表板) 頁面的 Trails (訓練) 區

段,選擇 Create stall (建立結尾)。3. 在 Create Trail (建立結尾) 頁面的 Trail name (路徑名稱) 中,輸入尾端的名稱。如需詳細資訊,請

參閱 CloudTrail 線索命名需求 (p. 111).4. 如果這是 AWS Organizations 組織結尾,您可以選擇對您的組織中的所有帳號實施該路徑。如果您登入

在管理帳號中有 IAM 使用者或角色的主控台,才會看到此選項。若要成功建立組織線索,請確保該使用者或角色具備足夠許可 (p. 97). 如需詳細資訊,請參閱 建立組織的路徑 (p. 95).

5. 針對 Storage location (儲存位置),選擇 Create new S3 bucket (建立新的 S3 儲存貯體) 以建立儲存貯體。當您建立儲存貯體時,CloudTrail 會建立和套用所需的儲存貯體政策。

Note

如果您選擇 Use existing S3 bucket (使用現有的 S3 儲存貯體),請在 Trail log bucket name(Trail log 儲存貯體名稱) 中指定儲存貯體,或選擇 Browse (瀏覽) 選擇儲存貯體。儲存貯體政策必須授予 CloudTrail 寫入的許可。如需手動編輯儲存貯體政策的資訊,請參閱「CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221).

若要更輕鬆地找到您的 logs,請在現有的儲存貯體中建立新的資料夾 (也稱為字首),以存放您的CloudTrail Logs。在 Prefix (字首) 中輸入字首。

6. 對於 Log file SSE-KMS encryption (Log 檔案 SSE-KMS 加密),如果您想要使用 SSE-KMS 加密 log檔案,而非 SSE-S3,請選擇 Enabled (Enabled)。預設值為 Enabled (Enabled)。如需此加密類型的詳細資訊,請前往使用伺服器端加密搭配 Amazon S3 受管加密金鑰 (SSE-S3) 保護資料。

如果您支援 SSE-KMS 加密,請選擇 New (新增) 或 Existing (現有) AWS KMS 消費者主金鑰。在AWS KMSAlias 中,以 alias/ 格式指定 aliasMyAliasName. 如需詳細資訊,請前往 更新線索以使用您的 CMK (p. 242)。

Note

您也可以從另一個帳戶輸入金鑰的 ARN。如需詳細資訊,請參閱 更新線索以使用您的CMK (p. 242). 該金鑰政策必須允許 CloudTrail 使用金鑰加密您的日誌檔案,並允許您指定的使用者讀取未加密格式的日誌檔案。如需手動編輯金鑰政策的資訊,請參閱「設定用於CloudTrail 的 AWS KMS 金鑰政策。 (p. 235).

7. 在 Additional settings (其他設定) 中,設定下列項目。

a. 針對 Log file validation (登入檔案驗證),選擇 Enabled (允許),將 log 摘要交付至 S3 儲存貯體。您可以使用摘要檔案來確認您的日誌檔案在 CloudTrail 交付以後未有更動。如需詳細資訊,請參閱 驗證 CloudTrail 日誌檔案完整性 (p. 178).

b. 對於 SNS notification delivery (SNS 通知交付),選擇 Enabled (允許) 以在每一次將 log 交付到您的 儲存貯體時收到通知。CloudTrail 會將多個事件存放在 log 檔案中。SNS 通知是針對每個日誌檔案所傳送,而不是每個事件。如需詳細資訊,請參閱 設定 CloudTrail 的 Amazon SNS 通知 (p. 108).

如果您允許 SNS 通知,針對 Create a new SNS topic (建立新的 SNS 主題),請選擇 New (新增) 來建立主題,或選擇 Existing (現有) 以使用現有主題。如果您要建立套用至所有區域的線索,則會將所有區域中日誌檔案傳遞的 SNS 通知都交付至您建立的單一 SNS 主題。

版本 1.066

Page 72: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

如果您選擇 New (新增),CloudTrail 會為您指定新主題的名稱,您也可以輸入名稱。如果您選擇 Existing (現有),請從下拉式清單中選擇 SNS 主題。您也可以輸入來自另一個區域,或具有適當許可之帳戶的主題 ARN。如需詳細資訊,請參閱 Amazon SNS適用於 的 主題政策CloudTrail (p. 225).

如果您建立主題,則必須訂閱該主題,以便在日誌檔案交付時收到通知。您可以從 Amazon SNS 主控台進行訂閱。基於通知頻率,建議您設定訂閱利用 Amazon SQS 佇列,透過編寫程式的方式處理通知。如需詳細資訊,請參閱 Amazon Simple Notification Service 入門指南.

8. 或者,您可以選擇在 CloudTrail CloudWatch Logs 中選擇 Enabled (允許),將 設定為傳送檔案至CloudWatch Logs。如需詳細資訊,請參閱 傳送 事件到 CloudWatch Logs (p. 136).

a. 如果您與 CloudWatch Logs 整合,請選擇 New (新增) 來建立新的登入群組,或是選擇 Existing(現有) 來使用現有的登入群組。如果您選擇 New (新增),CloudTrail 會為您指定新登入群組的名稱,或您可以輸入名稱。

b. 如果您選擇 Existing (現有),請從下拉式清單中選擇一個登入群組。c. 選擇 New (新增),建立新的 IAM 角色供許可使用,將登入傳送至 CloudWatch Logs。選擇

Existing (現有),從下拉式清單中選擇現有的 IAM 角色。當您展開 Policy document (政策文件) 時,會顯示新的或現有的 角色的政策陳述式。如需有關此角色的詳細資訊,請參閱 讓CloudTrail 使用 CloudWatch Logs 監控的角色政策文件 (p. 166).

Note

當您設定結尾時,可以選擇屬於另一個帳號的 S3 儲存貯體和 SNS 主題。不過,如果您要CloudTrail 將事件交付至 CloudWatch Logs 日誌群組,則必須選擇存在於目前帳戶中的日誌群組。

9. 針對 Tags (標籤),將一或多個自訂標籤 (鍵/值對) 新增到 路徑。標籤可協助您辨識 CloudTrail 線索和包含 Amazon S3 日誌檔的 CloudTrail 儲存貯體。然後,您可以對 CloudTrail 資源使用資源群組。如需詳細資訊,請參閲 AWS 資源群組和 。為何使用標籤來進行試驗? (p. 7)

10. 在 Choose log events (選擇 log 事件) 頁面上,選擇您要登入的事件類型。對於 Management events(管理事件),請執行下列動作。

a. 針對 API activity (API 活動),選擇您是否要讓 路徑登入 Read (讀取) 事件、Write (寫入)事件或兩者。如需詳細資訊,請參閱 管理事件 (p. 117).

b. 選擇 Exclude AWS KMS events (排除 事件) 來篩選出 AWS Key Management Service (AWSKMS) 事件。預設設定為包含所有 AWS KMS 事件。

只有在您尾端的管理事件為 AWS KMS 時,才可使用登入或排除 事件的選項。如果您選擇不登入管理事件,則 AWS KMS 事件不會登入,而且您無法變更 AWS KMS 事件登入設定。

AWS KMS 動作,例如 Encrypt、Decrypt 和 GenerateDataKey 通常會產生大量 (超過 99%)事件。這些動作現在以 Read (讀取) 事件身分登入。低階、相關的 AWS KMS 動作 (例如Disable、Delete 和 ScheduleKey (通常負責低於 0.5 個 AWS KMS 事件磁碟區)) 皆會登入為 Write (寫入) 事件。

若要排除大量事件 (如 Encrypt、Decrypt 和 GenerateDataKey),但仍會登入相關的事件(如 Disable、Delete 和 ScheduleKey)、選擇對數 Write (寫入) 管理事件執行,並清除Exclude AWS KMS events (排除 事件) 的核取方塊。

11. 若要登入資料事件,請選擇 Data events (資料事件)。12. 針對 Data event type (資料事件類型),選擇您要登入的資料事件資源類型 (S3 儲存貯體、AWS

Outposts 上的 S3 物件,或 Lambda 函數)。13. 選擇 log selector 範本。CloudTrail 包含預先定義的範本,可登入資源類型的所有資料事件。若要建置自

訂 log selector 範本,請選擇 Custom (自訂)。

版本 1.067

Page 73: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

Note

為 S3 儲存貯體選擇預先定義的範本,可讓目前在您的 AWS 帳號中的所有儲存貯體,以及在建立完畢後您建立的任何儲存貯體,皆進行資料事件登入。另外,還會啟用記錄 AWS 帳戶中任何使用者或角色所執行之資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的儲存貯體上執行也是一樣。如果該路徑僅適用於一個區域,選擇可登入所有 S3 儲存貯體的預先定義範本,便可讓相同區域中的所有儲存貯體,用來登入和您稍後在該區域中建立的任何儲存貯體的資料事件。並不會記錄 Amazon S3 帳戶中其他區域內 AWS 儲存貯體的資料事件。如果您要為所有區域建立尾端,為 Lambda 函數選擇預先定義的範本,可針對目前在 AWS 帳號中的所有函數,以及在您建立完此尾端後在任何區域中建立的任何 Lambda 函數,來允許資料事件登入。如果您要為單一區域建立結尾 (利用使用 AWS CLI),則此選擇可讓目前在AWS 帳號中該區域的所有資料事件登入,以及您在該區域中建立後,可在該區域建立的任何Lambda 函數。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。記錄所有函數的資料事件也會啟用記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的函數上執行也是一樣。

14. 如果您想要套用預先定義的 log 選取器範本,而且您不想新增另一個資料事件資源類型,請繼續步驟18。若要套用自訂 log selector 範本,請繼續下一個步驟。

15. 若要建立自訂 log 選擇器範本,請在 Log selector template (Log selector 範本) 下拉式清單中,選擇Custom (自訂)。

16. 輸入您的自訂 log selector 範本名稱。17. 在 Advanced event selectors (進階事件選擇器) 中,針對您想要登入資料事件的特定 S3 儲存貯

體、AWS OutpostsS3 物件或 Lambda 函數,建置運算式。

a. 從下列欄位中選擇。對於接受陣列 (多個值) 的欄位,CloudTrail 會在值之間新增 OR。

• readOnly - 可以設定為 readOnlyEquals (等於) 值為 或 true。false 唯讀資料事件是不會變更資源狀態的事件,例如 Get* 或 Describe* 事件。寫入事件會新增、變更或删除資源、屬性或成品,例如 Put*、Delete* 或 Write* 事件。

• eventName - 可以使用任何運算子。eventName您可以使用它來包含或排除任何登入CloudTrail 的資料事件,例如 PutBucket 或 PutItem。 此欄位可以有多個值,以逗號分隔。

• resources.type - 此欄位為必填。resources.type 只能使用 Equals (等於) 運算子,且值可以是下列其中一項:AWS::S3::Object、AWS::S3Outposts::Object 或AWS::Lambda::Function。

• resources.ARN - 您可以使用任何運算子搭配 ,但如果您使用 resources.ARNEquals(等於) 或 NotEquals,則值必須完全符合您在範本中指定類型之有效資源的 ARN 做為 的值。resources.type 例如,如果 resources.type 等於 AWS::S3::Object,則 ARN必須為下列其中一個格式。結尾的落差是有意的;請勿排除。

arn:partition:s3:::bucket_name/arn:partition:s3:::bucket_name/object_or_file_name/

當 resources.type 等於 AWS::S3Outposts::Object,且運算子設定為 Equals 或NotEquals 時,ARN 格式必須如下:

arn:partition:s3-outposts:region:account_ID:object_path

當 resources.type 等於 AWS::Lambda::Function,且運算子設定為 Equals 或NotEquals 時,ARN 的格式必須如下:

arn:partition:lambda:region:account_ID:function:function_name

版本 1.068

Page 74: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

如需資料事件資源 ARN 格式的詳細資訊,請查看《 使用者指南Amazon S3》中由 定義的Resource types (資源類型)AWS Lambda 和 定義的 Resource types (資源類型)。AWSIdentity and Access Management

b. 針對每個欄位,選擇 + Conditions (+ 條件) 新增所需數量的條件,所有條件最多 500 個指定的值。例如,若要從在您尾端登入的資料事件中排除兩個 S3 儲存貯體的資料事件,您可以將欄位設為 resources.ARN、設定 的運算子NotEquals,然後貼上 S3 儲存貯體 ARN,或瀏覽不想用於登入事件的 S3 儲存貯體。

若要新增第二個 S3 儲存貯體,請選擇 + Conditions (+ 條件),然後重複上述指示,貼上在 的ARN 中或瀏覽不同的儲存貯體。

Note

結尾上的所有選取器最多可以有 500 個值。這包括選擇器 (例如 eventName) 的多個值的陣列。 如果您有所有選擇器的單一值,您最多可以將 500 個條件新增至選擇器。如果您的帳戶中有超過 15,000 個 Lambda 函數,則無法在建立線索時於 CloudTrail 主控台中檢視或選取所有函數。您仍然可以使用預先定義的選取器範本來登入所有函數,即使它們未顯示。如果您要記錄特定函數之資料事件,則可以在得知該函數的 ARN 後手動加以新增。您也可以在主控台中完成建立線索,然後使用 AWS CLI 和 put-event-selectors 命令為特定 Lambda 函數設定記錄資料事件。如需詳細資訊,請參閱 使用 AWS CLI 管理資源 (p. 81).

c. 選擇 + Field (+ 欄位),視需要新增其他欄位。為了避免錯誤,請勿為欄位設定衝突或重複值。例如,請勿在某個選取器中指定 ARN 等於值,然後指定另一個選取器中的 ARN 不等於相同值。

d. 選擇 Next (下一步) 將變更儲存至您的自訂選擇器範本。請勿選擇另一個 log selector 範本,或離開此頁面,否則會遺失您的自訂選取器。

e. 若要新增用來登入資料事件的另一個資料類型,請選擇 Add data event type (新增資料事件類型)。重複步驟 12 到此步驟,以設定資料事件類型的進階事件選取器。

18. 如果您想要讓 路徑登入 Insights 事件,請選擇 Insights events (洞見事件)CloudTrail。

在 Event type (事件類型) 中,選取 Insights events (洞見事件)。您必須登入 Write (寫入) 管理事件,才能登入 Insights 事件。

CloudTrail Insights 會分析管理 Write (寫入) 事件是否發生不尋常的活動,並在偵測到 amomalies時登入事件。依預設,線索不會記錄 Insights 事件。如需 Insights 事件的詳細資訊,請參閱記錄線索的 Insights 事件 (p. 130). 記錄 Insights 事件需支付額外費用。如需 CloudTrail 定價,請參閱 AWSCloudTrail 定價.

Insights events會傳遞到相同 S3 儲存貯體上名為 /CloudTrail-Insight 的不同資料夾,此資料夾是在線索詳細資訊頁面的 Storage location (儲存位置) 區域中指定的。CloudTrail 會為您建立新的前綴。例如,如果您目前的目的地 S3 儲存貯體名為 S3bucketName/AWSLogs/CloudTrail/,則具有新前綴的 S3 儲存貯體名稱會被命名為 S3bucketName/AWSLogs/CloudTrail-Insight/.

19. 當您完成選擇要登入的事件類型時,請選擇 Next (下一步)。20. 在 Review and create (檢視和建立) 頁面上,檢視您的選項。在區段中選擇 Edit (編輯),即可變更

該區段中顯示的路徑設定。當您準備好建立結尾時,請選擇 Create path (建立結尾)。21. 新的結尾會出現在 Trails (訓練) 頁面上。Trails (訓練) 頁面會顯示您帳號在所有區域的試驗。約

15 分鐘後,CloudTrail 會發佈日誌檔案,其中顯示您帳戶中曾進行的 AWS API 呼叫。您可以在所指定之 S3 儲存貯體中看到日誌檔案。如果您已啟用 Insights 事件記錄,且偵測到異常活動,則 CloudTrail可能需要 36 小時才能傳送第一個 Insights 事件。

Note

CloudTrail 通常會在 API 呼叫的平均時間大約 15 分鐘提供 logs。此時間無法保證。如需詳細資訊,請檢視 服務水準協議AWS CloudTrail。

版本 1.069

Page 75: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

後續步驟

在您建立線索之後,即可返回線索以進行變更:

• 如果尚未完成,您可以設定 CloudTrail 將 log 檔案傳送至 CloudWatch Logs。如需詳細資訊,請參閱 傳送事件到 CloudWatch Logs (p. 136).

• 在 Amazon Athena 中建立資料表並用以執行查詢,以分析 AWS 服務活動。如需詳細資訊,請前往 的CloudTrail 主控台CloudTrail建立 Logs 資料表Amazon Athena 使用者指南。

• 將自訂標籤 (鍵/值對) 新增至線索。• 若要建立另一個路徑,請打開 Trails (訓練) 頁面,然後選擇 Add new stall (新增新路徑)。

更新路徑若要變更線索設定,請使用下列程序。

若要更新所有區域中的單一區域尾端以登入事件,或更新所有區域尾端以僅登入單一區域中的事件,您必須使用 AWS CLI。如需如何更新所有區域之單一區域尾端以登入事件的詳細資訊,請前往 將套用至一個區域的線索轉換成套用至所有區域 (p. 79)。如需如何更新所有區域尾端以登入單一區域事件的詳細資訊,請前往將多區域線索轉換成單一區域線索 (p. 79)。

使用 AWS 管理主控台 更新線索

1. 登入 AWS 管理主控台並在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。2. 在導覽窗格中,選擇 Trails (路徑),然後選擇路徑名稱。3. 在 General details (一般詳細資訊) 中,選擇 Edit (編輯) 以變更下列設定。您無法變更結尾的名

稱。

• 套用路徑到我的組織 - 變更此尾端是否為 AWS Organizations 組織尾端。• Trail log 位置 - 變更存放此尾端的 S3 儲存貯體的名稱或字首。• Log 檔案 SSE-KMS 加密 - 選擇使用 SSE-KMS 而非 SSE-S3 允許或停用加密 log 檔案。• Log 檔案驗證 - 選擇允許或停用對 log 檔案的完整性驗證。• SNS 通知傳送 - 選擇允許或停用 Amazon Simple Notification Service (Amazon SNS) 通知,其登

入檔案已交付至指定的路徑儲存貯體。

a. 若要變更 AWS Organizations 組織路徑的尾端,您可以選擇對您的組織的所有帳號實施該路徑。如需詳細資訊,請參閱 建立組織的路徑 (p. 95)。

b. 若要變更 Storage location (儲存位置) 中指定的儲存貯體,請選擇 Create new S3 bucket (建立新的 S3 儲存貯體) 來建立儲存貯體。當您建立儲存貯體時,CloudTrail 會建立和套用所需的儲存貯體政策。

Note

如果您選擇 Use existing S3 bucket (使用現有的 S3 儲存貯體),請在 Trail log bucketname (Trail log 儲存貯體名稱) 中指定儲存貯體,或選擇 Browse (瀏覽) 選擇儲存貯體。儲存貯體政策必須授予 CloudTrail 寫入的許可。如需手動編輯儲存貯體政策的資訊,請參閱「CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221)」。

若要更輕鬆地找到您的 logs,請在現有的儲存貯體中建立新的資料夾 (也稱為字首),以存放您的CloudTrail Logs。在 Prefix (字首) 中輸入字首。

c. 針對 Log file SSE-KMS encryption (Log 檔案 SSE-KMS 加密),選擇 Enabled (Enabled),使用 SSE-KMS (而非 SSE-S3) 加密您的 Log 檔案。預設值為 Enabled (Enabled)。如需此加密類型的詳細資訊,請前往使用伺服器端加密搭配 Amazon S3 受管加密金鑰 (SSE-S3) 保護資料。

版本 1.070

Page 76: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

如果您支援 SSE-KMS 加密,請選擇 New (新增) 或 Existing (現有) AWS KMS 消費者主金鑰。在 AWS KMSAlias 中,以 alias/ 格式指定 aliasMyAliasName如需詳細資訊,請參閱更新線索以使用您的 CMK (p. 242)。

Note

您也可以從另一個帳戶輸入金鑰的 ARN。如需詳細資訊,請參閱 更新線索以使用您的CMK (p. 242)。該金鑰政策必須允許 CloudTrail 使用金鑰加密您的日誌檔案,並允許您指定的使用者讀取未加密格式的日誌檔案。如需手動編輯金鑰政策的資訊,請參閱「設定用於CloudTrail 的 AWS KMS 金鑰政策。 (p. 235)」。

d. 針對 Log file validation (登入檔案驗證),選擇 Enabled (允許),將 log 摘要交付至 S3 儲存貯體。您可以使用摘要檔案來確認您的日誌檔案在 CloudTrail 交付以後未有更動。如需詳細資訊,請參閱 驗證 CloudTrail 日誌檔案完整性 (p. 178)。

e. 對於 SNS notification delivery (SNS 通知交付),選擇 Enabled (允許),在每次將 log 交付到您的 儲存貯體時收到通知。CloudTrail 會將多個事件存放在 log 檔案中。SNS 通知是針對每個日誌檔案所傳送,而不是每個事件。如需詳細資訊,請參閱 設定 CloudTrail 的 Amazon SNS 通知 (p. 108)。

如果您允許 SNS 通知,針對 Create a new SNS topic (建立新的 SNS 主題),請選擇 New (新增) 來建立主題,或選擇 Existing (現有) 以使用現有主題。如果您要建立套用至所有區域的線索,則會將所有區域中日誌檔案傳遞的 SNS 通知都交付至您建立的單一 SNS 主題。

如果您選擇 New (新增),CloudTrail 會為您指定新主題的名稱,您也可以輸入名稱。如果您選擇 Existing (現有),請從下拉式清單中選擇 SNS 主題。您也可以輸入來自另一個區域,或具有適當許可之帳戶的主題 ARN。如需詳細資訊,請參閱 Amazon SNS適用於 的 主題政策CloudTrail (p. 225)。

如果您建立主題,則必須訂閱該主題,以便在日誌檔案交付時收到通知。您可以從 Amazon SNS 主控台進行訂閱。基於通知頻率,建議您設定訂閱利用 Amazon SQS 佇列,透過編寫程式的方式處理通知。如需詳細資訊,請參閱 Amazon Simple Notification Service 入門指南。

4. 在 CloudWatch Logs 中,選擇 Edit (編輯) 以變更將 log 檔案傳送到 CloudTrail 的設定。CloudWatch Logs在 中,選擇 Enabled (允許)CloudWatch Logs,即可傳送 log 檔案。如需詳細資訊,請參閱 傳送 事件到 CloudWatch Logs (p. 136)。

a. 如果您與 CloudWatch Logs 整合,請選擇 New (新增) 來建立新的登入群組,或是選擇 Existing(現有) 來使用現有的登入群組。如果您選擇 New (新增),CloudTrail 會為您指定新登入群組的名稱,或您可以輸入名稱。

b. 如果您選擇 Existing (現有),請從下拉式清單中選擇一個登入群組。c. 選擇 New (新增),建立新的 IAM 角色供許可傳送登入到 CloudWatch Logs。選擇 Existing (現

有),從下拉式清單中選擇現有的 IAM 角色。當您展開 Policy document (政策文件) 時,會顯示新的或現有的 角色的政策陳述式。如需有關此角色的詳細資訊,請參閱 讓 CloudTrail 使用CloudWatch Logs 監控的角色政策文件 (p. 166)。

Note

當您設定結尾時,可以選擇屬於另一個帳號的 S3 儲存貯體和 SNS 主題。不過,如果您要CloudTrail 將事件交付至 CloudWatch Logs 日誌群組,則必須選擇存在於目前帳戶中的日誌群組。

5. 在 Tags (標籤) 中,選擇 Edit (編輯) 來變更、新增或删除結尾上的標籤。新增一或多個自訂標籤(鍵/值對) 到您的 路徑。標籤可協助您辨識 CloudTrail 線索和包含 CloudTrail 日誌檔的 Amazon S3儲存貯體。然後,您可以對 CloudTrail 資源使用資源群組。如需更多詳細資訊,請參閱 AWS 資源群組及 為何使用標籤來進行試驗? (p. 7)。

6. 在 Management events (管理事件) 中,選擇 Edit (編輯) 以變更管理事件登入設定。

a. 針對 API activity (API 活動),選擇您是否要讓 路徑登入 Read (讀取) 事件、Write (寫入)事件或兩者。如需詳細資訊,請參閱 管理事件 (p. 117)。

版本 1.071

Page 77: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

b. 選擇 Exclude AWS KMS events (排除 事件) 來篩選出 AWS Key Management Service (AWSKMS) 事件。預設設定為包含所有 AWS KMS 事件。

只有在您執行 AWS KMS 尾端的管理事件進行登入或排除 事件時,才能使用此選項。如果您選擇不登入管理事件,則 AWS KMS 事件不會登入,而且您無法變更 AWS KMS 事件登入設定。

AWS KMS 動作,例如 Encrypt、Decrypt 和 GenerateDataKey 通常會產生大量 (超過99%) 事件。這些動作現在會記錄為 Read (讀取) 事件。低階、相關的 AWS KMS 動作 (例如Disable、Delete 和 ScheduleKey (通常其事件量小於 0.5) 會登入為 AWS KMSWrite (寫入) 事件。

若要排除大量事件 (如 Encrypt、Decrypt 和 GenerateDataKey),但仍會登入相關的事件(如 Disable、Delete 和 ScheduleKey)、選擇對數 Write (寫入) 管理事件執行,並清除Exclude AWS KMS events (排除 事件) 的核取方塊。

7. Important

步驟 7-9 是用來在使用基本事件選取器時在尾端設定資料事件。如果您使用的是進階事件選取器,請查看 使用進階事件選取器更新資料事件設定 (p. 73),然後返回步驟 10 和轉發程序。

在 Data events (資料事件) 中,選擇 Edit (編輯) 以變更資料事件登入設定。您可以為 Amazon S3儲存貯體、AWS Lambda 函數或這些資源的組合指定登入資料事件。根據預設,線索不會記錄資料事件。記錄資料事件需支付額外的費用。如需詳細資訊,請參閱 資料事件 (p. 121)。如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價。

對於 Amazon S3 儲存貯體:

a. 針對 Data event source (資料事件來源),選擇 S3。b. 您可以選擇登入 All current and future S3 buckets (所有目前和未來的 S3 儲存貯體),也可以指

定各個儲存貯體或函數。根據預設,會針對所有目前和未來的 S3 儲存貯體登入資料事件。

Note

保留預設值 All current and future S3 buckets (所有目前和未來的 S3 儲存貯體) 選項,可在目前 AWS 帳號中及您建立完 ground 之後建立的任何儲存貯體,允許其資料事件登入。另外,還會啟用記錄 AWS 帳戶中任何使用者或角色所執行之資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的儲存貯體上執行也是一樣。如果該路徑僅適用於一個區域,則選擇 All current and future S3 buckets (所有目前和未來 S3 儲存貯體) 可讓與結尾和您稍後建立之任何儲存貯體位於相同區域的資料事件登入。並不會記錄 Amazon S3 帳戶中其他區域內 AWS 儲存貯體的資料事件。

c. 如果您保留預設值,All current and future S3 buckets (所有目前和未來的 S3 儲存貯體),請選擇Read (讀取) 事件、Write (寫入) 事件,或兩者。

d. 若要選取單一儲存貯體,請清空 All current and uture S3 buckets (所有目前和未來 S3 儲存貯體)的 Read (讀取) 和 Write (寫入) 核取方塊。在 Individual bucket selection (個人儲存貯體選擇) 中,瀏覽要登入資料事件的儲存貯體。若要尋找特定的儲存貯體,請輸入所需儲存貯體的儲存貯體字首。您可以在這個視窗中選取多個儲存貯體。選擇 Add bucket (新增儲存貯體) 來登入更多儲存貯體的資料事件。選擇登入 Read (讀取) 事件 (例如 GetObject、Write (寫入) 事件,例如 PutObject 或兩者。

此設定的優先順序高於您針對個別儲存貯體所設定的個別設定。例如,如果您指定記錄所有 S3 儲存貯體之 Read (讀取) 事件,然後選擇新增要記錄資料事件的特定儲存貯體,則您新增的儲存貯體會直接選取 Read (讀取)。您無法清除選取項目。您只能設定 Write (寫入) 的選項。

若要移除登入中的儲存貯體,請選擇 X。8. 若要新增其他資料類型來登入資料事件,請選擇 Add data event type (新增資料事件類型)。9. 對於 Lambda 函數:

a. 針對 Data event source (資料事件來源),選擇 Lambda。版本 1.072

Page 78: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

b. 在 Lambda function ( 函數) 中,選擇 All regions (所有區域) 以登入所有 Lambda 函數,或Input function as ARN (輸入函數為 ARN) 以在特定函數上登入資料事件。

若要記錄 AWS 帳戶中所有 Lambda 函數的資料事件,請選取 Log all current and future functions(記錄所有目前和未來的函數)。此設定的優先順序高於您針對個別函數所設定的個別設定。皆會記錄所有函數,縱使未顯示全部的函數。

Note

若您要為所有區域建立尾端,此選擇可為目前 AWS 帳號中的所有函數以及在您完成建立此尾端後在任何區域中可能建立的任何 Lambda 函數,提高資料事件登入的權限。如果您要為單一區域建立結尾 (利用使用 AWS CLI),則此選擇可讓目前在您 AWS 帳號中該區域的資料事件登入,以及在您建立完結尾後,您可能會在該區域中建立的任何 Lambda 函數。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。記錄所有函數的資料事件也會啟用記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的函數上執行也是一樣。

c. 如果您選擇 Input function as ARN (輸入函數做為 ARN),請輸入 Lambda 函數的 ARN。

Note

如果您的帳戶中有超過 15,000 個 Lambda 函數,則無法在建立線索時於 CloudTrail 主控台中檢視或選取所有函數。您仍然可以選取記錄所有函數的選項,縱使其未全部顯示。如果您要記錄特定函數之資料事件,則可以在得知該函數的 ARN 後手動加以新增。您也可以在主控台中完成建立線索,然後使用 AWS CLI 和 put-event-selectors 命令為特定 Lambda函數設定記錄資料事件。如需詳細資訊,請參閱 使用 AWS CLI 管理資源 (p. 81)。

10. 在 Insights events (洞見事件) 中,如果您希望 路徑登入 Insights 事件,請選擇 Edit (編輯)CloudTrail。

在 Event type (事件類型) 中,選取 Insights events (洞見事件)。您必須登入 Write (寫入) 管理事件,才能登入 Insights 事件。

CloudTrail Insights 會分析管理 Write (寫入) 事件是否發生不尋常的活動,並在偵測到 amomalies時登入事件。依預設,線索不會記錄 Insights 事件。如需 Insights 事件的詳細資訊,請參閱記錄線索的 Insights 事件 (p. 130)。記錄 Insights 事件需支付額外費用。如需 CloudTrail 定價,請參閱 AWSCloudTrail 定價。

Insights events會傳遞到相同 S3 儲存貯體上名為 /CloudTrail-Insight 的不同資料夾,此資料夾是在線索詳細資訊頁面的 Storage location (儲存位置) 區域中指定的。CloudTrail 會為您建立新的前綴。例如,如果您目前的目的地 S3 儲存貯體名為 S3bucketName/AWSLogs/CloudTrail/,則具有新前綴的 S3 儲存貯體名稱會被命名為 S3bucketName/AWSLogs/CloudTrail-Insight/。

11. 當您完成變更路徑上的設定時,請選擇 Update path (更新路徑)。

使用進階事件選取器更新資料事件設定

1. 在路徑的詳細資訊頁面上,於 Data events (資料事件) 中,選擇 Edit (編輯)。2. 如果您尚未登入資料事件,請選擇 Data events (資料事件)。3. 針對 Data event type (資料事件類型),選擇您要登入的資料事件資源類型 (S3 儲存貯體、AWS

Outposts 上的 S3 物件,或 Lambda 函數)。4. 選擇 log selector 範本。CloudTrail 包含預先定義的範本,可登入資源類型的所有資料事件。若要建置自

訂 log selector 範本,請選擇 Custom (自訂)。

Note

為 S3 儲存貯體選擇預先定義的範本,可讓目前在您的 AWS 帳號中的所有儲存貯體,以及在建立完畢後您建立的任何儲存貯體,皆進行資料事件登入。另外,還會啟用記錄 AWS 帳戶中任何使用者或角色所執行之資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的儲存貯體上執行也是一樣。

版本 1.073

Page 79: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

如果該路徑僅適用於一個區域,選擇可登入所有 S3 儲存貯體的預先定義範本,可讓與您結尾及稍後建立於該區域之所有區域中資料儲存貯體的事件登入。並不會記錄 Amazon S3 帳戶中其他區域內 AWS 儲存貯體的資料事件。如果您要為所有區域建立尾端,為 Lambda 函數選擇預先定義的範本,可針對目前在 AWS帳號中的所有函數,以及在您建立完此尾端後在任何區域中建立的任何 Lambda 函數,來允許資料事件登入。如果您要為單一區域建立結尾 (利用使用 AWS CLI),則此選擇可讓目前在 AWS 帳號中該區域的所有函數,以及在您建立完結尾後,您可能會在該區域中建立的任何Lambda 函數,藉此登入資料事件。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。記錄所有函數的資料事件也會啟用記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的函數上執行也是一樣。

5. 如果您想要套用預先定義的 log 選擇器範本,而且您不想新增其他資料事件資源類型,請選擇 Savechanges (儲存變更),然後跳到此程序的最後一個步驟。若要套用自訂 log selector 範本,請繼續下一個步驟。

6. 若要建立自訂 log selector 範本,請在 Log selector template (Log selector 範本) 下拉式清單中,選擇 Custom (自訂)。

7. 輸入您的自訂 log selector 範本名稱。8. 在 Advanced event selectors (進階事件選擇器) 中,針對您想要收集資料事件的特定 S3 儲存貯

體、AWS Outposts 上的 S3 物件或 Lambda 函數,建置表達式。

a. 從下列欄位中選擇。對於接受陣列 (多個值) 的欄位,CloudTrail 會在值之間新增 OR。

• readOnly - 可設定為 readOnlyEquals (等於) 值為 或 true。false

• eventName - 可以使用任何運算子。eventName您可以使用它來包含或排除任何登入CloudTrail 的資料事件,例如 PutBucket。 此欄位可以有多個值,以逗號分隔。

• resources.type - 此欄位為必填。resources.type 只能使用 Equals (等於) 運算子,且值可以是以下其中一項:AWS::S3::Object、AWS::S3Outposts::Object 或AWS::Lambda::Function。

• resources.ARN - 您可以使用任何運算子搭配 ,但如果您使用 resources.ARNEquals(等於) 或 NotEquals,則值必須完全符合您在範本中指定類型之有效資源的 ARN 做為 的值。resources.type 例如,如果 resources.type 等於 AWS::S3::Object,則 ARN必須為下列其中一個格式。結尾的落差是有意的;請勿排除。

arn:partition:s3:::bucket_name/arn:partition:s3:::bucket_name/object_or_file_name/

當 resources.type 等於 AWS::S3Outposts::Object,且運算子設定為 Equals 或NotEquals 時,ARN 的格式必須如下:

arn:partition:s3-outposts:region:account_ID:object_path

當 resources.type 等於 AWS::Lambda::Function,且運算子設定為 Equals 或NotEquals 時,ARN 的格式必須如下:

arn:partition:lambda:region:account_ID:function:function_name

如需資料事件資源 ARN 格式的詳細資訊,請查看《 使用者指南Amazon S3》中由 定義的Resource types (資源類型)AWS Lambda 和 定義的 Resource types (資源類型)。AWSIdentity and Access Management

b. 針對每個欄位,選擇 + Conditions (+ 條件) 新增所需數量的條件,所有條件最多 500 個指定的值。例如,若要從在您尾端登入的資料事件中排除兩個 S3 儲存貯體的資料事件,您可以將欄位設為 resources.ARN、設定 的運算子NotEquals,然後貼上 S3 儲存貯體 ARN,或瀏覽不想用於登入事件的 S3 儲存貯體。

版本 1.074

Page 80: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用主控台建立和更新 路徑

若要新增第二個 S3 儲存貯體,請選擇 + Conditions (+ 條件),然後重複上述指示,貼上在 的ARN 中或瀏覽不同的儲存貯體。

Note

結尾上的所有選取器最多可以有 500 個值。這包括選擇器 (例如 eventName) 的多個值的陣列。 如果您有所有選擇器的單一值,您最多可以將 500 個條件新增至選擇器。如果您的帳戶中有超過 15,000 個 Lambda 函數,則無法在建立線索時於 CloudTrail 主控台中檢視或選取所有函數。您仍然可以使用預先定義的選取器範本來登入所有函數,即使它們未顯示。如果您要記錄特定函數之資料事件,則可以在得知該函數的 ARN 後手動加以新增。您也可以在主控台中完成建立線索,然後使用 AWS CLI 和 put-event-selectors 命令為特定 Lambda 函數設定記錄資料事件。如需詳細資訊,請參閱 使用 AWS CLI 管理資源 (p. 81)。

c. 選擇 + Field (+ 欄位),視需要新增其他欄位。為了避免錯誤,請勿為欄位設定衝突或重複值。例如,請勿在某個選取器中指定 ARN 等於值,然後指定另一個選取器中的 ARN 不等於相同值。

d. 選擇 Next (下一步) 將變更儲存至您的自訂選擇器範本。請勿選擇另一個 log selector 範本,或離開此頁面,否則會遺失您的自訂選取器。

9. 若要新增用來登入資料事件的另一個資料類型,請選擇 Add data event type (新增資料事件類型)。重複步驟 3 到此步驟,以設定資料事件類型的進階事件選取器。

10. 在您選擇 Next (下一步) 後,請在 Step 2: (步驟 2:) 中 選擇 log 事件,查看您選擇的 logselector 範本選項。選擇 Edit (編輯) 返回並進行變更。

11. 若要為您的 路徑設定 Insights 事件和其他設定,請回到本主題中的上述程序:更新路徑 (p. 70)。

刪除線索您可以使用 CloudTrail 主控台刪除線索。

使用 CloudTrail 主控台刪除線索

1. 登入 AWS 管理主控台並在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。2. 打開 主控台的 Trails (訓練)CloudTrail 頁面。3. 選擇線索名稱。4. 在結尾詳細資訊頁面的頂端,選擇 Delete。5. 當系統提示您確認時,請選擇 Delete (移除) 以永久移除結尾。路徑會從試驗清單中移除。將不會刪除已

交付至 Amazon S3 儲存貯體的日誌檔案。

Note

傳遞至 Amazon S3 儲存貯體的內容可能含有客戶內容。如需移除敏感資訊的詳細資訊,請參閱如何清空 S3 儲存貯體?或如何刪除 S3 儲存貯體?。

關閉記錄線索當您建立線索時,會自動開啟記錄。您可以關閉記錄線索。現有的 logs 仍存放在路徑的 Amazon S3 儲存貯體中。

使用 CloudTrail 主控台關閉記錄線索

1. 登入 AWS 管理主控台並在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。2. 在導覽窗格中,選擇 Trails (路徑),然後選擇路徑的名稱。3. 在結尾詳細資訊頁面的頂端,選擇 Stop logging (停止登入) 來關閉結尾的登入。4. 當系統提示您確認時,請選擇 Stop logging (停止登入)。CloudTrail 會停止該路徑的登入活動。

版本 1.075

Page 81: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

5. 若要恢復該尾端的登入,請選擇路徑組態頁面上的 Start logging (開始登入)。

使用 AWS Command Line Interface 建立、更新和管理的管道您可以使用 AWS CLI 來建立、更新及管理線索。使用 AWS CLI 時,請記得系統會在設定檔所配置的 AWS區域中執行命令。如果您想在不同區域中執行命令,則可變更設定檔的預設區域,或搭配 --region 參數使用命令。

Note

您需要 AWS 命令列工具,才能執行本主題中的 AWS Command Line Interface (AWS CLI) 命令。請確認您已安裝最新版本的 AWS CLI。如需詳細資訊,請參閱 AWS Command Line Interface 使用者指南。如需 AWS CLI 命令列中 CloudTrail 命令的說明,請輸入 aws cloudtrail help。

建立及管理線索的常用命令與狀態CloudTrail 中有一些較常用來建立及更新線索的命令,其中包括:

• create-trail (p. 77) 可建立線索。• update-trail (p. 79) 可變更現有線索的組態。• add-tags (p. 81) 可新增一或多個標籤 (索引鍵/值組) 至現有線索。• remove-tags (p. 82) 可從線索移除一或多個標籤。• list-tags (p. 81) 可傳回與線索相關聯的標籤清單。• put-event-selectors (p. 85),為結尾新增或修改事件選取器或進階事件選取器。• put-insight-selectors 以新增或修改現有線索的 Insights 事件選取器,以及啟用或停用 Insights 事件。• start-logging (p. 77) 可開始使用線索記錄事件。• stop-logging (p. 95) 可暫停使用線索記錄事件。• delete-trail (p. 95) 可刪除線索。此命令不會刪除包含該線索日誌檔案的 Amazon S3 儲存貯體 (若有的

話)。• describe-trails (p. 82) 可傳回 AWS 區域中線索的相關資訊。• get-trail (p. 82) 可傳回線索的設定資訊。• get-trail-status (p. 82) 可傳回線索目前狀態的相關資訊。• get-event-selectors (p. 85) 傳回為結尾設定之事件選取器或進階事件選取器的相關資訊。• get-insight-selectors 可傳回為線索設定的 Insights 事件選取器相關資訊。

建立及更新線索支援的命令:create-trail 與 update-trail

create-trail 和 update-trail 命令提供各種可用來建立及管理線索的功能,其中包括:

• 使用 --is-multi-region-trail 選項來建立跨區域接收日誌的線索,或是更新線索。在大部分情況下,您應該建立會記錄所有 AWS 區域中事件的線索。

• 使用 --is-organization-trail 選項來建立會接收組織中所有 AWS 帳戶日誌的線索。• 使用 --no-is-multi-region-trail 選項將多區域線索轉換成單一區域線索。• 使用 --kms-key-id 選項來啟用或停用日誌檔案加密。此選項會指定您已建立的 AWS KMS 金鑰,而該

金鑰已連接至允許 CloudTrail 加密日誌的政策。如需詳細資訊,請參閱 使用 CloudTrail 啟用和停用 AWSCLI 日誌檔案加密 (p. 243)。

• 使用 --enable-log-file-validation 和 --no-enable-log-file-validation 選項來啟用或停用日誌檔案驗證。如需詳細資訊,請參閱 驗證 CloudTrail 日誌檔案完整性 (p. 178)。

版本 1.076

Page 82: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

• 指定 CloudWatch Logs 日誌群組和角色,讓 CloudTrail 可以將事件交付至 CloudWatch Logs 日誌群組。如需詳細資訊,請參閱 使用 監控 日誌檔案 (p. 136)。

廢除的命令:create-subscription 和 update-subscriptionImportant

create-subscription 和 update-subscription 命令先前可用來建立及更新線索,但已廢除。請勿使用這些命令,它們無法提供建立及管理線索的完整功能。如果您設定為自動使用上述命令之一或兩者,建議您更新程式碼或指令碼,以使用 create-trail 等受支援的命令。

使用 create-trail您可以執行 create-trail 命令,來建立專為您商業需求而設定的試驗。使用 AWS CLI 時,請記得系統會在設定檔所配置的 AWS 區域中執行命令。如果您想在不同區域中執行命令,則可變更設定檔的預設區域,或搭配 --region 參數使用命令。

建立套用至所有區域的線索

若要建立會套用至所有區域的線索,請使用 --is-multi-region-trail 選項。在預設情況下,create-trail 命令所建立的線索只會記錄該線索建立所在 AWS 區域中的事件。為確保能記錄全域服務事件並擷取AWS 帳戶中的所有管理事件活動,您應建立可記錄所有 AWS 區域中事件的線索。

Note

當您建立結尾時,如果您指定不是使用 Amazon S3 建立的 CloudTrail 儲存貯體,您需要連接適當的政策。請參閱CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221)。

以下範例會建立名稱 的結尾 my-trail 和鍵為 的標籤 Group 值為 的 Marketing 會將所有區域的登入交付至名為 my-bucket 的現有儲存貯體。

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-multi-region-trail --tags-list [key=Group,value=Marketing]

若輸出中的 IsMultiRegionTrail 元素顯示 true,即可確定所有區域中皆有線索。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": false, "S3BucketName": "my-bucket"}

Note

使用 start-logging 命令來為線索啟動記錄功能。

啟動線索的記錄功能

create-trail 命令完成之後,請執行 start-logging 命令開始線索的記錄。

Note

您在 CloudTrail 主控台中建立線索時,即自動開啟記錄日誌。

版本 1.077

Page 83: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

下列範例會為線索啟動記錄功能。

aws cloudtrail start-logging --name my-trail

此命令不會傳回輸出,但您可以使用 get-trail-status 命令來確認記錄功能已啟動。

aws cloudtrail get-trail-status --name my-trail

若輸出中的 IsLogging 元素顯示 true,即可確定線索正在進行記錄。

{ "LatestDeliveryTime": 1441139757.497, "LatestDeliveryAttemptTime": "2015-09-01T20:35:57Z", "LatestNotificationAttemptSucceeded": "2015-09-01T20:35:57Z", "LatestDeliveryAttemptSucceeded": "2015-09-01T20:35:57Z", "IsLogging": true, "TimeLoggingStarted": "2015-09-01T00:54:02Z", "StartLoggingTime": 1441068842.76, "LatestDigestDeliveryTime": 1441140723.629, "LatestNotificationAttemptTime": "2015-09-01T20:35:57Z", "TimeLoggingStopped": ""}

建立單一區域線索

下列命令會建立單一區域線索。指定的 Amazon S3 儲存貯體必須已經存在,而且已套用適當的 CloudTrail許可。如需詳細資訊,請參閱 CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221)。

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket

如需詳細資訊,請參閱 CloudTrail 線索命名需求 (p. 111)。

下列為範例輸出。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "IsOrganizationTrail": false, "S3BucketName": "my-bucket"}

建立套用至所有區域且已啟用日誌檔案驗證的線索

若要在使用 create-trail 時啟用日誌檔案驗證,請使用 --enable-log-file-validation 選項。

如需日誌檔案驗證的相關資訊,請參閱驗證 CloudTrail 日誌檔案完整性 (p. 178)。

下列範例所建立的線索會將所有區域的日誌交付至指定儲存貯體。此命令會採用 --enable-log-file-validation 選項。

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-multi-region-trail --enable-log-file-validation

版本 1.078

Page 84: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

若輸出中的 LogFileValidationEnabled 元素顯示 true,即可確定日誌檔案驗證已啟用。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": true, "IsMultiRegionTrail": true, "IsOrganizationTrail": false, "S3BucketName": "my-bucket"}

使用 update-trail您可以使用 update-trail 命令來變更線索的組態設定。您也可以使用 add-tags 和 remove-tags 命令來新增及移除線索的標籤。您只可從建立線索的 AWS 區域 (主區域) 來更新該線索。使用 AWS CLI 時,請記得系統會在設定檔所配置的 AWS 區域中執行命令。如果您想在不同區域中執行命令,則可變更設定檔的預設區域,或搭配 --region 參數使用命令。

Note

如果您使用 AWS CLI 或其中一個 AWS SDKs 來修改路徑,請確定路徑的儲存貯體政策是最新的。若要讓您的儲存貯體自動從新的 AWS 區域接收事件,政策必須包含完整的服務名稱cloudtrail.amazonaws.com。 如需詳細資訊,請前往 CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221)。

將套用至一個區域的線索轉換成套用至所有區域

若要變更現有的線索,使該線索套用至所有區域,請使用 --is-multi-region-trail 選項。

aws cloudtrail update-trail --name my-trail --is-multi-region-trail

若輸出中的 IsMultiRegionTrail 元素顯示 true,即可確定線索現會套用至所有區域。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": false, "S3BucketName": "my-bucket"}

將多區域線索轉換成單一區域線索

若要變更現有的多區域線索,使該線索只會套用至其建立所在的區域,請使用 --no-is-multi-region-trail 選項。

aws cloudtrail update-trail --name my-trail --no-is-multi-region-trail

若輸出中的 IsMultiRegionTrail 元素顯示 false,即可確定線索現會套用至單一區域。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",

版本 1.079

Page 85: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

"LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "IsOrganizationTrail": false, "S3BucketName": "my-bucket"}

啟用及停用全域服務事件記錄

若要變更線索以停止記錄全域服務事件,請使用 --no-include-global-service-events 選項。

aws cloudtrail update-trail --name my-trail --no-include-global-service-events

若輸出中的 IncludeGlobalServiceEvents 元素顯示 false,即可確定線索不會再記錄全域服務事件。

{ "IncludeGlobalServiceEvents": false, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "IsOrganizationTrail": false, "S3BucketName": "my-bucket"}

若要變更線索以記錄全域服務事件,則可使用 --include-global-service-events 選項。

啟用日誌檔案驗證

若要啟用線索的日誌檔案驗證,請使用 --enable-log-file-validation 選項。這會將摘要檔案交付至該線索的 Amazon S3 儲存貯體。

aws cloudtrail update-trail --name my-trail --enable-log-file-validation

若輸出中的 LogFileValidationEnabled 元素顯示 true,即可確定日誌檔案驗證已啟用。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": true, "IsMultiRegionTrail": false, "IsOrganizationTrail": false, "S3BucketName": "my-bucket"}

停用日誌檔案驗證

若要停用線索的日誌檔案驗證,請使用 --no-enable-log-file-validation 選項。

aws cloudtrail update-trail --name my-trail-name --no-enable-log-file-validation

若輸出中的 LogFileValidationEnabled 元素顯示 false,即可確定日誌檔案驗證已停用。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail",

版本 1.080

Page 86: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

"TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "IsOrganizationTrail": false, "S3BucketName": "my-bucket"}

如需使用 AWS CLI 驗證日誌檔案,請參閱使用 CloudTrail 驗證 AWS CLI 日誌檔案完整性 (p. 180)。

使用 AWS CLI 管理資源AWS CLI 還有其他幾個命令可協助您管理線索。這些命令可用來將標籤新增至線索、取得線索狀態、啟動和停止線索的記錄功能,以及刪除線索。您必須從線索建立所在的同一個 AWS 區域 (主區域) 執行這些命令。使用 AWS CLI 時,請記得系統會在設定檔所配置的 AWS 區域中執行命令。如果您想在不同區域中執行命令,則可變更設定檔的預設區域,或搭配 --region 參數使用命令。

主題• 新增一或多個標籤至線索 (p. 81)• 列出一或多個線索的標籤 (p. 81)• 從線索移除一或多個標籤 (p. 82)• 擷取線索設定和線索狀態 (p. 82)• 設定 Insights 事件選取器 (p. 84)• 設定事件選取器 (p. 85)• 設定進階事件選取器 (p. 88)• 停止及啟動線索的記錄功能 (p. 95)• 刪除線索 (p. 95)

新增一或多個標籤至線索

若要將一或多個標籤新增至現有尾端,請執行 add-tags 命令。

下列範例新增名稱為 的標籤 Owner 和 的值 Mary 路徑的 ARN 為 arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail 位於美國東部 (俄亥俄) 區域。

aws cloudtrail add-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail --tags-list Key=Owner,Value=Mary --region us-east-2

如果成功,此命令不會傳回任何內容。

列出一或多個線索的標籤

若要檢視與一或多個現有線索相關聯的標籤,請使用 list-tags 命令。

下列範例列出 的標籤 Trail1 和 Trail2.

aws cloudtrail list-tags --resource-id-list arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2

如果成功,此命令傳回的輸出會類似如下。

{ "ResourceTagList": [ {

版本 1.081

Page 87: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

"ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1", "TagsList": [ { "Value": "Alice", "Key": "Name" }, { "Value": "Ohio", "Key": "Location" } ] }, { "ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2", "TagsList": [ { "Value": "Bob", "Key": "Name" } ] } ]}

從線索移除一或多個標籤

若要從現有尾端移除一或多個標籤,請執行 remove-tags 命令。

下列範例會移除具有名稱 的標籤 Location 和 Name 來自 ARN 為 的結尾 arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 位於美國東部 (俄亥俄) 區域。

aws cloudtrail remove-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 --tags-list Key=Name Key=Location --region us-east-2

如果成功,此命令不會傳回任何內容。

擷取線索設定和線索狀態

執行 describe-trails 命令以擷取 AWS 區域中各路徑的資訊。下列範例會傳回 美國東部 (俄亥俄) 區域中所設定線索的相關資訊。

aws cloudtrail describe-trails --region us-east-2

如果成功,您會看到類似如下的輸出。

{ "trailList": [ { "Name": "my-trail", "S3BucketName": "my-bucket", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-2" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": false, },

版本 1.082

Page 88: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

{ "Name": "my-special-trail", "S3BucketName": "another-bucket", "S3KeyPrefix": "example-prefix", "IncludeGlobalServiceEvents": false, "IsMultiRegionTrail": false, "HomeRegion": "us-east-2", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-special-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": true, "IsOrganizationTrail": false }, { "Name": "my-org-trail", "S3BucketName": "my-bucket", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-1" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-org-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": true } ]}

執行 get-trail 命令以擷取特定路徑的設定資訊。下列範例傳回名為 的 路徑的設定資訊 my-trail.

aws cloudtrail get-trail - -name my-trail

如果成功,此命令傳回的輸出會類似如下。

{ "Trail": { "Name": "my-trail", "S3BucketName": "my-bucket", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-2" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": false, }}

若要擷取線索的狀態,請執行 get-trail-status 命令。您必須從建立該命令的 AWS 區域 (所在區域)執行此命令,或者,您必須新增 --region 參數來指定該區域。

Note

如果線索為組織線索,且您是使用 AWS Organizations 中組織的成員帳戶,則需提供該線索的完整ARN,而非僅提供名稱。

aws cloudtrail get-trail-status --name my-trail

如果成功,您會看到類似如下的輸出。

版本 1.083

Page 89: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

{ "LatestDeliveryTime": 1441139757.497, "LatestDeliveryAttemptTime": "2015-09-01T20:35:57Z", "LatestNotificationAttemptSucceeded": "2015-09-01T20:35:57Z", "LatestDeliveryAttemptSucceeded": "2015-09-01T20:35:57Z", "IsLogging": true, "TimeLoggingStarted": "2015-09-01T00:54:02Z", "StartLoggingTime": 1441068842.76, "LatestDigestDeliveryTime": 1441140723.629, "LatestNotificationAttemptTime": "2015-09-01T20:35:57Z", "TimeLoggingStopped": ""}

如果發生 Amazon SNS 或 Amazon S3 錯誤,則除了上述 JSON 程式碼中所示的欄位外,狀態還會包含下列欄位:

• LatestNotificationError – 。 包含主題的描述失敗時 Amazon SNS 發出的錯誤。• LatestDeliveryError – 。 如果 Amazon S3 無法將 log 檔案交付給儲存貯體,則包含 CloudTrail 所發

出的錯誤。

設定 Insights 事件選取器

執行 put-insight-selectors,並指定 ApiCallRateInsight 為 InsightType 屬性值,以啟用線索上的Insights 事件。若要檢視線索的 Insights 選取器設定,請執行 get-insight-selectors 命令。您必須從建立線索的 AWS 區域 (主區域) 執行此命令,或是新增 --region 參數至命令來指定該區域。

範例:登入 Insights 事件的結尾

以下範例使用 put-insight-selectors 為名為 的結尾建立 Insights 事件選取器 TrailName3. 這可讓 Insights 事件集合 TrailName3 路徑。

aws cloudtrail put-insight-selectors --trail-name TrailName3 --insight-selectors '{"InsightType": "ApiCallRateInsight"}'

此範例會傳回為線索設定的 Insights 事件選取器。

{ "InsightSelectors": [ { "InsightType": "ApiCallRateInsight" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName3"}

範例:關閉路徑的 Insights 事件集合

以下範例使用 put-insight-selectors 來移除名為 的結尾的 Insights 事件選取器 TrailName3. 清除 Insights 選取器的 JSON 字串會停用 的 Insights 事件集合 TrailName3 路徑。

aws cloudtrail put-insight-selectors --trail-name TrailName3 --insight-selectors '[]'

此範例會傳回為線索設定的目前空白 Insights 事件選取器。

{ "InsightSelectors": [

版本 1.084

Page 90: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

{ "InsightType": "" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName3"}

設定事件選取器

若要檢視線索的事件選取器設定,請執行 get-event-selectors 命令。您必須從建立線索的 AWS 區域(主區域) 來執行此命令,或是使用 --region 參數指定該區域。

aws cloudtrail get-event-selectors --trail-name TrailName

Note

如果線索為組織線索,且您是使用 AWS Organizations 中組織的成員帳戶,則需提供該線索的完整ARN,而非僅提供名稱。

下列範例會傳回線索之事件選取器的預設設定。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

若要建立事件選取器,請執行 put-event-selectors 命令。當您的帳戶發生事件時,CloudTrail 會評估您的線索設定。如果事件符合線索的任何事件選取器,則線索會處理並記錄該事件。一個線索最多可以設定5 個事件選取器和 250 個資料資源。如需詳細資訊,請參閱 試驗的登入資料事件 (p. 120)。

主題• 範例:使用特定事件選取器的結尾 (p. 85)• 範例:登入所有管理和資料事件的結尾 (p. 86)• 範例:不登入 AWS Key Management Service 事件的結尾 (p. 87)• 範例:登入相關低流量 AWS Key Management Service 事件的結尾 (p. 87)

範例:使用特定事件選取器的結尾

以下範例會為名為 的結尾建立事件選取器 TrailName 包含唯讀和唯寫管理事件、兩個 Amazon S3 儲存貯體/字首組合的資料事件,以及名為 AWS Lambda 的單一 函數的資料事件 hello-world-python-function.

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::mybucket/prefix","arn:aws:s3:::mybucket2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]'

此範例會傳回為線索設定的事件選取器。

版本 1.085

Page 91: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::mybucket/prefix", "arn:aws:s3:::mybucket2/prefix2" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda:us-west-2:123456789012:function:hello-world-python-function" ], "Type": "AWS::Lambda::Function" }, ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

範例:登入所有管理和資料事件的結尾

以下範例會為名為 的結尾建立事件選取器 TrailName2 包含所有事件 (包括唯讀和唯寫管理事件),以及Amazon S3 帳號中所有 AWS Lambda 儲存貯體和 AWS 函數的所有資料事件。

Note

如果線索僅套用至一個區域,就只會記錄該區域的事件,即使事件選取器參數指定所有 Amazon S3儲存貯體和 Lambda 函數也一樣。事件選取器只會套用至建立線索的區域。

aws cloudtrail put-event-selectors --trail-name TrailName2 --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda"]}]}]'

此範例會傳回為線索設定的事件選取器。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda" ], "Type": "AWS::Lambda::Function" },

版本 1.086

Page 92: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2"}

範例:不登入 AWS Key Management Service 事件的結尾

以下範例會為名為 的結尾建立事件選取器 TrailName 包含唯讀和唯寫管理事件,但排除 AWS KeyManagement Service (AWS KMS) 事件。由於 AWS KMS 事件被視為管理事件,而且可能會有大量的事件,因此如果您有多個線索用來擷取管理事件,這些事件可能會對您的 CloudTrail 帳單產生重大影響。此範例中的使用者已選擇從每個線索中排除 AWS KMS 事件,只有一個例外。若要排除事件來源,請將ExcludeManagementEventSources 加入事件選取器,並在字串值中指定事件來源。在此版本中,您可以排除 kms.amazonaws.com 中的事件。

如果您選擇不登入管理事件,則 AWS KMS 事件不會登入,而且您無法變更 AWS KMS 事件登入設定。

若要再次開始記錄 AWS KMS 事件至線索,請傳遞空字串作為 ExcludeManagementEventSources 的值。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": ["kms.amazonaws.com"],"IncludeManagementEvents": true]}]'

此範例會傳回為線索設定的事件選取器。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [ "kms.amazonaws.com" ], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

若要再次啟動記錄 AWS KMS 事件至線索,請傳遞空字串作為 ExcludeManagementEventSources 的值,如下列命令所示。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

範例:登入相關低流量 AWS Key Management Service 事件的結尾

以下範例會為名為 的結尾建立事件選取器 TrailName 包含唯寫管理事件和 AWS KMS 事件。由於 AWSKMS 事件被視為管理事件,而且可能會有大量的事件,因此如果您有多個線索用來擷取管理事件,這些事件可能會對您的 CloudTrail 帳單產生重大影響。此範例中的使用者已選擇包含 AWS KMS Write (寫入) 事件,其中將包含 Disable、Delete 和 ScheduleKey,但不再包含大量動作,例如 Encrypt、Decrypt 和GenerateDataKey (這些動作現在視為 Read (讀取) 事件。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "WriteOnly","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

版本 1.087

Page 93: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

此範例會傳回為線索設定的事件選取器。這會記錄唯寫管理事件,包括 AWS KMS 事件。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "WriteOnly" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

設定進階事件選取器

若要使用進階事件選取器來包含或排除資料事件,而不是基本事件選取器,請在尾端的詳細資訊頁面上選擇使用新的資料事件功能。若要檢視尾端的進階事件選取器設定,請執行 get-event-selectors 命令。您必須從此命令建立所在的 AWS 區域 (所在區域) 執行此命令,或者,您必須新增 --region 參數來指定該區域。

aws cloudtrail get-event-selectors --trail-name TrailName

Note

如果線索為組織線索,且您是使用 AWS Organizations 中組織的成員帳戶,則需提供該線索的完整ARN,而非僅提供名稱。

下列範例傳回結尾的進階事件選取器預設設定。根據預設,未針對結尾設定進階事件選取器。

{ "AdvancedEventSelectors": [], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

若要建立進階事件選取器,請執行 put-event-selectors 命令。當資料事件在帳號中發生時,CloudTrail會評估您的試驗組態。如果事件符合路徑的任何進階事件選取器,則路徑會處理和登入事件。您可以在一個路徑上設定高達 500 個條件,包括為路徑上所有進階事件選取器指定的所有值。如需詳細資訊,請參閱 試驗的登入資料事件 (p. 120)。

主題• 範例:使用特定進階事件選取器的結尾 (p. 88)• 範例:使用自訂進階事件選取器來登入所有管理和資料事件的結尾 (p. 91)• 範例:使用自訂進階事件選取器登入 Amazon S3 資料事件的結尾。AWS Outposts (p. 93)• 範例:使用進階事件選取器來排除 AWS Key Management Service 事件的結尾 (p. 94)

範例:使用特定進階事件選取器的結尾

以下範例會為名為 的結尾建立自訂進階事件選取器 TrailName 包含所有 PutObject 儲存貯體/字首組合的讀取和寫入管理事件、DeleteObject 和 Amazon S3 資料事件,但名為 sample_bucket_name 的儲存貯體和名為 AWS Lambda 的 MyLambdaFunction 函數的資料事件除外。 因為這些是自訂進階事件選取器,所以每組選取器都有描述性名稱。請注意,結尾的結構描述是 S3 儲存貯體的 ARN 值的一部分。

aws cloudtrail put-event-selectors --trail-name TrailName \--advanced-event-selectors

版本 1.088

Page 94: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

'[ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Management"] } ] }, { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] }, { "Field": "resources.ARN", "NotEquals": ["arn:aws:s3:::sample_bucket_name/"] } ] }, { "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction"] } ] }]'

此範例會傳回為結尾設定的進階事件選取器。

{ "AdvancedEventSelectors": [ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "readOnly", "Equals": [ false ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "eventCategory", "Equals": [ "Management" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] } ] }, { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "readOnly", "Equals": [ false ], "StartsWith": [], "EndsWith": [],

版本 1.089

Page 95: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

"NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "eventCategory", "Equals": [ "Data" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "resources.ARN", "Equals": [], "StartsWith": [], "EndsWith": [], "NotEquals": [ "arn:aws:s3:::sample_bucket_name/" ], "NotStartsWith": [], "NotEndsWith": [] }, ] },{ "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "readOnly", "Equals": [ false ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "eventCategory", "Equals": [ "Data" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "resources.type", "Equals": [ "AWS::Lambda::Function" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "eventName", "Equals": [ "Invoke" ],

版本 1.090

Page 96: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

"StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

範例:使用自訂進階事件選取器來登入所有管理和資料事件的結尾

以下範例會為名為 的結尾建立進階事件選取器 TrailName2 包含所有事件 (包括唯讀和唯寫管理事件),以及 Lambda 帳號中所有 S3 儲存貯體和 AWS 函數的所有資料事件。

Note

如果線索僅套用至一個區域,就只會記錄該區域的事件,即使事件選取器參數指定所有 Amazon S3儲存貯體和 Lambda 函數也一樣。在單一區域路徑中,事件選取器只適用於建立路徑的區域。

aws cloudtrail put-event-selectors --trail-name TrailName2 \--advanced event-selectors '[ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Management"] } ] }, { "Name": "Log all events for all buckets", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] } ] }, { "Name": "Log all events for Lambda functions", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] } ] }]'

此範例會傳回為結尾設定的進階事件選取器。

{

版本 1.091

Page 97: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

"AdvancedEventSelectors": [ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "readOnly", "Equals": [ false ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "eventCategory", "Equals": [ "Management" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] } ] }, { "Name": "Log all events for all buckets", "FieldSelectors": [ { "Field": "readOnly", "Equals": [ false ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "eventCategory", "Equals": [ "Data" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] } ] },{ "Name": "Log all events for Lambda functions", "FieldSelectors": [ { "Field": "readOnly", "Equals": [ false ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [],

版本 1.092

Page 98: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

"NotEndsWith": [] }, { "Field": "eventCategory", "Equals": [ "Data" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "resources.type", "Equals": [ "AWS::Lambda::Function" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2"}

範例:使用自訂進階事件選取器登入 Amazon S3 資料事件的結尾。AWS Outposts

以下範例顯示如何設定您的 路徑,以包含 outpost 中 Amazon S3 物件上的所有資料事件。AWSOutposts在此版本中,AWS Outposts 欄位的 resources.type 事件上的 S3 支援值為AWS::S3Outposts::Object。

aws cloudtrail put-event-selectors --trail-name TrailName --region region \--advanced-event-selectors \'[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] }]'

此命令會傳回下列範例輸出。

{ "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ]

版本 1.093

Page 99: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line

Interface 建立、更新和管理 的管道

} ] } ], "TrailARN": "arn:aws:cloudtrail:region:123456789012:trail/TrailName"}

範例:使用進階事件選取器來排除 AWS Key Management Service 事件的結尾

以下範例會為名為 的結尾建立進階事件選取器 TrailName 包含唯讀和唯寫管理事件,但排除 AWS KeyManagement Service (AWS KMS) 事件。由於 AWS KMS 事件被視為管理事件,而且可能會有大量的事件,因此如果您有多個線索用來擷取管理事件,這些事件可能會對您的 CloudTrail 帳單產生重大影響。在此版本中,您可以排除 kms.amazonaws.com 中的事件。

如果您選擇不登入管理事件,則 AWS KMS 事件不會登入,而且您無法變更 AWS KMS 事件登入設定。

若要再次開始將 AWS KMS 事件登入尾端,請移除 eventSource 選擇器,並再次執行命令。

aws cloudtrail put-event-selectors --trail-name TrailName \--advanced event-selectors '[ { "Name": "Log all management events except AWS KMS events", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Management"] }, { "Field": "eventSource", "NotEquals": ["kms.amazonaws.com"] } ] }]'

此範例會傳回為結尾設定的進階事件選取器。

{ "AdvancedEventSelectors": [ { "Name": "Log all management events except AWS KMS events", "FieldSelectors": [ { "Field": "readOnly", "Equals": [ false ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "eventCategory", "Equals": [ "Management" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "eventSource", "Equals": [], "StartsWith": [], "EndsWith": [], "NotEquals": [ "kms.amazonaws.com" ],

版本 1.094

Page 100: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立組織的路徑

"NotStartsWith": [], "NotEndsWith": [] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

若要再次開始將 AWS KMS 事件登入尾端,請移除 eventSource 選擇器,如下列命令所示。

aws cloudtrail put-event-selectors --trail-name TrailName \--advanced event-selectors '[ { "Name": "Log all management events", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Management"] } ] }]'

停止及啟動線索的記錄功能

下列命令可用來啟動及停止 CloudTrail 記錄功能。

aws cloudtrail start-logging --name awscloudtrail-example

aws cloudtrail stop-logging --name awscloudtrail-example

Note

您需要執行 stop-logging 命令,停止將事件交付至儲存貯體,才能刪除該儲存貯體。如果您未停止記錄日誌,CloudTrail 會嘗試在有限期間內將日誌檔案交付到具有相同名稱的儲存貯體。如果您停止記錄或刪除線索,該線索會停用 CloudTrail Insights。

刪除線索

您可以使用下列命令來刪除線索。您只能刪除線索建立所在區域 (主區域) 中的線索。

aws cloudtrail delete-trail --name awscloudtrail-example

當您刪除線索時,並不會刪除相關聯的 Amazon S3 儲存貯體或 Amazon SNS 主題。請另外使用 AWS 管理主控台、AWS CLI 或服務 API 來刪除這些資源。

建立組織的路徑若您已在 AWS Organizations 中建立組織,您可以建立線索,負責為該組織中所有 AWS 帳戶記錄所有事件。這類線索經常稱為組織線索. 您也可以選擇編輯管理帳號中的現有路徑,並將其套用到組織,讓它成為組織。管理帳號和組織中所有成員帳號的組織 sunips log 事件。如需使用 AWS Organizations 的詳細資訊,請參閱 組織 術語與概念.

版本 1.095

Page 101: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立組織的路徑

Note

您必須透過管理登入,組織才能建立組織尾端。您也必須擁有管理帳號中 IAM 使用者或角色的許可,才能成功建立組織尾端。如果沒有足夠的許可,您無法看到可將線索套用到組織的選項。

建立組織線索之後,屬於您組織的每個 AWS 帳戶中都會建立您所指定名稱的線索。在成員帳號中擁有CloudTrail 許可的使用者,將能看到從其 AWS CloudTrail 帳號登入 AWS 主控台,或執行 AWS CLI 命令(例如 describe-trail) 時的這個路徑。 不過,成員帳號中的使用者將無法擁有足以删除組織尾端、登入或關閉許可、變更登入的事件類型,或以任何方式更改組織路徑。

當您在主控台中建立組織尾端,或在 CloudTrail 中將 組織 做為信任的服務時,這會建立服務連結角色,以在您組織的成員帳號中執行登入任務。此角色名為 AWSServiceRoleForCloudTrail,是 CloudTrail 成功登入組織事件的必要項目。如果 AWS 帳戶已新增到組織,該組織線索和服務連結角色將會新增到該 AWS 帳戶,並會自動使用該組織線索開始為該帳戶執行記錄。如果從組織中移除某 AWS 帳戶,組織線索和服務連結角色將從不再屬於該組織的 AWS 帳戶中加以刪除。不過,在帳戶移除之間為遭移除帳戶所建立的日誌檔,將持續保留於專門儲存線索日誌檔的 Amazon S3 儲存貯體中。

在下列範例中,管理帳號 111111111111 中的使用者會建立名為 的尾端 MyOrganizationTrail (針對組織) o-exampleorgid. 路徑會為同一個 Amazon S3 儲存貯體組織中的所有帳號進行活動。在組織中的所有帳號,MyOrganizationTrail 在其試驗資源清單中,但成員帳號將無法移除或修改組織路徑。只有管理帳號才能變更或删除組織的結尾,因為只有管理帳號才能將成員從組織移除。同樣地,根據預設,只有管理帳號可以存取 Amazon S3 儲存貯體 my-organization-bucket ,並包含路徑和路徑。Log 檔案的高階儲存貯體結構包含以組織 ID 為名的資料夾,其中以帳號 IDs 為組織中的每個帳號命名的子資料夾。每個成員帳戶的事件都會記錄至對應到成員帳戶 ID 的資料夾。如果未來某個時間點已將成員帳號 444444444444 從組織中移除,MyOrganizationTrail 而服務連結角色將不再出現在 AWS 帳號 444444444444 中,並且組織結尾不會為該帳號登入其他事件。不過,444444444444 資料夾仍會保留在 Amazon S3 儲存貯體中,以及該帳戶從組織移除之前建立的所有日誌。

在此範例中,管理帳號中所建立的尾端 ARN 是 aws:cloudtrail:us-east-2:111111111111:trail/MyOrganizationTrail。 這個 ARN 也是所有成員帳號中尾端的ARN。

組織線索與一般線索在許多方面都很相似。您可以為組織建立多個線索,以及選擇要為所有區域或單一區域建立組織線索,以及您要透過組織線索記錄哪類事件,方式就像任何其他線索的使用方式。不過,還是有一些差異。例如,當您在主控台建立結尾,並選擇是否針對 Amazon S3 儲存貯體或 AWS Lambda 函數登入資料事件時,CloudTrail 主控台中列出的唯一資源會是管理帳號的這些資源,但您可以新增成員帳號中資源的

版本 1.096

Page 102: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南從成員帳號試驗移動到組織試驗的最佳實務

ARNs。這時會記錄特定成員帳戶資源的資料事件,而無需為這些資源手動設定跨帳戶的存取權。如需記錄管理事件、Insights 事件和資料事件的詳細資訊,請參閱使用 CloudTrail 日誌檔案 (p. 114).

Note

在主控台中,您會建立一個登入所有區域的路徑。這是建議的最佳實務;在所有區域中登入活動可協助您更妥善保護 AWS 環境。若要建立單一區域尾端,請使用 。AWS CLI (p. 78)

您也可以設定其他 AWS 服務,以便運用任何其他線索的相同方式,在使用 CloudTrail 日誌中收集到用於組織線索的事件資料時,進一步進行分析與行動。例如,您可以使用 分析組織線索中的資料。AmazonAthena. 如需詳細資訊,請參閱 AWS 服務與 CloudTrail 日誌的整合 (p. 18).

主題• 從成員帳號試驗移動到組織試驗的最佳實務 (p. 97)• 準備為您的組織建立路徑 (p. 97)• 在 主控台中為您的組織建立路徑 (p. 99)• 使用 AWS Command Line Interface 為組織建立路徑 (p. 103)

從成員帳號試驗移動到組織試驗的最佳實務如果您已經為個別成員帳戶設定了 CloudTrail 線索,但是想要移動到組織線索,以記錄所有帳戶中的事件,您不希望在建立組織線索之前,由於刪除個別成員帳戶線索而遺失事件。但是,當您有兩個線索時,由於額外的事件複本會傳送到組織線索,因此會產生更高的成本。

為了幫助管理成本,但又要避免在組織線索開始傳送日誌之前遺失事件,請考慮將您的個別成員帳戶線索和組織線索保留最多一天。如此可確保組織線索記錄所有事件,但您只會產生一天的重複事件成本。在第一天之後,即可停止登入 (或刪除) 任何個別成員帳戶線索。

準備為您的組織建立路徑在為您的組織建立路徑之前,請確認您的組織和管理帳號都已正確設定為可以建立路徑。

• 您組織中的所有功能必須都預先啟用,您才能為其建立線索。如需更多詳細資訊,請參閱啟用組織中的所有功能.

• 管理帳號必須擁有 AWSServiceRoleForOrganizations 角色。這個角色是您在建立組織時由 組織 所自動建立,而且是 CloudTrail 用來記錄組織事件的必要角色。如需更多詳細資訊,請參閱 組織 和服務連結角色.

• 用來在管理帳號中建立組織尾端的 IAM 使用者或角色必須具備足以建立組織尾端的許可。您必須套用_AWSCloudTrailFullAccessFullAccess 您還必須擁有 IAM 和 組織 的足夠許可,才能建立服務連結角色,以及啟用受信任存取。下列範例政策顯示最少的必要許可。

Note

「_AWSCloudTrailFullAccessFullAccess政策旨在廣泛共用於您的 AWS 帳號。由於 CloudTrail會收集高度敏感的資訊,因此應僅限 AWS 帳號管理員使用。 具有此角色的使用者可以停用或重新設定其 AWS 帳號中最敏感和重要的稽核功能。基於這個原因,應該嚴密控制和監控此政策的存取權。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRole",

版本 1.097

Page 103: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南準備為您的組織建立路徑

"organizations:EnableAWSServiceAccess", "organizations:ListAccounts", "iam:CreateServiceLinkedRole", "organizations:DisableAWSServiceAccess", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization" ], "Resource": "*" } ]}

• 若要使用 AWS CLI 或 CloudTrail APIs 建立組織尾端,您必須允許在 CloudTrail 中對 組織 進行信任的存取,而且您必須使用允許登入組織尾端的政策來手動建立 Amazon S3 儲存貯體。如需詳細資訊,請參閱使用 AWS Command Line Interface 為組織建立路徑 (p. 103).

• 若要使用現有的 IAM 角色來將組織尾端的監控新增到 Amazon CloudWatch Logs,您必須手動修改 IAM角色,以允許將成員帳號的 CloudWatch Logs 交付到管理帳號中的 CloudWatch Logs 群組,如以下範例所示。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*" ] } ]}

如需有關 CloudTrail 和 Amazon CloudWatch Logs 的詳細資訊,請參閱使用 監控 日誌檔案 (p. 136). 此外,請先考慮 CloudWatch Logs 限制和定價考量等因素,再決定啟用組織線索的功能。如需詳細資訊,請查看 CloudWatch Logs 限制和 Amazon CloudWatch 定價。

• 若要針對成員帳號中的特定 Amazon S3 儲存貯體或 AWS Lambda 函數,在您的組織尾端登入資料事件,請準備好每項資源的 Amazon Resource Name (ARNs) 清單。建立結尾時,CloudTrail 主控台中不會顯示成員帳號資源;只能顯示管理帳號中的 Amazon S3 和 Lambda 函數。同樣地,如果您想要在命令列中建立或更新組織結尾時新增特定成員資源,則需要這些資源的 ARNs。

Note

記錄資料事件需支付額外的費用。如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價.

版本 1.098

Page 104: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 主控台中為您的組織建立路徑

在建立組織行程之前,您也應該考慮查看管理帳號和成員帳號中已存在的試驗路徑數量。CloudTrail 會限制可在每個區域建立的試驗計畫數量。您在管理帳號中建立組織結尾的區域不能超過此限制。不過,即使成員帳戶已達到區域內線索限制,成員帳戶中仍會建立該線索。任何區域中的第一個線索都是免費的,接著新增的任何線索將予以計費。若要降低組織尾端的潛在成本,請考慮在管理和成員帳號中停用任何不需要的試驗。如需關於 CloudTrail 定價的詳細資訊,請參閱 AWS CloudTrail 定價.

在 主控台中為您的組織建立路徑若要在 CloudTrail 主控台中建立組織尾端,您必須使用 IAM 使用者或角色在具有充分許可 (p. 97)的管理帳號中登入主控台。如果您未使用管理登入,當您在 CloudTrail 主控台中建立或編輯路徑時,將無法看到套用指向組織的選項。

您可以選擇多種方式來設定組織線索。例如,您可以:

• 根據預設,當您在主控台建立尾端時,該尾端會登入所有區域。建議的最佳實務是登入您帳號中的所有區域。若要建立單一區域尾端,請使用 。AWS CLI (p. 78)如需詳細資訊,請參閱 CloudTrail 運作方式 (p. 1).

• 指定是否將線索套用到您的組織。預設值是不這樣做;您必須選擇此選項,才能建立組織線索。• 指定要使用哪個 Amazon S3 儲存貯體來接收組織線索的日誌檔。您可以選擇管理帳號中現有的 Amazon

S3 儲存貯體,或建立專門用於組織尾端的儲存貯體。• 對於管理和資料事件,請指定是否要登入 Read (讀取) 事件、Write (寫入) 事件或兩者。CloudTrail

Insights (p. 130) 事件只會登入管理 Write (寫入) 事件。若要指定特定 Amazon S3 儲存貯體或管理帳號中的 AWS Lambda 函數的登入資料事件,您可以在主控台從清單選擇它們,並在成員中指定您要讓資料事件登入之每個資源的 ARNs。如需詳細資訊,請參閱 資料事件 (p. 121).

使用 建立組織線索AWS 管理主控台

1. 登入 AWS 管理主控台並在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。

您必須在具有充分許可 (p. 97)的管理帳號中,以使用者、角色或根身分登入,才能建立組織結尾。2. 選擇 Trails (線索),然後選擇 Create trail (建立線索).3. 在 Create Trail (建立結尾) 頁面的 Trail name (路徑名稱) 中,輸入尾端的名稱。如需詳細資訊,請

參閱 CloudTrail 線索命名需求 (p. 111).4. 選取 Enable for all account in my organization (我的組織中的所有帳號允許)。如果您登入的主控台具

有管理帳號中的 IAM 使用者或角色,才會看到此選項。若要成功建立組織線索,請確保該使用者或角色具備足夠許可 (p. 97).

5. 針對 Storage location (儲存位置),選擇 Create new S3 bucket (建立新的 S3 儲存貯體) 以建立儲存貯體。當您建立儲存貯體時,CloudTrail 會建立和套用所需的儲存貯體政策。

Note

如果您選擇 Use existing S3 bucket (使用現有的 S3 儲存貯體),請在 Trail log bucket name(Trail log 儲存貯體名稱) 中指定儲存貯體,或選擇 Browse (瀏覽) 選擇儲存貯體。儲存貯體政策必須授予 CloudTrail 寫入的許可。如需手動編輯儲存貯體政策的資訊,請參閱「CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221).

若要更輕鬆地找到您的 logs,請在現有的儲存貯體中建立新的資料夾 (也稱為字首),以存放您的CloudTrail Logs。在 Prefix (字首) 中輸入字首。

6. 對於 Log file SSE-KMS encryption (Log 檔案 SSE-KMS 加密),如果您想要使用 SSE-KMS 加密 log檔案,而非 SSE-S3,請選擇 Enabled (Enabled)。預設值為 Enabled (Enabled)。如需此加密類型的詳細資訊,請前往使用伺服器端加密搭配 Amazon S3 受管加密金鑰 (SSE-S3) 保護資料。

如果您支援 SSE-KMS 加密,請選擇 New (新增) 或 Existing (現有) AWS KMS 消費者主金鑰。在AWS KMSAlias 中,以 alias/ 格式指定 aliasMyAliasName. 如需詳細資訊,請前往 更新線索以使用您的 CMK (p. 242)。

版本 1.099

Page 105: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 主控台中為您的組織建立路徑

Note

您也可以從另一個帳戶輸入金鑰的 ARN。如需詳細資訊,請參閱 更新線索以使用您的CMK (p. 242). 該金鑰政策必須允許 CloudTrail 使用金鑰加密您的日誌檔案,並允許您指定的使用者讀取未加密格式的日誌檔案。如需手動編輯金鑰政策的資訊,請參閱「設定用於CloudTrail 的 AWS KMS 金鑰政策。 (p. 235).

7. 在 Additional settings (其他設定) 中,設定下列項目。

a. 針對 Log file validation (登入檔案驗證),選擇 Enabled (允許),將 log 摘要交付至 S3 儲存貯體。您可以使用摘要檔案來確認您的日誌檔案在 CloudTrail 交付以後未有更動。如需詳細資訊,請參閱 驗證 CloudTrail 日誌檔案完整性 (p. 178).

b. 對於 SNS notification delivery (SNS 通知交付),選擇 Enabled (允許),在每次將 log 交付到您的 儲存貯體時收到通知。CloudTrail 會將多個事件存放在 log 檔案中。SNS 通知是針對每個日誌檔案所傳送,而不是每個事件。如需詳細資訊,請參閱 設定 CloudTrail 的 Amazon SNS 通知 (p. 108).

如果您允許 SNS 通知,針對 Create a new SNS topic (建立新的 SNS 主題),請選擇 New (新增) 來建立主題,或選擇 Existing (現有) 以使用現有主題。如果您要建立套用至所有區域的線索,則會將所有區域中日誌檔案傳遞的 SNS 通知都交付至您建立的單一 SNS 主題。

如果您選擇 New (新增),CloudTrail 會為您指定新主題的名稱,或您可以輸入名稱。如果您選擇 Existing (現有),請從下拉式清單中選擇 SNS 主題。您也可以輸入來自另一個區域,或具有適當許可之帳戶的主題 ARN。如需詳細資訊,請參閱 Amazon SNS適用於 的 主題政策CloudTrail (p. 225).

如果您建立主題,則必須訂閱該主題,以便在日誌檔案交付時收到通知。您可以從 Amazon SNS 主控台進行訂閱。基於通知頻率,建議您設定訂閱利用 Amazon SQS 佇列,透過編寫程式的方式處理通知。如需詳細資訊,請參閱 Amazon Simple Notification Service 入門指南.

8. 或者,您可以選擇在 CloudTrail CloudWatch Logs 中選擇 Enabled (允許),將 設定為傳送檔案至CloudWatch Logs。如需詳細資訊,請參閱 傳送 事件到 CloudWatch Logs (p. 136).

a. 如果您與 CloudWatch Logs 整合,請選擇 New (新增) 來建立新的登入群組,或是選擇 Existing(現有) 來使用現有的登入群組。如果您選擇 New (新增),CloudTrail 會為您指定新登入群組的名稱,或您可以輸入名稱。

b. 如果您選擇 Existing (現有),請從下拉式清單中選擇一個登入群組。c. 選擇 New (新增),建立新的 IAM 角色供許可傳送登入到 CloudWatch Logs。選擇 Existing (現

有),從下拉式清單中選擇現有的 IAM 角色。當您展開 Policy document (政策文件) 時,會顯示新的或現有的 角色的政策陳述式。如需有關此角色的詳細資訊,請參閱 讓 CloudTrail 使用CloudWatch Logs 監控的角色政策文件 (p. 166).

Note

當您設定結尾時,可以選擇屬於另一個帳號的 S3 儲存貯體和 SNS 主題。不過,如果您要CloudTrail 將事件交付至 CloudWatch Logs 日誌群組,則必須選擇存在於目前帳戶中的日誌群組。

9. 針對 Tags (標籤),將一或多個自訂標籤 (鍵/值對) 新增到 路徑。標籤可協助您辨識 CloudTrail 線索和包含 Amazon S3 日誌檔的 CloudTrail 儲存貯體。然後,您可以對 CloudTrail 資源使用資源群組。如需詳細資訊,請參閲 AWS 資源群組和 。為何使用標籤來進行試驗? (p. 7)

10. 在 Choose log events (選擇 log 事件) 頁面上,選擇您要登入的事件類型。對於 Management events(管理事件),請執行下列動作。

a. 針對 API activity (API 活動),選擇您是否要讓 路徑登入 Read (讀取) 事件、Write (寫入)事件或兩者。如需詳細資訊,請參閱 管理事件 (p. 117).

b. 選擇 Exclude AWS KMS events (排除 事件) 來篩選出 AWS Key Management Service (AWSKMS) 事件。預設設定為包含所有 AWS KMS 事件。

版本 1.0100

Page 106: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 主控台中為您的組織建立路徑

只有在您執行 AWS KMS 尾端的管理事件進行登入或排除 事件時,才能使用此選項。如果您選擇不登入管理事件,則 AWS KMS 事件不會登入,而且您無法變更 AWS KMS 事件登入設定。

AWS KMS 動作,例如 Encrypt、Decrypt 和 GenerateDataKey 通常會產生大量 (超過 99%)事件。這些動作現在以 Read (讀取) 事件身分登入。低階、相關的 AWS KMS 動作 (例如Disable、Delete 和 ScheduleKey (通常負責低於 0.5 的 AWS KMS 事件磁碟區) 會登入為Write (寫入) 事件。

若要排除大量事件 (如 Encrypt、Decrypt 和 GenerateDataKey),但仍會登入相關的事件 (如 Disable、Delete 和 ScheduleKey)、選擇登入 Write (寫入) 管理事件,然後清除Exclude AWS KMS events (排除 事件) 的核取方塊。

11. 針對 Data events (資料事件),您可以指定 Amazon S3 儲存貯體、AWS Lambda 函數或兩者的登入資料事件。根據預設,線索不會記錄資料事件。記錄資料事件需支付額外的費用。如需詳細資訊,請參閱 資料事件 (p. 121). 如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價.

Note

如果您已選擇使用進階事件選取器,請遵循 在 主控台中建立結尾 (進階事件選取器) (p. 66) 中的步驟來設定您尾端的資料事件登入。

對於 Amazon S3 儲存貯體:

a. 針對 Data event source (資料事件來源),選擇 S3。b. 您可以選擇登入 All current and future S3 buckets (所有目前和未來的 S3 儲存貯體),也可以指

定各個儲存貯體或函數。根據預設,會針對所有目前和未來的 S3 儲存貯體登入資料事件。

Note

保留預設值 All current and future S3 buckets (所有目前和未來的 S3 儲存貯體) 選項,可在目前 AWS 帳號中及您建立完成後建立的任何儲存貯體上,允許所有儲存貯體進行資料事件登入。另外,還會啟用記錄 AWS 帳戶中任何使用者或角色所執行之資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的儲存貯體上執行也是一樣。如果該路徑僅適用於一個區域,請選取 Select all S3 buckets in your account (選取您帳號中的所有 S3 儲存貯體) 選項,可讓同一區域中的所有儲存貯體,用來登入和您稍後在該區域中建立的任何儲存貯體。並不會記錄 Amazon S3 帳戶中其他區域內 AWS 儲存貯體的資料事件。

c. 如果您保留預設值,All current and future S3 buckets (所有目前和未來的 S3 儲存貯體),請選擇Read (讀取) 事件、Write (寫入) 事件,或兩者。

d. 若要選取單一儲存貯體,請清空 All current and uture S3 buckets (所有目前和未來 S3 儲存貯體)的 Read (讀取) 和 Write (寫入) 核取方塊。在 Individual bucket selection (個人儲存貯體選擇) 中,瀏覽要登入資料事件的儲存貯體。若要尋找特定儲存貯體,請輸入所需儲存貯體的儲存貯體字首。您可以在這個視窗中選取多個儲存貯體。選擇 Add bucket (新增儲存貯體) 來登入更多儲存貯體的資料事件。選擇登入 Read (讀取) 事件,例如 GetObject、Write (寫入) 事件,例如 PutObject 或兩者。

此設定的優先順序高於您針對個別儲存貯體所設定的個別設定。例如,如果您為所有 S3 儲存貯體指定登入 Read (讀取) 事件,然後選擇新增特定儲存貯體做為資料事件登入,Read (讀取) 即已為新增的儲存貯體選取。您無法清除選取項目。您只能設定 Write. (寫入) 的選項。

若要移除登入中的儲存貯體,請選擇 X。12. 若要新增其他資料類型來登入資料事件,請選擇 Add data event type (新增資料事件類型)。13. 對於 Lambda 函數:

a. 針對 Data event source (資料事件來源),選擇 Lambda。b. 在 Lambda function ( 函數) 中,選擇 All regions (所有區域) 以登入所有 Lambda 函數,或

Input function as ARN (輸入函數為 ARN) 以在特定函數上登入資料事件。版本 1.0

101

Page 107: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 主控台中為您的組織建立路徑

若要記錄 Lambda 帳戶中所有 AWS 函數的資料事件,請選取 Log all current and future functions(記錄所有目前和未來的函數). 此設定的優先順序高於您針對個別函數所設定的個別設定。皆會記錄所有函數,縱使未顯示全部的函數。

Note

若您要為所有區域建立尾端,此選擇可針對目前 AWS 帳號中的所有函數,以及在您完成建立路徑後在任何區域中可能建立的任何 Lambda 函數,來允許資料事件登入。如果您要為單一區域建立結尾 (利用使用 AWS CLI),則此選擇可讓目前位於您 AWS 帳號中區域的資料事件登入,以及在您建立完結尾後,您可能會在該區域中建立的任何 Lambda 函數。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。記錄所有函數的資料事件也會啟用記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的函數上執行也是一樣。

c. 如果您選擇 Input function as ARN (輸入函數做為 ARN),請輸入 Lambda 函數的 ARN。

Note

如果您的帳戶中有超過 15,000 個 Lambda 函數,則無法在建立線索時於 CloudTrail 主控台中檢視或選取所有函數。您仍然可以選取記錄所有函數的選項,縱使其未全部顯示。如果您要記錄特定函數之資料事件,則可以在得知該函數的 ARN 後手動加以新增。您也可以在主控台中完成建立線索,然後使用 AWS CLI 和 put-event-selectors 命令為特定 Lambda函數設定記錄資料事件。如需詳細資訊,請參閱 使用 AWS CLI 管理資源 (p. 81).

14. 當您完成選擇要登入的事件類型時,請選擇 Next (下一步)。15. 在 Review and create (檢視和建立) 頁面上,檢視您的選項。在區段中選擇 Edit (編輯),即可變更

該區段中顯示的路徑設定。當您準備好建立結尾時,請選擇 Create path (建立結尾)。16. 新的結尾會出現在 Trails (訓練) 頁面上。組織線索可能需要多達 24 小時的時間,才能完成在所有

成員帳戶中於所有區域中的建立作業。Trails (訓練) 頁面會顯示您帳號在所有區域的計畫。約 15 分鐘後,CloudTrail 會發佈日誌檔案,其中顯示您組織中曾進行的 AWS API 呼叫。您可以在所指定之Amazon S3 儲存貯體中看到日誌檔案。

Note

您無法重新命名已建立的線索。但是您可以改為刪除之,並建立新的線索。

後續步驟在您建立線索之後,即可返回線索以進行變更:

• 透過編輯來變更線索的組態。如需詳細資訊,請參閱 更新路徑 (p. 70).• 設定 Amazon S3 儲存貯體,允許成員帳戶中的特定 IAM 使用者在必要時讀取組織的日誌檔。如需詳細資

訊,請參閱 在 AWS 帳戶之間共享 CloudTrail 日誌檔案 (p. 170).• 設定 CloudTrail 將日誌檔案傳送至 CloudWatch Logs. 如需詳細資訊,請前往 傳送 事件到 CloudWatch

Logs (p. 136) 中的 和 CloudWatch Logs 項目 (p. 98)。準備為您的組織建立路徑 (p. 97)• 在 Amazon Athena 中建立資料表並用以執行查詢,以分析 AWS 服務活動。如需詳細資訊,請前往 的

CloudTrail 主控台CloudTrail建立 Logs 資料表Amazon Athena 使用者指南。• 將自訂標籤 (鍵/值對) 新增至線索。• 若要建立另一個組織線索,請返回 Trails (線索) 頁面,然後選擇 Create trail (建立線索).

Note

設定線索時,您可以選擇由其他帳戶所屬的 Amazon S3 儲存貯體和 SNS 主題。不過,如果您要CloudTrail 將事件交付至 CloudWatch Logs 日誌群組,則必須選擇存在於目前帳戶中的日誌群組。

版本 1.0102

Page 108: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line Interface 為組織建立路徑

使用 AWS Command Line Interface 為組織建立路徑您可以使用 來建立組織線索。AWS CLI. AWS CLI 會定期搭配新增功能和命令進行更新。為了協助確保成功,請確定您已安裝或更新為最新 AWS CLI 版本,再開始執行。

Note

本節中的範例是建立和更新組織線索的特定示範。如需使用 AWS CLI 管理線索的範例,請參閱使用AWS CLI 管理資源 (p. 81). 使用 AWS CLI 建立或更新組織尾端時,您必須在管理帳號中使用擁有充分許可的 AWS CLI 設定檔。您必須設定 Amazon S3 儲存貯體用於組織線索才有足夠的權限。

建立或更新 Amazon S3 儲存貯體以存放組織線索的日誌檔您必須指定 Amazon S3 儲存貯體以接收組織線索的日誌檔。這個儲存貯體必須具備特定政策,允許CloudTrail 將組織的日誌檔放入儲存貯體。

以下是名為 Amazon S3 的 儲存貯體的範例政策。my-organization-bucket. 此儲存貯體位於 ID 為AWS 的 帳號中 111111111111,這是具有 ID 的組織管理所負責的工作 o-exampleorgid 允許登入組織尾端的 。它也允許登入 111111111111 帳號,當該路徑從組織路徑變更為該帳號的終點時。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::my-organization-bucket" }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-organization-bucket/AWSLogs/111111111111/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-organization-bucket/AWSLogs/o-exampleorgid/*", "Condition": {

版本 1.0103

Page 109: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line Interface 為組織建立路徑

"StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ]}

這個範例政策不允許成員帳戶中任何使用者存取為該組織建立的日誌檔。根據預設,只有管理帳號才能存取組織 log 檔案。如需有關如何允許成員帳戶中 IAM 使用者對於 Amazon S3 儲存貯體的讀取權限,請參閱在AWS 帳戶之間共享 CloudTrail 日誌檔案 (p. 170)。

啟用 CloudTrail 做為 AWS Organizations 中的受信任服務您必須先啟用 中的所有功能,才能建立組織線索。組織. 如需詳細資訊,請查看在您的組織中提供所有功能,或使用在管理帳號中具有適當許可的設定檔執行下列命令:

aws organizations enable-all-features

啟用所有功能之後,您必須將 組織 設定成信任 CloudTrail 做為信任的服務。

若要建立 AWS Organizations 與 CloudTrail 之間的信任關係,請打開終端機或命令列,並使用管理帳號中的設定檔。依照下面範例示範的方式來執行 aws organizations enable-aws-service-access 命令。

aws organizations enable-aws-service-access --service-principal cloudtrail.amazonaws.com

使用 create-trail建立套用到所有區域的組織線索

若要建立適用於所有區域的組織尾端,請新增 --is-organization-trail 和 --is-multi-region-trail 選項。

Note

當您使用 AWS CLI 建立或更新組織尾端時,您必須在管理帳號中使用擁有充分許可的 AWS CLI 描述檔。

下列範例會建立組織線索,將所有區域的日誌交付到名為 的現有儲存貯體:my-bucket:

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-organization-trail --is-multi-region-trail

若要確認您的尾端存在於所有區域,輸出中的 IsOrganizationTrail 和 IsMultiRegionTrail 參數都設為 true:

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket"}

版本 1.0104

Page 110: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line Interface 為組織建立路徑

Note

執行 start-logging 命令以開始登入您的 路徑。如需詳細資訊,請參閱 停止及啟動線索的記錄功能 (p. 95).

將組織線索建立成單一區域線索以下命令所建立的組織線索將只記錄單一 AWS 區域中的事件,因此也稱為單一區域線索。事件登入所在的AWS 區域,是 AWS CLI 的組態描述檔中指定的區域。

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-organization-trail

如需詳細資訊,請參閱 CloudTrail 線索命名需求 (p. 111).

輸出範例:

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "IsOrganizationTrail": true, "S3BucketName": "my-bucket"}

根據預設,create-trail 命令會建立單一區域尾端,但不允許對數檔案驗證。Note

執行 start-logging 命令以開始登入您的 路徑。

執行 update-trail 以更新組織路徑您可以執行 update-trail 命令來變更組織尾端的組態設定,或將單一 AWS 帳號的現有尾端套用到整個組織。請記住,您只能從建立路徑的區域執行 update-trail 命令。

Note

如果您使用 AWS CLI 或其中一個 AWS SDKs 來更新尾端,請確定該尾端的儲存貯體政策是最新的。如需詳細資訊,請參閱 使用 AWS Command Line Interface 為組織建立路徑 (p. 103).當您使用 AWS CLI 建立或更新組織尾端時,您必須在管理帳號中使用具有充分許可的 AWS CLI 描述檔。

將現有線索套用到組織若要變更現有路徑,使其也套用到組織而非單一 AWS 帳號,請新增 --is-organization-trail 選項,如以下範例所示。

aws cloudtrail update-trail --name my-trail --is-organization-trail

若要確認尾端現在套用至組織,輸出中的 IsOrganizationTrail 參數值為 true。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false,

版本 1.0105

Page 111: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南取得和檢視 CloudTrail 日誌檔案

"IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket"}

在上述範例中,路徑已設定為適用於所有區域 ("IsMultiRegionTrail": true)。只套用至單一區域的結尾會在輸出中顯示 "IsMultiRegionTrail": false。

將套用到一個區域的組織線索轉換成套用到所有區域

若要變更現有的組織尾端以套用到所有區域,請新增 --is-multi-region-trail 選項,如下列範例所示。

aws cloudtrail update-trail --name my-trail --is-multi-region-trail

若要確認尾端現在套用至所有區域,輸出中的 IsMultiRegionTrail 參數會有 true 值。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket"}

取得和檢視 CloudTrail 日誌檔案在您建立線索並設定其擷取您要的日誌檔案後,您必須要能夠找到日誌檔案,並解釋其中所包含的資訊。

CloudTrail 將您的登入檔案交付到建立結尾時所指定的 Amazon S3 儲存貯體。 的 log 檔案平均傳送時間約為 15 分鐘的 API 呼叫。CloudTrail不保證此時間。查看服務水準協議AWS CloudTrail以取得更多資訊。 通常是在 30 分鐘的不尋常活動時間送達您的儲存貯體。Insights events第一次啟用 Insights events 之後,如果偵測到異常的活動,可能需等待 36 小時才能看到第一個 Insights events

主題• 尋找 CloudTrail 日誌檔案 (p. 106)• 下載 CloudTrail 日誌檔案 (p. 107)

尋找 CloudTrail 日誌檔案CloudTrail 會將日誌檔案以 gzip 封存形式發佈至 S3 儲存貯體。在 S3 儲存貯體中,日誌檔案都有包含下列元素的格式化名稱:

• 在您建立線索時指定的儲存貯體名稱 (位於 CloudTrail 主控台的 Trails (線索) 頁面上)• 在您建立線索時指定的 (選用) 前綴• 字串 "AWSLogs"• 帳戶號碼• 字串 "CloudTrail"• 區域識別符,例如 us-west-1• 發佈日誌檔案的年份,格式為 YYYY

版本 1.0106

Page 112: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南下載 CloudTrail 日誌檔案

• 發佈日誌檔案的月份,格式為 MM• 發佈日誌檔案的日期,格式為 DD• 在涵蓋的相同時段中,能自其他檔案區分該檔案的英數字串

下列範例顯示完整的日誌檔案物件名稱:

bucket_name/prefix_name/AWSLogs/Account ID/CloudTrail/region/YYYY/MM/DD/file_name.json.gz

Note

如果是組織線索,則日誌檔案物件名稱會包含路徑中的組織單位 ID,如下所示:

bucket_name/prefix_name/AWSLogs/OU-ID/Account ID/CloudTrail/region/YYYY/MM/DD/file_name.json.gz

若要擷取日誌檔案,您可以使用 Amazon S3 主控台、Amazon S3 命令列界面 (CLI) 或 API。

使用 Amazon S3 主控台找到日誌檔案

1. 開啟 Amazon S3 主控台。2. 選擇您指定的儲存貯體。3. 瀏覽物件階層,直到找到您要的日誌檔案。

所有日誌檔案的副檔名都是 .gz。

您將瀏覽與下列範例類似的物件階層,但使用不同的儲存貯體名稱、帳戶 ID、區域和日期。

All Buckets Bucket_Name AWSLogs 123456789012 CloudTrail us-west-1 2014 06 20

上述物件階層的日誌檔案如下所示:

123456789012_CloudTrail_us-west-1_20140620T1255ZHdkvFTXOA3Vnhbc.json.gz

Note

雖然很少見,但是您可能會收到包含一或多個重複事件的日誌檔案。重複事件將具有相同的eventID。 如需 eventID 欄位的詳細資訊,請前往 。CloudTrail 記錄內容 (p. 247)

下載 CloudTrail 日誌檔案日誌檔案為 JSON 格式。如果您已安裝 JSON 檢視器附加功能,則可以直接在瀏覽器中檢視檔案。按兩下儲存貯體中的日誌檔案名稱,以開啟新的瀏覽器視窗或標籤。JSON 會以可讀取格式顯示。

例如,如果您使用 Mozilla Firefox,則也可以下載 JSONView 附加元件。使用 JSONView,您可以按兩下儲存貯體中的壓縮 .gz 檔案,以 JSON 格式打開 log 檔案。

版本 1.0107

Page 113: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南設定 CloudTrail 的 Amazon SNS 通知

CloudTrail日誌檔案是 Amazon S3 物件。您可以使用 Amazon S3 主控台、AWS Command Line Interface(CLI) 或 Amazon S3 API 來擷取日誌檔案。

如需詳細資訊,請參閱 Amazon Simple Storage Service 開發人員指南 中的使用 Amazon S3 物件。

下列程序說明如何使用 AWS 管理主控台下載日誌檔案。

下載和讀取日誌檔案

1. 在 https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。2. 選擇儲存貯體,然後選擇您想要下載的日誌檔案。3. 選擇 Download (下載) 或 Download as (下載為),然後遵循提示來儲存檔案。這會以壓縮格式儲存檔

案。Note

有些瀏覽器 (例如 Chrome) 會自動解壓縮日誌檔案。如果您的瀏覽器自動執行這項操作,則請跳到步驟 5。

4. 使用 7-Zip 這類產品來解壓縮日誌檔案。5. 在 Notepad++ 這類文字編輯器中開啟日誌檔案。

如需可出現在日誌檔案項目中之事件欄位的詳細資訊,請參閱「CloudTrail 日誌事件參考 (p. 245)」。

AWS 會與第三方記錄和分析專家合作,提供使用 CloudTrail 輸出的解決方案。如需詳細資訊,請參閱 AWS合作夥伴網路 - AWS CloudTrail 合作夥伴。

Note

您也可以使用「事件歷史記錄」功能來查詢過去 90 天期間之建立、更新和刪除 API 活動的事件。如需詳細資訊,請參閱使用 CloudTrail 事件歷史記錄檢視事件 (p. 38)。

設定 CloudTrail 的 Amazon SNS 通知當 CloudTrail 發佈新的日誌檔案到您的 Amazon S3 儲存貯體時,您會收到通知。您使用 Amazon SimpleNotification Service (Amazon SNS) 管理通知。

通知為選用。如果想要接到通知,您要設定每當傳送新的日誌檔案,CloudTrail 就會傳送更新資訊到Amazon SNS 主題。若要收到這些通知,您可以使用 Amazon SNS 來訂閱主題。身為訂閱者,您會收到傳送到 Amazon Simple Queue Service (Amazon SQS) 佇列的更新,這可讓您透過編寫程式的方式處理這些通知。

主題• 設定 CloudTrail 傳送通知 (p. 108)

設定 CloudTrail 傳送通知您可以設定線索來使用 Amazon SNS 主題。您可以使用 CloudTrail 主控台或 aws cloudtrail create-trail CLI指令來建立主題。CloudTrail 為您建立 Amazon SNS 主題並附加適用政策,讓 CloudTrail 擁有發布到該主題的許可。

在您建立 SNS 主題名稱時,名稱必須符合下列要求:

• 長度介於 1 與 256 個字元之間• 包含大小寫 ASCII 字母、數字、底線或連字號

版本 1.0108

Page 114: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南控制 的使用者許可CloudTrail

當您為套用至所有區域的線索設定通知時,所有區域的通知會傳送至您指定的 Amazon SNS 主題。如果您有一或多個區域特定線索,則必須為每個區域建立個別主題,並個別進行訂閱。

若要收到通知,請訂閱 Amazon SNS 主題或 CloudTrail 所使用的主題。您可以使用 Amazon SNS 主控台或Amazon SNS CLI 命令執行這項作業。如需詳細資訊,請參閱《https://docs.aws.amazon.com/sns/latest/dg/SubscribeTopic.html》中的Amazon Simple Notification Service 開發人員指南訂閱主題。

Note

在日誌檔案寫入 Amazon S3 儲存貯體時,CloudTrail 會傳送通知。作用中的帳戶可能會產生大量通知。如果您透過電子郵件或 SMS 進行訂閱,就會收到為數龐大的訊息。建議您使用 AmazonSimple Queue Service (Amazon SQS) 訂閱,可讓您透過編寫程式的方式處理通知。如需詳細資訊,請參閱《Amazon SNS》中的訂閱 Amazon Simple Queue Service 開發人員指南 主題的佇列。

Amazon SNS 通知中含有具 Message 欄位的 JSON 物件。Message 欄位會列出日誌檔案的完整路徑,如下列範例所示:

{ "s3Bucket": "your-bucket-name","s3ObjectKey": ["AWSLogs/123456789012/CloudTrail/us-east-2/2013/12/13/123456789012_CloudTrail_us-west-2_20131213T1920Z_LnPgDQnpkSKEsppV.json.gz"]}

如果將多個日誌檔案交付至您的 Amazon S3 儲存貯體,則通知可能會包含多個日誌,如下列範例所示:

{ "s3Bucket": "your-bucket-name", "s3ObjectKey": [ "AWSLogs/123456789012/CloudTrail/us-east-2/2016/08/11/123456789012_CloudTrail_us-east-2_20160811T2215Z_kpaMYavMQA9Ahp7L.json.gz", "AWSLogs/123456789012/CloudTrail/us-east-2/2016/08/11/123456789012_CloudTrail_us-east-2_20160811T2210Z_zqDkyQv3TK8ZdLr0.json.gz", "AWSLogs/123456789012/CloudTrail/us-east-2/2016/08/11/123456789012_CloudTrail_us-east-2_20160811T2205Z_jaMVRa6JfdLCJYHP.json.gz" ]}

如果您選擇透過電子郵件接收通知,則電子郵件內文會包含 Message 欄位的內容。如需 JSON 結構的完整描述,請參閱《Amazon SNSAmazon SQS》中的將 訊息傳送至 Amazon Simple Notification Service 開發人員指南 佇列。只有 Message 欄位會顯示 CloudTrail 資訊。其他欄位包含 Amazon SNS 服務中的資訊。

如果您使用 CloudTrail API 建立線索,則可以使用 CreateTrail 或 UpdateTrail 操作,指定您想要CloudTrail 將通知傳送至其中的現有 Amazon SNS 主題。您必須先確定該主題已存在,且其具有允許CloudTrail 傳送通知的許可。請參閱「Amazon SNS適用於 的 主題政策CloudTrail (p. 225)」。

其他 資源如需 Amazon SNS 主題以及訂閱主題的詳細資訊,請參閱 Amazon Simple Notification Service 開發人員指南。

控制 的使用者許可CloudTrailAWS CloudTrail 與 AWS Identity and Access Management (IAM) 整合,可讓您控制 CloudTrail 及CloudTrail 所需之其他 AWS 資源的存取,包括 Amazon S3 儲存貯體和 Amazon Simple Notification Service(Amazon SNS) 主題。您可以使用 AWS Identity and Access Management 控制哪些 AWS 使用者可以建立、設定或刪除 AWS CloudTrail 線索;啟動及停止記錄日誌;以及存取含有日誌資訊的儲存貯體。如需進一步了解,請參閱 的 Identity and Access ManagementAWS CloudTrail (p. 205).

版本 1.0109

Page 115: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南管理線索的秘訣

下列主題也可以協助您了解許可、政策和 CloudTrail 安全性:

• Amazon S3 儲存貯體命名要求 (p. 112)• CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221)• 中的組織線索儲存貯體政策的範例使用 AWS Command Line Interface 為組織建立路徑 (p. 103).• Amazon SNS適用於 的 主題政策CloudTrail (p. 225)• 使用 AWS KMS 受管金鑰 (SSE-KMS) 加密 CloudTrail 日誌檔案 (p. 234)• 在 CloudTrail 主控台中建立的預設金鑰政策 (p. 240)• 授予在 AWS Config 主控台上檢視 CloudTrail 資訊的許可 (p. 220)• 在 AWS 帳戶之間共享 CloudTrail 日誌檔案 (p. 170)• 建立組織線索的必要許可 (p. 97)• 使用先前存在的 IAM 角色來新增對組織尾端的監控 Amazon CloudWatch Logs (p. 98)

管理線索的秘訣• 從 2019 年 4 月 12 日開始,只能在事件記錄所在的 AWS 區域檢視線索。如果您在所有 AWS 區域建立記

錄事件的線索,它就會出現在所有 AWS 區域的主控台中。如果您建立只在單一 AWS 區域中記錄事件的線索,您可以僅在該 AWS 區域進行查看和管理。

• 若要編輯清單中的線索,請選擇線索名稱。• 設定至少一個套用至所有區域的線索,以接收您帳戶中所有區域的日誌檔案。• 若要記錄特定區域中的事件,並將日誌檔案交付至相同區域中的 S3 儲存貯體,您可以更新線索以套用至

單一區域。如果您想要分開日誌檔案,這十分有用。例如,您想要使用者管理自己在特定區域中的日誌,或您想要依區域來區隔 CloudWatch Logs 警示。

• 若要使用單一線索來記錄多個 AWS 帳戶的事件,請考慮在 AWS Organizations 中建立組織,然後建立組織線索。

• 建立多個線索會產生額外的成本。如需定價的詳細資訊,請參閱 AWS CloudTrail 定價。

主題• 管理 CloudTrail 成本 (p. 110)• CloudTrail 線索命名需求 (p. 111)• Amazon S3 儲存貯體命名要求 (p. 112)• AWS KMS 別名命名需求 (p. 112)

管理 CloudTrail 成本根據最佳實務 , 我們建議使用有助於您管理 CloudTrail 成本的 AWS 服務和工具。您也可以透過擷取所需資料的方式設定和管理 CloudTrail 線索,同時具有成本效益。如需 CloudTrail 定價的詳細資訊,請參閱 AWSCloudTrail定價。

協助管理成本的工具AWS 預算為 AWS Billing and Cost Management 的功能之一,可讓您設定自訂預算,並在成本或用量超過(或是預測超過) 預算金額時提醒您。

建立多條線索時,建議採行的最佳實務為使用 AWS 預算建立 CloudTrail 預算,協助追蹤您的 CloudTrail 支出。成本型預算有助於了解 CloudTrail 的使用可能會向您收取多少費用。預算提醒會在帳單達到您定義的閾值時通知您。收到預算提醒時,您可以在計費週期結束之前進行變更,以便管理您的成本。

版本 1.0110

Page 116: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 線索命名需求

建立預算後,您可以使用 AWS Cost Explorer 查看您的 CloudTrail 成本如何影響您的整體 AWS 帳單。在 AWS Cost Explorer 中,將 CloudTrail 加入 Service (服務) 篩選條件後,您可以依地區和帳戶將歷史CloudTrail 花費與目前本月至今 (MTD) 花費的 CloudTrail 花費進行比較。此功能有助於您在每月 CloudTrail花費中監控和偵測未預期的花費。Cost Explorer 中的其他功能可讓您將 CloudTrail 花費與特定資源層級的每月花費進行比較,提供帳單中哪些項目可能會促使花費上升或下降的資訊。

若要使用 AWS 預算,請開啟 AWS Billing and Cost Management,然後在左導覽列中選擇 Budgets (預算)。我們建議您在建立預算時設定預算提醒,以追蹤 CloudTrail 花費。如需如何使用 AWS 預算的詳細資訊,請參閱使用預算管理您的成本和 AWS 預算最佳實務。

線索組態CloudTrail 提供如何設定帳戶內線索的彈性。您在設定流程中所做的某些決策,需要您了解對於 CloudTrail帳單的影響。以下是線索組態如何影響您 CloudTrail 帳單的範例。

建立多重線索

帳戶每個管理事件的第一次交付皆為免費。如果您建立更多將相同的事件傳遞至其他目的地的線索,這些後續交付會產生 CloudTrail 費用。您可以執行此操作,允許不同的使用者群組 (如開發人員、安全性人員及 IT 稽核員) 接收日誌檔案的複本。若是資料事件,所有交付都會產生 CloudTrail 費用,包括第一次交付。

建立更多線索時,應熟悉您的日誌,並了解在您的帳戶內資源產生的事件類型和數量。這有助於您預測與帳戶相關的事件數量,並計畫線索費用。例如,在您的 S3 儲存貯體上使用 AWS KMS 受管伺服器端加密 (SSE-KMS) 時,會在 CloudTrail 中產生大量的 AWS KMS 事件。橫跨多重線索的大量事件也會影響費用。

為了協助限制已登入您結尾的事件數量,您可以在 AWS KMSCreate path (建立結尾) 或 AWSKMSUpdate stall (更新結尾) 頁面上選擇 Exclude events (排除 事件) 來篩選掉 事件。篩選掉 AWSKMS 事件的選項僅在您的尾端是登入管理事件時才可用。如需詳細資訊,請參閱本指南中的建立路徑 (p. 62)或更新路徑 (p. 70)。

AWS Organizations

使用 CloudTrail 設定 組織 線索時,CloudTrail 會將線索複寫至組織內的各成員帳戶。除了成員帳戶內的任何現有線索之外,也會建立新的線索。請確定您管理帳號尾端的組態符合您要如何為組織中的所有帳號設定路徑,因為管理帳號資源組態會傳播到所有帳號。

由於 組織 會在各成員帳戶中建立線索,因此建立其他線索來收集同樣做為 組織 線索之管理事件的個別成員帳戶便會收集事件的第二個複本。帳戶需要為第二個複本付費。同樣地,如果帳戶擁有多區域線索,並在單一區域內建立第二個線索,以收集做為多區域線索的相同管理事件,則單一區域內的線索便會交付事件的第二個複本。第二個複本會產生費用。

另請參閱• AWS CloudTrail 定價• 使用預算管理您的成本• Cost Explorer 入門• 準備為您的組織建立路徑 (p. 97)

CloudTrail 線索命名需求CloudTrail 線索名稱必須符合下列需求:

• 只包含 ASCII 字母 (a-z、A-Z)、數字 (0-9)、句點 (.)、底線 (_) 或破折號 (-)。

版本 1.0111

Page 117: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Amazon S3 儲存貯體命名要求

• 開頭是字母或數字,而結尾是字母或數字。• 介於 3 到 128 個字元之間。• 沒有相鄰的句點、底線或破折號。my-_namespace 和 my-\-namespace 這類名稱無效。• 不是 IP 地址格式 (例如,192.168.5.4)。

Amazon S3 儲存貯體命名要求您用來存放 日誌檔案的 儲存貯體必須有符合非美國標準區域命名條件的名稱。Amazon S3 定義儲存貯體名稱為一個或一系列多個標籤,由句點分隔,並符合下列規則:

• 儲存貯體名稱的長度可以介於 3 與 63 個字元之間,而且只能包含小寫字元、數字、句點和破折號。• 儲存貯體名稱中每個標籤的開頭必須是小寫字母或數字。• 儲存貯體名稱不能包含底線、結尾為破折號、有連續的句點,或在鄰近句點的位置使用破折號。• 儲存貯體名稱不能格式化為 IP 地址 (198.51.100.24)。

Warning

因為 S3 可讓您的儲存貯體做為可公開存取的 URL 使用,所以您選擇的儲存貯體名稱必須是全域唯一的。如果有其他帳戶已使用您選擇的名稱建立儲存貯體,您則必須使用其他名稱。如需詳細資訊,請參閱《https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html》中的Amazon Simple Storage Service 開發人員指南儲存貯體的法規與限制。

AWS KMS 別名命名需求當您建立客戶主金鑰 (CMK) 時,可以選擇別名來進行識別。例如,您可以選擇別名 "KMS-CloudTrail-us-west-2" 來加密特定線索的日誌。

別名必須符合下列需求:

• 介於 1 到 32 (含) 個字元之間• 包含英數字元 (A-Z、a-z、0-9)、連字號 (-)、正斜線 (/) 和底線 (_)• 開頭不能是 aws

如需詳細資訊,請參閱《https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html》中的AWS Key Management Service Developer Guide建立金鑰。

搭配介面 VPC 端點使用 AWS CloudTrail如果您使用 Amazon Virtual Private Cloud (Amazon VPC) 來託管 AWS 資源,您可以在 VPC 和 AWSCloudTrail 之間建立私有連線。您可以使用此連線,讓 CloudTrail 不必透過公有網際網路就能與您 VPC 上的資源進行通訊。

Amazon VPC 是一項 AWS 服務,您可用來在自己定義的虛擬網路中啟動 AWS 資源。您可利用 VPC 來控制您的網路設定,例如 IP 地址範圍、子網路、路由表和網路閘道。使用 VPC 端點,AWS 網路會處理 VPC 和AWS 服務之間的路由,而您可用 IAM 政策控制服務資源的存取。

若要將您的 VPC 連接到 CloudTrail,請定義 的 VPC 端點介面CloudTrail。界面端點是包含私有 IP 地址的彈性網路界面,做為通往支援之 AWS 服務的流量進入點。端點能為 CloudTrail 提供可靠、可擴展性的連線,無須使用網際網路閘道、網路位址轉譯 (NAT) 執行個體或 VPN 連線。如需詳細資訊,請參閱 AmazonVPC 中的 什麼是 Amazon VPC 使用者指南。

版本 1.0112

Page 118: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Availability

界面 VPC 端點由 AWS PrivateLink 提供,一種允許 AWS 服務間使用有私有 IP 地址之彈性網路界面進行私有通訊的 AWS 技術。如需詳細資訊,請前往 AWS PrivateLink。

下列步驟適用於 Amazon VPC 的使用者。如需詳細資訊,請參閱《》中的Amazon VPC 使用者指南入門。

AvailabilityCloudTrail 目前在下列 AWS 區域支援 VPC 端點:

• 美國東部 (俄亥俄)• US East (N. Virginia)• 美國西部 (加州北部)• 美國西部 (奧勒岡)• 非洲 (開普敦)• 亞太區域 (孟買)• 亞太區域 (首爾)• 亞太區域 (新加坡)• 亞太區域 (雪梨)• 亞太區域 (東京)• 亞太區域 (大阪當地)• 加拿大 (中部)• 歐洲 (法蘭克福)• 歐洲 (愛爾蘭)• 歐洲 (倫敦)• 歐洲 (米蘭)• 歐洲 (巴黎)• 歐洲 (斯德哥爾摩)• 中東 (巴林)• 南美洲 (聖保羅)• AWS GovCloud (美國東部)• AWS GovCloud (US-West)

建立 CloudTrail 的 VPC 端點若要以 VPC 開始使用 CloudTrail,請建立 CloudTrail 的界面 VPC 端點。如需詳細資訊,請參閱 https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint.html 中的Amazon VPC 使用者指南 建立端點介面。

您不需要變更 CloudTrail 的設定。CloudTrail 呼叫其他 AWS 服務都是使用公有端點或私有 VPC 端點界面。

版本 1.0113

Page 119: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

使用 CloudTrail 日誌檔案您可以使用 CloudTrail 檔案執行更進階的任務。

• 為每個區域建立多個線索。• 將 CloudTrail 日誌檔案傳送到 CloudWatch Logs 進行監控。• 在帳戶之間共享日誌檔案。• 使用 AWS CloudTrail 處理程式庫來撰寫 Java 日誌處理應用程式。• 驗證您的日誌檔案,以確認其在 CloudTrail 交付後未曾變更。

當您的帳戶發生事件時,CloudTrail 會評估事件是否符合您的線索設定。只有符合您線索設定的事件才會交付到您的 Amazon S3 儲存貯體和 Amazon CloudWatch Logs 日誌群組。

您可以分別設定多筆線索,以便線索只處理和記錄您指定的事件。例如,一筆線索可以記錄唯讀資料和管理事件,以便所有的唯讀事件交付到一個 S3 儲存貯體。另一筆線索可以只記錄唯寫資料和管理事件,以便所有的唯寫事件交付到另一個 S3 儲存貯體。

您也可以設定您的線索,其中一筆線索記錄所有管理事件並交付到一個 S3 儲存貯體,並設定另一筆線索記錄所有資料事件並交付到另一個 S3 儲存貯體。

您可以設定您的線索記錄下列事項:

• 資料事件 (p. 120): 這些事件可讓您查看對資源執行或在資源中執行的資源操作。這些也稱為 資料平面操作。

• 管理事件 (p. 116): 管理事件可讓您對 AWS 帳戶中之資源執行的管理操作有更深入的了解。這些也稱為 控制平面操作。管理事件也可以包含您帳戶中發生的非 API 事件。例如,當使用者登入您的帳戶時,CloudTrail 就會記錄 ConsoleLogin 事件。如需詳細資訊,請參閱CloudTrail 擷取的非 API 事件 (p. 264)。

Note

並非所有 AWS 服務都支援 CloudTrail 事件。如需支援服務的詳細資訊,請參閱 CloudTrail 支援的服務和整合 (p. 17)。如需特定服務的 APIs 登入詳細資訊,請前往 CloudTrail 支援的服務和整合 (p. 17) 查看該服務的文件。

• Insights events (p. 130):Insights events會擷取在您的帳戶中偵測到的異常活動。如果您已啟用 Insightsevents 且 CloudTrail 偵測到異常的活動,則會將 Insights events記錄到線索的目的地 S3 儲存貯體上,但位於不同資料夾中。當您在 CloudTrail 主控台上檢視 Insights events 時,也可以查看 Insights 事件的類型。與 CloudTrail 線索中擷取的其他類型的事件不同,Insights events只有在 CloudTrail 偵測到帳戶 API使用方式與帳戶的一般使用模式有很大差異時,才會加以記錄。

只有Insights events寫入管理 才會建立 APIs。

主題• 建立多個追蹤 (p. 115)• 記錄線索的管理事件 (p. 116)• 試驗的登入資料事件 (p. 120)• 記錄線索的 Insights 事件 (p. 130)

版本 1.0114

Page 120: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立多個追蹤

• 從多個區域接收 CloudTrail 日誌檔案 (p. 135)• 使用 監控 日誌檔案 (p. 136)• 從多個帳戶接收 CloudTrail 日誌檔案 (p. 167)• 在 AWS 帳戶之間共享 CloudTrail 日誌檔案 (p. 170)• 驗證 CloudTrail 日誌檔案完整性 (p. 178)• 使用CloudTrail Processing Library (p. 196)

建立多個追蹤您可以使用 CloudTrail 日誌檔案為您 AWS 帳戶中的操作或安全問題進行故障診斷。您可以為不同使用者建立追蹤,他們可以建立並管理自己的追蹤。您可以設定追蹤將日誌檔案交付到獨立的 S3 儲存貯體或共享的S3 儲存貯體。

Note

建立多個線索會產生額外的成本。如需詳細資訊,請參閱 AWS CloudTrail 定價。

例如,您可能有下列使用者:

• 安全管理員在 歐洲 (愛爾蘭) 區域 中建立追蹤並設定 KMS 日誌檔案加密。該追蹤將日誌檔案交付到 歐洲(愛爾蘭) 區域 中的 S3 儲存貯體。

• IT 稽核員在 歐洲 (愛爾蘭) 區域 中建立追蹤,並設定日誌檔案完整性驗證,以確保日誌檔案自 CloudTrail交付後未經變更。該追蹤經設定會將日誌檔案交付到 歐洲 (法蘭克福) 區域 中的 S3 儲存貯體

• 開發人員在 歐洲 (法蘭克福) 區域中建立追蹤,並設定 CloudWatch 警示以接收特定 API 活動的通知。該追蹤與為日誌檔案完整性設定的追蹤共享同一個 S3 儲存貯體。

• 另一個開發人員在 歐洲 (法蘭克福) 區域 中建立追蹤並設定 SNS。日誌檔案會交付到 歐洲 (法蘭克福) 區域中的獨立 S3 儲存貯體。

下圖說明此範例。

版本 1.0115

Page 121: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南記錄線索的管理事件

Note

每個區域最多可以建立五個追蹤。記錄所有區域中之活動的追蹤計為每個區域一個追蹤。

您可以使用資源層級許可管理使用者在 CloudTrail 上執行特定操作的能力。

例如,您可以授予某使用者檢視追蹤活動的許可,但禁止使用者啟動或停止記錄追蹤。您可以授予另一位使用者建立和刪除追蹤的完整許可。這可讓您精細控制您的追蹤和使用者存取權。

如需資源層級許可的詳細資訊,請參閱「範例:在特定線索建立和套用政策的動作 (p. 213)」。

如需多個追蹤的詳細資訊,請參閱下列資源:

• 如何在區域與全域執行 CloudTrail? (p. 8)• CloudTrail FAQs

記錄線索的管理事件根據預設,線索會記錄全部的管理事件,但不包含資料或 Insights 事件。資料或 Insights 事件需支付額外費用。如需詳細資訊,請參閱 AWS CloudTrail 定價。

版本 1.0116

Page 122: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南管理事件

內容• 管理事件 (p. 117)

• 使用 AWS 管理主控台 記錄管理事件 (p. 117)• 讀取和寫入事件 (p. 118)• 使用 AWS Command Line Interface 開發套件記錄事件 (p. 118)• 使用 AWS SDKs 登入事件 (p. 120)• 傳送事件到 Amazon CloudWatch Logs (p. 120)

管理事件管理事件可讓您對 AWS 帳戶中之資源執行的管理操作有更深入的了解。這些也稱為 控制平面操作。範例管理事件包含:

• 設定安全性 (例如,IAM AttachRolePolicy API 操作)• 註冊裝置 (例如,Amazon EC2 CreateDefaultVpc API 操作)• 設定規則以路由資料 (例如,Amazon EC2 CreateSubnet API 操作)• 設定記錄 (例如,AWS CloudTrail CreateTrail API 操作)

管理事件也可以包含您帳戶中發生的非 API 事件。例如,當使用者登入您的帳戶時,CloudTrail 就會記錄ConsoleLogin 事件。如需詳細資訊,請參閱CloudTrail 擷取的非 API 事件 (p. 264)。如需 CloudTrail 為AWS 服務記錄的受支援管理事件清單,請參閱 CloudTrail 支援的服務和整合 (p. 17)。

在預設情況下,線索是設定來記錄管理事件。如需 CloudTrail 為 AWS 服務記錄的受支援管理事件清單,請參閱 CloudTrail 支援的服務和整合 (p. 17)。

Note

CloudTrailEvent history (事件歷史記錄) 功能僅支援管理事件。事件歷史記錄並不支援所有管理事件。您無法從 AWS Key Management ServiceEvent history (事件歷史)AWS KMS 中排除 () 事件;您套用至尾端的設定不適用於 Event history (事件歷史)。如需詳細資訊,請參閱使用 CloudTrail 事件歷史記錄檢視事件 (p. 38)。

使用 AWS 管理主控台 記錄管理事件1. 打開 主控台的 Trails (訓練)CloudTrail 頁面,並選擇路徑名稱。2. 針對 Management events (管理事件),選擇 Edit (編輯)。

• 選擇是否要讓 路徑登入 Read (讀取) 事件、Write (寫入) 事件或兩者兼有。• 選擇 Exclude AWS KMS events (排除 事件) 來篩選出 AWS Key Management Service (AWS KMS)

事件。預設設定為包含所有 AWS KMS 事件。

只有在您尾端的管理事件為 AWS KMS 時,才可使用登入或排除 事件的選項。如果您選擇不登入管理事件,則 AWS KMS 事件不會登入,而且您無法變更 AWS KMS 事件登入設定。

AWS KMS 動作,例如 Encrypt、Decrypt 和 GenerateDataKey 通常會產生大量 (超過99%) 事件。這些動作現在會記錄為 Read (讀取) 事件。低階、相關的 AWS KMS 動作 (例如Disable、Delete 和 ScheduleKey (通常負責低於 0.5 的 AWS KMS 事件磁碟區) 會登入為 Write(寫入) 事件。

若要排除大量事件 (如 Encrypt、Decrypt 和 GenerateDataKey),但仍會登入相關的事件 (如Disable、Delete 和 ScheduleKey)、選擇對數 Write (寫入) 管理事件執行,並清除 Exclude AWSKMS events (排除 事件) 的核取方塊。

版本 1.0117

Page 123: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南讀取和寫入事件

完成後,請選擇 Update stall (更新結尾)。

讀取和寫入事件當您設定路徑以對數管理事件時,您可以指定要唯讀事件、唯寫事件或兩者。

• 閱讀

唯讀事件包含讀取您的資源,但不予變更的 API 操作。例如,唯讀事件包含 Amazon EC2DescribeSecurityGroups 與 DescribeSubnets API 操作。這些操作僅傳回 Amazon EC2 資源的相關資訊,但不變更您的組態。

• 寫入

Write-only (唯寫) 事件只包含會修改 (或可能修改) 您資源的 API 操作。例如,Amazon EC2RunInstances 和 TerminateInstances API 操作會修改您的執行個體。

範例:Logging 讀取和寫入不同試驗計畫的事件

以下範例說明如何設定線索,將帳戶的日誌活動分割成不同的 S3 儲存貯體:一個儲存貯體接收唯讀事件,第二個儲存貯體收到唯寫事件。

1. 您要建立一個線索,然後選擇名為 read-only-bucket 的 S3 儲存貯體接收日誌檔案。然後,您可以更新 路徑,以指定您想要的讀取管理事件。

2. 您要建立第二個線索,然後選擇名為 write-only-bucket 的 S3 儲存貯體接收日誌檔案。然後,更新路徑來指定您想要的 Write (寫入) 管理事件。

3. Amazon EC2 DescribeInstances 和 TerminateInstances API 操作發生在您的帳戶中。4. DescribeInstances API 操作是唯讀事件,且符合第一個線索的設定。線索會記錄事件並將它交付到

read-only-bucket。5. TerminateInstances API 操作是唯寫事件,且符合第二個線索的設定。線索會記錄事件並將它交付

到 write-only-bucket。

使用 AWS Command Line Interface 開發套件記錄事件您可以使用 AWS CLI 來設定您的線索記錄管理事件。

若要檢視您的線索是否記錄管理事件,請執行 get-event-selectors 命令。

aws cloudtrail get-event-selectors --trail-name TrailName

以下範例會傳回預設的線索設定。根據預設,線索會記錄所有管理事件、記錄來自所有事件來源的事件,但不記錄資料事件。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"

版本 1.0118

Page 124: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line Interface 開發套件記錄事件

}

若要設定您的線索記錄管理事件,請執行 put-event-selectors 命令。以下範例說明如何設定您的線索以包含兩個 S3 物件的所有管理事件。您可以為線索指定 1 到 5 個事件選取器。您可以為線索指定 1 到 250項資料資源。

Note

無論事件選取器有多少個,S3 資料資源的上限數為 250。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{ "ReadWriteType": "All", "IncludeManagementEvents":true, "DataResources": [{ "Type": "AWS::S3::Object", "Values": ["arn:aws:s3:::mybucket/prefix", "arn:aws:s3:::mybucket2/prefix2"] }] }]'

以下範例會傳回為線索設定的事件選取器。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::mybucket/prefix", "arn:aws:s3:::mybucket2/prefix2", ], "Type": "AWS::S3::Object" } ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

若要從尾端的 logs 排除 AWS Key Management Service (AWS KMS) 事件,請執行 put-event-selectors命令,並以 ExcludeManagementEventSources 的值新增屬性 kms.amazonaws.com。 以下範例會為名為 的結尾建立事件選取器 TrailName 包含唯讀和唯寫管理事件,但排除 AWS KMS 事件。由於 AWS KMS會產生大量的事件,因此此範例中的使用者可能想要限制事件來管理線索的成本。在此版本中,您只能排除事件來源 kms.amazonaws.com 的事件。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": ["kms.amazonaws.com"],"IncludeManagementEvents": true]}]'

此範例會傳回為線索設定的事件選取器。

{ "EventSelectors": [ { "ExcludeManagementEventSources": [ "kms.amazonaws.com" ], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"

版本 1.0119

Page 125: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS SDKs 登入事件

}

若要再次啟動記錄 AWS KMS 事件至線索,請傳遞空字串作為 ExcludeManagementEventSources 的值,如下列命令所示。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

若要將相關 AWS KMS 事件記錄到追蹤 (例如 Disable、Delete 和 ScheduleKey),但排除大量 AWSKMS 事件 (例如 Encrypt、Decrypt和 GenerateDataKey),請記錄唯寫管理事件,並保留預設設定以記錄 AWS KMS 事件,如下列範例所示。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "WriteOnly","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

使用 AWS SDKs 登入事件使用 GetEventSelectors 操作查看您的尾端是否有尾端的登入管理事件。您可以使用 PutEventSelectors 操作來設定您的試驗,藉此管理事件。如需詳細資訊,請參閱《AWS CloudTrail API Reference》。

傳送事件到 Amazon CloudWatch LogsCloudTrail 支援將資料和管理事件傳送到 CloudWatch Logs。當您設定您的線索將事件傳送到您的CloudWatch Logs 日誌群組時,CloudTrail 只會傳送您在線索中指定的事件。例如,如果您設定您的線索只記錄管理事件,則您的線索只會交付管理事件到您的 CloudWatch Logs 日誌群組。如需詳細資訊,請參閱使用 監控 日誌檔案 (p. 136)。

試驗的登入資料事件根據預設,線索不會記錄資料事件。資料事件需支付額外的費用。如需詳細資訊,請參閱 AWS CloudTrail定價。

Note

您的線索所記錄的事件可在 Amazon CloudWatch Events 中取得。例如,如果您設定線索記錄S3 物件的資料事件,但不記錄管理事件,則您的線索只會處理並記錄所指定之 S3 物件的資料事件。這些 S3 物件的資料事件可在 Amazon CloudWatch Events 中取得。如需詳細資訊,請參閱《AWS》中的 Amazon CloudWatch Events 使用者指南 API 呼叫事件。

內容• 資料事件 (p. 121)

• 範例: 物件的登入資料事件Amazon S3 (p. 124)• 其他 AWS 帳號中 S3 物件的登入資料事件 (p. 125)

• 唯讀和唯寫事件 (p. 126)• 使用 AWS Command Line Interface 登入事件 (p. 126)

• 使用基本事件選取器來登入事件 (p. 127)• 使用進階事件選取器來登入事件 (p. 128)• 使用進階事件選取器在 Amazon S3 事件上使用 AWS Outposts Log (p. 129)

• 使用 AWS SDKs 登入事件 (p. 130)

版本 1.0120

Page 126: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南資料事件

• 傳送事件到Amazon CloudWatch Logs (p. 130)

資料事件資料事件可讓您深入了解對資源執行或在資源中執行的資源操作。這些也稱為資料平面操作。資料事件通常是大量資料的活動。

所記下的資料類型如下:

• Amazon S3 物件層級的 API 活動 (例如 GetObject、DeleteObject 和 PutObject API 操作)• AWS Lambda 函數執行活動 (Invoke API)

當您建立結尾時,預設不會登入資料事件。若要記錄 CloudTrail 資料事件,您必須明確地將欲收集之活動的受支援資源或資源類型新增至線索。如需詳細資訊,請參閱 建立路徑 (p. 62)。

在單一區域尾端,您只能針對可在該區域中存取的資源登入資料事件。雖然 S3 儲存貯體是全球的,但 AWSLambda 函數是區域性的。

記錄資料事件需支付額外的費用。如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價。

登入資料事件的步驟視您是否擁有進階事件選取器而定。使用本節中的程序,以符合您在 路徑上已啓用的事件選取器類型。

中的使用基本事件選取器登入資料事件AWS 管理主控台

1. 打開 主控台的 Trails (訓練)CloudTrail 頁面,並選擇路徑名稱。

Note

雖然您可以編輯現有的追蹤新增到記錄資料事件,但是做為最佳實務,請考慮建立單獨追蹤記錄資料事件。

2. 針對 Data events (資料事件),選擇 Edit (編輯)。3. 對於 Amazon S3 儲存貯體:

a. 針對 Data event source (資料事件來源),選擇 S3。b. 您可以選擇登入 All current and future S3 buckets (所有目前和未來的 S3 儲存貯體),也可以指

定各個儲存貯體或函數。根據預設,會針對所有目前和未來的 S3 儲存貯體登入資料事件。

Note

保留預設值 All current and future S3 buckets (所有目前和未來的 S3 儲存貯體) 選項,可在目前 AWS 帳號中及您建立完成後建立的任何儲存貯體上,允許所有儲存貯體進行資料事件登入。另外,還會啟用記錄 AWS 帳戶中任何使用者或角色所執行之資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的儲存貯體上執行也是一樣。如果您要為單一區域建立結尾 (只要使用 AWS CLI),選取 Select all S3 buckets in youraccount (選取您帳號中的所有 S3 儲存貯體) 選項,可讓所有相同區域中的儲存貯體,用來在您之後建立該區域。並不會記錄 Amazon S3 帳戶中其他區域內 AWS 儲存貯體的資料事件。

c. 如果您保留預設值,All current and future S3 buckets (所有目前和未來的 S3 儲存貯體),請選擇Read (讀取) 事件、Write (寫入) 事件,或兩者。

d. 若要選取單一儲存貯體,請清空 All current and uture S3 buckets (所有目前和未來 S3 儲存貯體)的 Read (讀取) 和 Write (寫入) 核取方塊。在 Individual bucket selection (個人儲存貯體選擇) 中,瀏覽要登入資料事件的儲存貯體。若要尋找特定的儲存貯體,請輸入所需儲存貯體的儲存貯體字首。您可以在這個視窗中選取多個儲存貯體。選擇 Add bucket (新增儲存貯體) 來登入更多儲存貯體的資料事件。選擇登入 Read (讀取) 事件,例如 GetObject、Write (寫入) 事件,例如 PutObject 或兩者。

版本 1.0121

Page 127: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南資料事件

此設定的優先順序高於您針對個別儲存貯體所設定的個別設定。例如,如果您指定記錄所有 S3 儲存貯體之 Read (讀取) 事件,然後選擇新增要記錄資料事件的特定儲存貯體,則您新增的儲存貯體會直接選取 Read (讀取)。您無法清除選取項目。您只能設定 Write (寫入) 的選項。

若要移除登入中的儲存貯體,請選擇 X。4. 若要新增用來登入資料事件的另一個資料類型,請選擇 Add data event type (新增資料事件類型)。5. 對於 Lambda 函數:

a. 針對 Data event source (資料事件來源),選擇 Lambda。b. 在 Lambda function ( 函數) 中,選擇 All regions (所有區域) 以登入所有 Lambda 函數,或

Input function as ARN (輸入函數為 ARN) 以在特定函數上登入資料事件。

若要記錄 AWS 帳戶中所有 Lambda 函數的資料事件,請選取 Log all current and future functions(記錄所有目前和未來的函數)。此設定的優先順序高於您針對個別函數所設定的個別設定。皆會記錄所有函數,縱使未顯示全部的函數。

Note

若您要為所有區域建立路徑,此選擇可為目前 AWS 帳號中的所有函數以及在您完成建立路徑後在任何區域中可能建立的任何 Lambda 函數,進行資料事件登入。如果您要建立單一區域的尾端 (Done by use the AWS CLI),則此選擇可讓目前位於您 AWS 帳號中區域的所有函數,以及在您建立完此尾端後,您可能會在該區域中建立的任何 Lambda 函數,藉此登入資料事件。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。記錄所有函數的資料事件也會啟用記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的函數上執行也是一樣。

c. 如果您選擇 Input function as ARN (輸入函數做為 ARN),請輸入 Lambda 函數的 ARN。Note

如果您的帳戶中有超過 15,000 個 Lambda 函數,則無法在建立線索時於 CloudTrail 主控台中檢視或選取所有函數。您仍然可以選取記錄所有函數的選項,縱使其未全部顯示。如果您要記錄特定函數之資料事件,則可以在得知該函數的 ARN 後手動加以新增。您也可以在主控台中完成建立線索,然後使用 AWS CLI 和 put-event-selectors 命令為特定 Lambda函數設定記錄資料事件。如需詳細資訊,請參閱 使用 AWS CLI 管理資源 (p. 81)。

6. 選擇 Update path (更新結尾)。

中的使用進階事件選取器登入資料事件AWS 管理主控台在 AWS 管理主控台 中,如果您已具備進階事件選取器功能,您可以從預先定義的範本中選擇,以登入所選資源 (Amazon S3 儲存貯體或 Lambda 函數) 上的所有資料事件。在您選擇 log selector 範本之後,您可以自訂範本,以僅包含您最想查看的資料事件。

1. 在 主控台的 Dashboard (儀表板) 或 Trails (訓練)CloudTrail 頁面上,選擇路徑名稱來打開它。2. 在路徑的詳細資訊頁面上,於 Data events (資料事件) 中,選擇 Edit (編輯)。3. 如果您尚未登入資料事件,請選擇 Data events (資料事件) 核取方塊。4. 針對 Data event type (資料事件類型),選擇您要登入的資料事件資源類型 (S3 儲存貯體、AWS

Outposts 上的 S3 物件,或 Lambda 函數)。5. 選擇 log selector 範本。CloudTrail 包含預先定義的範本,可登入資源類型的所有資料事件。若要建置自

訂 log selector 範本,請選擇 Custom (自訂)。Note

為 S3 儲存貯體選擇預先定義的範本,可讓目前在您的 AWS 帳號中的所有儲存貯體,以及在建立完畢後您建立的任何儲存貯體,皆進行資料事件登入。另外,還會啟用記錄 AWS 帳戶中任何使用者或角色所執行之資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的儲存貯體上執行也是一樣。

版本 1.0122

Page 128: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南資料事件

如果該路徑僅適用於一個區域,選擇可登入所有 S3 儲存貯體的預先定義範本,可讓與您結尾及稍後建立於該區域之所有區域中資料儲存貯體的事件登入。並不會記錄 Amazon S3 帳戶中其他區域內 AWS 儲存貯體的資料事件。如果您要為所有區域建立結尾,為 Lambda 函數選擇預先定義的範本,可針對目前在 AWS 帳號中的所有函數,以及在您建立完此尾端後在任何區域中建立的任何 Lambda 函數,允許其資料事件登入。如果您要建立單一區域的尾端 (Done by use the AWS CLI),則此選擇可讓目前位於您 AWS 帳號中的所有函數,以及您在建立該區域後可能建立的任何 Lambda 函數,皆能用來登入資料事件。並不會為其他區域中所建立之 Lambda 函數啟用記錄資料事件。記錄所有函數的資料事件也會啟用記錄 AWS 帳戶中任何使用者或角色所執行的資料事件活動,即使該活動是在由另一個 AWS 帳戶所屬的函數上執行也是一樣。

6. 如果您想要套用預先定義的 log 選擇器範本,而且您不想新增其他資料事件資源類型,請選擇 Savechanges (儲存變更)。您不需要遵循此程序的其餘部分。若要套用自訂 log selector 範本,請繼續下一個步驟。

7. 若要建立自訂 log 選擇器範本,請在 Log selector template (Log selector 範本) 下拉式清單中,選擇Custom (自訂)。

8. 輸入您的自訂 log selector 範本名稱。9. 在 Advanced event selectors (進階事件選擇器) 中,針對您想要收集資料事件的特定 S3 儲存貯

體、AWS Outposts 上的 S3 物件或 Lambda 函數,建置表達式。

a. 從下列欄位中選擇。對於接受陣列 (多個值) 的欄位,CloudTrail 會在值之間新增 OR。

• readOnly - 可以設定為 readOnlyEquals (等於) 值為 或 true。false 唯讀資料事件是不會變更資源狀態的事件,例如 Get* 或 Describe* 事件。寫入事件會新增、變更或删除資源、屬性或成品,例如 Put*、Delete* 或 Write* 事件。

• eventName - 可以使用任何運算子。eventName您可以使用它來包含或排除任何登入CloudTrail 的資料事件,例如 PutBucket 或 GetItem。 此欄位可以有多個值,以逗號分隔。

• resources.type - 此欄位為必填。resources.type 只能使用 Equals (等於) 運算子,且值可以是下列其中一項:AWS::S3::Object、AWS::S3Outposts::Object 或AWS::Lambda::Function。

• resources.ARN - 您可以使用任何運算子搭配 ,但如果您使用 resources.ARNEquals(等於) 或 NotEquals,則值必須完全符合您在範本中已指定為 類型之有效資源的ARN。resources.type 例如,如果 resources.type 等於 AWS::S3::Object,則ARN 必須為下列其中一個格式。結尾的落差是有意的;請勿排除。

arn:partition:s3:::bucket_name/arn:partition:s3:::bucket_name/object_or_file_name/

當 resources.type 等於 AWS::S3Outposts::Object,且運算子設定為 Equals 或NotEquals 時,ARN 的格式必須如下:

arn:partition:s3-outposts:region:account_ID:object_path

當 resources.type 等於 AWS::Lambda::Function,且運算子設定為 Equals 或NotEquals 時,ARN 的格式必須如下:

arn:partition:lambda:region:account_ID:function:function_name

如需資料事件資源 ARN 格式的詳細資訊,請查看《 使用者指南Amazon S3》中由 定義的Resource types (資源類型)AWS Lambda 和 定義的 Resource types (資源類型)。AWSIdentity and Access Management

b. 針對每個欄位,選擇 + Conditions (+ 條件) 新增所需數量的條件,所有條件最多 500 個指定的值。例如,若要從在您尾端登入的資料事件中排除兩個 S3 儲存貯體的資料事件,您可以將欄位設

版本 1.0123

Page 129: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南資料事件

為 resources.ARN、設定 的運算子NotEquals,然後貼上 S3 儲存貯體 ARN,或瀏覽不想登入事件的 S3 儲存貯體。

若要新增第二個 S3 儲存貯體,請選擇 + Conditions (+ 條件),然後重複上述指示,貼上在 的ARN 中或瀏覽不同的儲存貯體。

Note

結尾上的所有選取器最多可以有 500 個值。這包括選擇器 (例如 eventName) 的多個值的陣列。 如果您有所有選擇器的單一值,您最多可以將 500 個條件新增至選擇器。如果您的帳戶中有超過 15,000 個 Lambda 函數,則無法在建立線索時於 CloudTrail 主控台中檢視或選取所有函數。您仍然可以使用預先定義的選取器範本來登入所有函數,即使它們未顯示。如果您要記錄特定函數之資料事件,則可以在得知該函數的 ARN 後手動加以新增。您也可以在主控台中完成建立線索,然後使用 AWS CLI 和 put-event-selectors 命令為特定 Lambda 函數設定記錄資料事件。如需詳細資訊,請參閱 使用 AWS CLI 管理資源 (p. 81)。

c. 選擇 + Field (+ 欄位) 視需要新增其他欄位。為了避免錯誤,請勿為欄位設定衝突或重複值。例如,請勿在某個選取器中指定 ARN 等於值,然後指定另一個選取器中的 ARN 不等於相同值。

d. 選擇 Next (下一步) 將變更儲存至您的自訂選擇器範本。請勿選擇另一個 log selector 範本,或離開此頁面,否則會遺失您的自訂選取器。

10. 若要新增用來登入資料事件的另一個資料類型,請選擇 Add data event type (新增資料事件類型)。重複步驟 4 到此步驟,以設定資料事件類型的進階事件選取器。

11. 在您選擇 Next (下一步) 後,請在 Step 2: (步驟 2:) 中 選擇 log 事件,檢視您選擇的 logselector 範本選項。選擇 Edit (編輯) 返回並進行變更。

12. 在檢視並驗證過您的選擇之後,請選擇 Update path (更新結尾) (如果這是現有的結尾),或 Createpath (建立結尾) (如果您要建立新的結尾)。

範例: 物件的登入資料事件Amazon S3記錄的 S3 儲存貯體中所有 S3 物件的資料事件

以下範例示範當您為名為 的 S3 儲存貯體設定登入所有資料事件時,登入的運作方式。bucket-1. 在這個範例中,CloudTrail 使用者指定了空的字首,以及同時對 Read (讀取) 和 Write (寫入) 資料事件進行登入的選項。

1. 使用者將物件上傳至 bucket-1。2. PutObject API 操作是 Amazon S3 物件層級的 API。它在 CloudTrail 中會記錄為資料事件。因為

CloudTrail 使用者使用空的前綴指定了 S3 儲存貯體,所以會記錄該儲存貯體中任何物件發生的事件。線索會處理並記錄事件。

3. 另一位使用者將物件上傳至 bucket-2。4. 發生在 S3 儲存貯體物件上的 PutObjectAPI 操作,並未針對線索指定。線索不日誌此事件。

記錄特定 S3 物件的資料事件

下例示範當您設定線索記錄特定 S3 物件的事件時,記錄如何運作。在這個範例中,CloudTrail 使用者指定了S3 儲存貯體,名為 bucket-3,含字首 my-images以及僅登入 Write (寫入) 資料事件的選項。

1. 使用者刪除儲存貯體中使用 my-images 前綴開頭的物件,例如 arn:aws:s3:::bucket-3/my-images/example.jpg。

2. DeleteObject API 操作是 Amazon S3 物件層級的 API。它在 中會記錄為 WriteCloudTrail (寫入) 資料事件。物件中發生的事件符合線索中指定的 S3 儲存貯體和前綴。線索會處理並記錄事件。

3. 另一位使用者刪除 S3 儲存貯體中使用不同前綴的物件,例如 arn:aws:s3:::bucket-3/my-videos/example.avi。

4. 物件中發生的事件不符合您線索中指定的前綴。線索不日誌此事件。

版本 1.0124

Page 130: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南資料事件

5. 使用者為物件 arn:aws:s3:::bucket-3/my-images/example.jpg 呼叫 GetObject API 操作。6. 事件發生在線索指定前綴的儲存貯體中,但 GetObject 是讀取類型的 Amazon S3 物件層級 API。它在

記錄為 ReadCloudTrail (讀取) 資料事件,但線索未設定記錄 Read (讀取) 事件。線索不日誌此事件。

Note

如果您要記錄特定 Amazon S3 儲存貯體的資料事件,我們不建議您使用要記錄其資料事件的Amazon S3 儲存貯體,來接收您在資料事件區段中指定的日誌檔案。使用同一個 Amazon S3 儲存貯體,會讓您的線索在日誌檔案每次交付到您的 Amazon S3 儲存貯體時,記錄資料事件。日誌檔案是依時間間隔交付的彙總事件,所以事件和日誌檔案的比例不是一比一;此事件會記錄在下一個日誌檔案中。例如,當線索交付日誌時,PutObject 事件發生在 S3 儲存貯體。如果資料事件區段中也指定了此 S3 儲存貯體,線索就會處理 PutObject 事件,並記錄為資料事件。這動作是另一個 PutObject 事件,而線索會再次處理並記錄事件。如需詳細資訊,請參閱 CloudTrail 運作方式 (p. 1)。為了避免記錄接收日誌檔案之 Amazon S3 儲存貯體的資料事件,如果您設定線索記錄您 AWS 帳戶中所有 Amazon S3 的資料事件,請考慮設定將日誌檔案交付到從屬於其他 AWS 帳戶的 AmazonS3 儲存貯體。如需詳細資訊,請參閱 從多個帳戶接收 CloudTrail 日誌檔案 (p. 167)。

其他 AWS 帳號中 S3 物件的登入資料事件當您設定您的線索記錄資料事件時,您也可以指定屬於其他 AWS 帳戶的 S3 物件。當指定的物件上發生事件時,CloudTrail 會評估事件是否符合各帳戶的任何線索。如果事件符合線索的設定,則線索會處理並記錄該帳戶的事件。通常,API 呼叫者和資源擁有者都可以接收事件。

如果您擁有 S3 物件,並在您的線索中指定了此物件,您的線索會記錄發生在您帳戶中此物件的事件。因為您擁有此物件,所以您的線索也會記錄其他帳戶呼叫此物件時的事件。

如果您在您的線索中指定了 S3 物件,但另一個帳戶擁有此物件,您的線索就只會記錄發生在您帳戶中該物件的事件。您的線索不會記錄發生在其他帳戶的事件。

範例:兩個 AWS 帳號的 S3 物件登入資料事件

下例說明兩個 AWS 帳戶如何設定 CloudTrail 記錄同一個 S3 物件的事件。

1. 在您的帳號中,您希望您的 路徑針對名為 owner-bucket 的 S3 儲存貯體中的所有物件,登入資料事件。 您以空的物件字首指定 S3 儲存貯體來設定路徑。

2. Bob 的獨立帳戶可以存取 S3 儲存貯體。Bob 也想記錄同一個 S3 儲存貯體中所有物件的資料事件。他為自己的線索設定了線索,並指定有空物件前綴的同一個 S3 儲存貯體。

3. Bob 使用 PutObject API 操作將物件上傳到 S3 儲存貯體。4. 這個事件發生在他的帳戶中,而且符合他的線索設定。Bob 的線索會處理並記錄此事件。5. 因為您擁有此 S3 儲存貯體,而且此事件符合您的線索設定,所以您的線索也會處理並記錄相同的事

件。因為目前有兩個事件複本 (一個記錄於 Bob 的線索中,另一個記錄於您的線索),所以 CloudTrail 會針對資料事件的兩個複本收取費用。

6. 您將物件上傳至 S3 儲存貯體。7. 這個事件發生在您的帳戶中,而且符合您的線索設定。您的線索會處理並記錄此事件。8. 因為事件不是發生在 Bob 的帳戶中,而且他並未擁有此 S3 儲存貯體,所以 bobo 的線索不會記錄此事

件。CloudTrail 只會針對此資料事件的唯一複本收取費用。

範例:所有儲存貯體的登入資料事件,包括兩個 AWS 帳號使用的 S3 儲存貯體

以下範例顯示當 Select all S3 buckets in your account (選取您帳號中的所有 S3 儲存貯體) 針對在 AWS帳號中收集資料事件的試驗進行登入行為。

1. 在您的帳戶中,您希望您的線索記錄所有 S3 儲存貯體的資料事件。您可以在 Data events (資料事件) 中選擇 Read (讀取) 事件、Write (寫入) 事件,或 All current and future S3 buckets (所有目前和未來的 S3 儲存貯體),來設定結尾。

版本 1.0125

Page 131: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南唯讀和唯寫事件

2. Bob 的獨立帳戶可以存取您帳戶中的 S3 儲存貯體。他希望針對有權存取的儲存貯體記錄資料事件。他會將自己的線索設定為取得所有 S3 儲存貯體的資料事件。

3. Bob 使用 PutObject API 操作將物件上傳到 S3 儲存貯體。4. 這個事件發生在他的帳戶中,而且符合他的線索設定。Bob 的線索會處理並記錄此事件。5. 因為您擁有此 S3 儲存貯體,而且此事件符合您的線索設定,所以您的線索也會處理並記錄事件。因為

目前有兩個事件複本 (一個記錄於 Bob 的線索中,另一個記錄於您的線索),所以 CloudTrail 會針對資料事件的複本,對每個帳戶收取費用。

6. 您將物件上傳至 S3 儲存貯體。7. 這個事件發生在您的帳戶中,而且符合您的線索設定。您的線索會處理並記錄此事件。8. 因為事件不是發生在 Bob 的帳戶中,而且他並未擁有此 S3 儲存貯體,所以 bobo 的線索不會記錄此事

件。CloudTrail 只會針對您帳戶中此資料事件的唯一複本收取費用。9. 第三位使用者 Mary 可存取 S3 儲存貯體,並在儲存貯體上執行 GetObject 作業。她在帳戶中具有設

為記錄所有 S3 儲存貯體之資料事件的線索。因為她是 API 呼叫者,所以 CloudTrail 會記錄其線索中的資料事件。雖然 Bob 可以存取儲存貯體,但他不是資源擁有者,所以這次沒有任何事件記錄在他的線索中。身為資源擁有者,您會在線索中收到與 Mary 呼叫之 GetObject 作業相關的事件。CloudTrail 會針對每個資料事件的複本 (一個在 Mary 的線索中,一個在您的線索中),向您的帳戶和 Mary 的帳戶收取費用。

唯讀和唯寫事件當您設定尾端以登入資料和管理事件時,您可以指定要唯讀事件、唯寫事件或兩者兼有。

• 閱讀

讀取事件包括讀取您資源的 API 操作,但不進行變更。例如,唯讀事件包含 Amazon EC2DescribeSecurityGroups 與 DescribeSubnets API 操作。這些操作僅傳回 Amazon EC2 資源的相關資訊,但不變更您的組態。

• 寫入

寫入事件包括可修改 (或可能修改) 您的資源的 API 操作。例如,Amazon EC2 RunInstances 和TerminateInstances API 操作會修改您的執行個體。

範例:Logging 讀取和寫入不同試驗計畫的事件

以下範例說明如何設定線索,將帳戶的日誌活動分割成不同的 S3 儲存貯體:一個儲存貯體接收唯讀事件,第二個儲存貯體收到唯寫事件。

1. 您要建立一個線索,然後選擇名為 read-only-bucket 的 S3 儲存貯體接收日誌檔案。然後,您可以更新 路徑,以指定您想要讀取管理事件和資料事件。

2. 您要建立第二個線索,然後選擇名為 write-only-bucket 的 S3 儲存貯體接收日誌檔案。然後,您可以更新 路徑,以指定您想要 Write (寫入) 管理事件和資料事件。

3. Amazon EC2 DescribeInstances 和 TerminateInstances API 操作發生在您的帳戶中。4. DescribeInstances API 操作是唯讀事件,且符合第一個線索的設定。線索會記錄事件並將它交付到

read-only-bucket。5. TerminateInstances API 操作是唯寫事件,且符合第二個線索的設定。線索會記錄事件並將它交付

到 write-only-bucket。

使用 AWS Command Line Interface 登入事件您可以設定您的線索,使用 AWS CLI 記錄管理和資料事件。若要查看您的尾端是否有登入管理和資料事件,請執行 get-event-selectors 命令。

版本 1.0126

Page 132: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line Interface 登入事件

Note

請注意,如果帳號登入多個管理事件的副本,您需要支付費用。登入資料事件一律收費。如需詳細資訊,請參閱 AWS CloudTrail 定價。

aws cloudtrail get-event-selectors --trail-name TrailName

此命令會傳回尾端的預設設定。

主題• 使用基本事件選取器來登入事件 (p. 127)• 使用進階事件選取器來登入事件 (p. 128)• 使用進階事件選取器在 Amazon S3 事件上使用 AWS Outposts Log (p. 129)

使用基本事件選取器來登入事件以下是顯示基本事件選取器之 get-event-selectors 命令的範例結果。根據預設,當您使用 AWS CLI 建立結尾時,結尾會登入所有管理事件。根據預設,線索不會記錄資料事件。

{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

若要設定您的線索記錄管理和資料事件,請執行 put-event-selectors 命令。

下列範例示範如何使用基本事件選取器來設定 路徑,以包含兩個 S3 物件的所有管理與資料事件。您可以為線索指定 1 到 5 個事件選取器。您可以為線索指定 1 到 250 項資料資源。

Note

如果您選擇使用基本事件選取器來限制資料事件,S3 資料資源的數量上限為 250。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{ "ReadWriteType": "All", "IncludeManagementEvents":true, "DataResources": [{ "Type": "AWS::S3::Object", "Values": ["arn:aws:s3:::mybucket/prefix", "arn:aws:s3:::mybucket2/prefix2"] }] }]'

此命令會傳回為結尾設定的事件選取器。

{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::mybucket/prefix", "arn:aws:s3:::mybucket2/prefix2", ], "Type": "AWS::S3::Object"

版本 1.0127

Page 133: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line Interface 登入事件

} ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

使用進階事件選取器來登入事件如果您已選擇使用進階事件選取器,get-event-selectors 命令會傳回類似以下的結果。根據預設,未針對結尾設定進階事件選取器。

{ "AdvancedEventSelectors": [], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

下列範例顯示如何使用進階事件選取器來登入所有管理事件 (readOnly 和 writeOnly),以及在相同的兩個 S3 儲存貯體字首中包含 S3 物件的 PutObject 和 DeleteObject 事件。如此處所示,您可以使用進階事件選取器來根據 ARN 選取 S3 字首名稱,而不只是您想要登入的特定事件名稱。您最多可以為每條尾端的進階事件選取器新增 500 個條件,包括所有選取器值。您可以為線索指定 1 到 250 項資料資源。

aws cloudtrail put-event-selectors --trail-name TrailName \--advanced-event-selectors '[ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Management"] } ] }, { "Name": "Log PutObject and DeleteObject events for two S3 prefixes", "FieldSelectors": [ { "Field": "readOnly", "Equals": ["false"] }, { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:s3:::mybucket/prefix","arn:aws:s3:::mybucket2/prefix2"] } ] }]'

結果會顯示為結尾設定的進階事件選取器。

{ "AdvancedEventSelectors": [ { "Name": "Log readOnly and writeOnly management events", "FieldSelectors": [ { "Field": "readOnly", "Equals": [ false ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [],

版本 1.0128

Page 134: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS Command Line Interface 登入事件

"NotEndsWith": [] }, { "Field": "eventCategory", "Equals": [ "Management" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] } ] }, { "Name": "Log PutObject and DeleteObject events for two S3 prefixes", "FieldSelectors": [ { "Field": "readOnly", "Equals": [ false ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "eventCategory", "Equals": [ "Data" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ], "StartsWith": [], "EndsWith": [], "NotEquals": [], "NotStartsWith": [], "NotEndsWith": [] }, { "Field": "resources.ARN", "Equals": [], "StartsWith": [], "EndsWith": [], "Equals": [ "arn:aws:s3:::mybucket/prefix","arn:aws:s3:::mybucket2/prefix2" ], "NotStartsWith": [], "NotEndsWith": [] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"}

使用進階事件選取器在 Amazon S3 事件上使用 AWS OutpostsLog以下範例顯示如何設定您的 路徑,以包含 Outposts 物件上您 Outposts 的所有資料事件。Amazon S3在此版本中,resources.type 欄位的 S3 on Outposts 事件支援的值是 AWS::S3Outposts::Object。

版本 1.0129

Page 135: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS SDKs 登入事件

aws cloudtrail put-event-selectors --trail-name TrailName --region region \--advanced-event-selectors \'[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] }]'

此命令會傳回下列範例輸出。

{ "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:region:account_ID:trail/TrailName"}

使用 AWS SDKs 登入事件執行 GetEventSelectors 操作,以查看您的尾端是否是路徑的登入資料事件。您可以執行 PutEventSelectors操作,設定 harip 以登入資料事件。如需詳細資訊,請參閱 AWS CloudTrail API Reference。

傳送事件到Amazon CloudWatch LogsCloudTrail 支援將資料事件傳送至 CloudWatch Logs。當您設定您的線索將事件傳送到您的 CloudWatchLogs 日誌群組時,CloudTrail 只會傳送您在線索中指定的事件。例如,如果您設定您的線索只記錄資料事件,您的線索只會交付資料事件到您的 CloudWatch Logs 日誌群組。如需詳細資訊,請參閱 使用 監控 日誌檔案 (p. 136)。

記錄線索的 Insights 事件AWS CloudTrail Insights 透過持續分析 CloudTrail 管理事件, 協助 AWS 使用者識別和回應與 write API呼叫相關的異常活動。

當 CloudTrail 在您的帳戶中偵測到異常的 write 管理 API 活動時,會記錄 Insights events。如果您已啟用 CloudTrail Insights 且 CloudTrail 偵測到異常的活動,則會傳送 Insights events到線索的目的地 S3 儲

版本 1.0130

Page 136: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南了解 Insights

存貯體。當您在 CloudTrail 主控台上檢視 Insights events 時,也可以查看深入分析的類型和事件時段。與CloudTrail 線索中擷取的其他類型的事件不同,Insights events只有在 CloudTrail 偵測到帳戶 API 使用方式與帳戶的一般使用模式有很大差異時,才會加以記錄。

CloudTrail Insights 會持續監控 CloudTrail write 管理事件,並使用數學模型來決定帳戶的 API 和服務事件活動的正常層級。CloudTrail Insights 會識別超出正常模式的行為、產生 Insights events,並將這些事件傳遞到線索的所選目的地 S3 儲存貯體中的 /CloudTrail-Insight 資料夾。您也可以在 CloudTrail 的AWS 管理主控台中存取和檢視 Insights events。如需有關如何在主控台中存取和檢視 Insights events以及使用 AWSCLI 的詳細資訊,請參閱本指南中的檢視 CloudTrail Insights 事件 (p. 48)。

根據預設,線索會記錄全部的管理事件,但不包含資料事件或 Insights events。資料和 Insights events需支付額外的費用。如需詳細資訊,請參閱 AWS CloudTrail 定價。

當您的帳戶發生事件時,CloudTrail 會評估事件是否符合您的線索設定。只有符合您線索設定的事件才會交付到您的 Amazon S3 儲存貯體和 Amazon CloudWatch Logs 日誌群組。

內容• 了解 Insights (p. 131)

• 篩選條件資料行 (p. 131)• Insights graph (洞見圖形) 標籤 (p. 132)• Attributions 索引標籤 (p. 132)• CloudTrail events (事件) 索引標籤 (p. 133)• Insights 事件檔案標籤 (p. 134)

• 使用 AWS 管理主控台 登入 Insights 事件 (p. 134)• 使用AWS Command Line Interface記錄 Insights 事件 (p. 134)• 使用 AWS SDKs 登入事件 (p. 135)• 傳送事件到 Amazon CloudWatch Logs (p. 135)

了解 InsightsCloudTrail Insights 可協助您透過提高 AWS 來偵測您 Insights events 帳號中不尋常的 API 活動。CloudTrailInsights 會測量您 API 呼叫量的正常模式 (也稱為基準),並在磁碟區位於正常模式外時生成 Insightsevents。Insights events 是用於 write 管理 APIs。

您第一次在線索上啟用 CloudTrail Insights 之後,如果偵測到異常活動,CloudTrail 可能需要最多 36小時才能傳送第一個 Insights 事件。CloudTrail Insights 會分析單一區域 (而非全域) 發生的寫入管理事件。CloudTrail Insights 事件會在產生其支援管理事件的相同區域產生。

下圖顯示 Insights events範例。您可以從 Dashboard (儀表板) 或 Insights (深入分析) 頁面選擇 Insights 事件名稱,以開啟 Insights 事件的詳細資料頁面。

如果您在線索上停用 CloudTrail Insights 或停止記錄線索 (如此會停用 CloudTrail Insights),則您稍早啟用Insights 之日期的 Insights events 可能已儲存在目的地 S3 儲存貯體中,或顯示在主控台的 Insights (深入分析) 頁面上。

篩選條件資料行

左邊的資料行列出與主旨 API 相關,並具有相同的 Insights 事件類型的 Insights events。該欄可讓您選擇想要取得更多資訊的 Insights 事件。當您選擇此欄中的事件時,會在 Insights graph (洞見圖形) 標籤上的圖形中反白顯示事件。根據預設,CloudTrail 會套用篩選條件,將 events ( 事件)CloudTrail 索引標籤上顯示的事件限制為在觸發 Insights 事件的不尋常活動期間所呼叫之特定 API 的有關事件。若要顯示在不尋常活動期間呼叫的所有 CloudTrail 事件,包括與 Insights 事件無關的事件,請關閉篩選條件。

版本 1.0131

Page 137: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南了解 Insights

Insights graph (洞見圖形) 標籤在 Insights graph (洞見圖形) 標籤上,Insights event (洞見事件) 的詳細資訊頁面會顯示 API 呼叫磁碟區的圖表,顯示會在登入一或多個 Insights events 之前和之後一段時間發生的呼叫磁碟區。在圖形中,會以垂直長條圖強調顯示 Insights events,並以長條圖寬度顯示 Insights 事件的開始和結束時間。

在此範例中,垂直強調顯示頻帶顯示帳戶中異常的 Amazon CloudWatch DeleteAlarms API 呼叫數目。在反白的區域中,因為 DeleteAlarms 呼叫次數高於帳號基準平均值 0.05 個呼叫,CloudTrail 會在偵測到不尋常的活動時登入 Insights 事件。Insights 事件發布多達 3 次 DeleteAlarms 呼叫於上午 11:20 進行。與預期帳號相比,每分鐘對該 API 的呼叫多出三次。在此範例中,圖形的時間範圍是 3 小時:上午 9:50。2020 年 8月 5 日下午 2:50 (太平洋日光時間) 到 2020 年 8 月 5 日太平洋日光時間。此事件的開始時間為 11:20 a.m.2020 年 8 月 5 日下午太平洋日光時間 (PDT),而結束時間為一分鐘之後。

基準是在 Insights 事件開始的前七天計算的。雖然基準持續時間的值— 測量 CloudTrail 的正常活動期間大約7 天,APIs 會將基準持續時間四捨五入至整個整數天,所以精確的基準持續時間可以不同。—CloudTrail

Attributions 索引標籤Attributions (屬性) 標籤會顯示有關 Insights 事件的下列資訊。

版本 1.0132

Page 138: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南了解 Insights

• 頂端使用者身分 ARNs - 此表格會顯示最多前五個 使用者或 AWS 角色 (使用者身分),這些使用者角色會在非常活動和基準期間造成 API 呼叫,依平均 API 呼叫數以遞減順序顯示。IAM造成不尋常活動的活動總計平均百分比顯示於括號中。如果超過 5 個使用者身分 ARNs 造成不尋常的活動,則他們的活動會加總在 Other(其他) 列中。

• 頂端使用者代理程式 - 此表格會顯示最多前五個 AWS 工具,使用者身分用來在不尋常的活動和基準期間,按平均 API 呼叫的數量提供遞減顯示。這些工具包括 AWS 管理主控台、AWS CLI 或 AWS SDKs。 例如,名為 ec2.amazonaws.com 的使用者代理程式指出 Amazon EC2 主控台是呼叫 API 所用的工具之一。造成不尋常活動的活動總計平均百分比顯示於括號中。如果超過 5 個使用者客服人員造成不尋常的活動,他們的活動會在 Other (其他) 列中加總。

• Top error codes (頂端錯誤代碼) - 此資料表會顯示非限定活動和基準期間 API 呼叫中發生的前五個錯誤代碼,從最大數量到最小的 API 呼叫以遞減順序顯示。造成不尋常活動的活動總計平均百分比顯示於括號中。如果在不尋常或基準活動期間發生超過五個錯誤代碼,他們的活動會在 Other (其他) 列中加總。

做為前五個錯誤代碼值之一的值,表示造成 Insights 事件之呼叫的顯著百分比不會導致錯誤。None如果錯誤碼值是 None,而且資料表中不存在其他錯誤代碼,則 Insight average (洞見平均值) 和 Baseline average(基準平均值) 欄位中的值會與 Insights 事件整體的值相同。您也可在 Insights graph (洞見圖形) 標籤的Insight average (洞見平均值) 和 Baseline average (基準平均值) 圖例中,看到在 API calls per minute (每分鐘 API 呼叫) 下方的這些值。

CloudTrail events (事件) 索引標籤在 CloudTrail events (CloudTrail 事件) 索引標籤上,檢視 CloudTrail 分析以判斷發生異常活動的相關事件。根據預設,Insights 事件名稱已套用篩選條件,這也是相關 API 的名稱。若要顯示不尋常活動期間登入的所有 CloudTrail 事件,請關閉 Only show events for selected Insights event (只顯示選取 Insights 事件的事件)。CloudTrail events (CloudTrail 事件) 索引標籤會顯示在 Insights 事件的開始和結束時間之間,所發生之與主旨 API 相關的 CloudTrail 管理事件。這些事件可協助您執行更深入的分析,以判斷 Insights 事件的可能原因,以及異常 API 活動的原因。

版本 1.0133

Page 139: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS 管理主控台 登入 Insights 事件

Insights 事件檔案標籤與任何 CloudTrail 事件一樣,CloudTrail Insights 事件是以 JSON 格式呈現。Insights 的 Insights event record(深入分析事件資料) 標籤會顯示洞見開始和結束事件的 JSON 結構和意圖,有時稱為事件承載。如需深入資訊,請查看本指南中的 Insights 事件記錄欄位 (p. 253) 和 CloudTrail Insights insightDetails 元素 (p. 259)。

使用 AWS 管理主控台 登入 Insights 事件在現有路徑上讓 CloudTrail Insights events。根據預設,不允許 Insights events。

1. 在 CloudTrail 主控台的左側導覽窗格中,打開 Trails (路徑) 頁面,選擇路徑名稱。2. 在 Insights events (洞見事件) 中,選擇 Edit (編輯)。

Note

記錄 Insights 事件需支付額外費用。如需 CloudTrail 定價,請參閱 AWS CloudTrail 定價。3. 在 Event type (事件類型) 中,選取 Insights events (洞見事件)。您必須登入 Write (寫入) 管理事件,才能登

入 Insights 事件。4. 選擇 Update jar (更新結尾) 以儲存變更。

如果偵測到異常的活動,CloudTrail 需要最多 36 小時以送達第一個 Insights events。

使用AWS Command Line Interface記錄 Insights 事件您可以使用 AWS CLI 設定線索來記錄 Insights events。

若要檢視線索是否正在記錄 Insights events,請執行 get-insight-selectors 命令。

aws cloudtrail get-insight-selectors --trail-name TrailName

以下結果展示線索的預設設定。依預設,線索不會記錄 Insights events。InsightType 屬性值是空的,且未指定 Insight 事件選取器,因為未啟用 Insights 事件收集。

{ "InsightSelectors": [ { "InsightType": "" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/TrailName"}

若要設定您的線索以記錄 Insights events,請執行 put-insight-selectors 命令。下面的範例示範如何設定線索以包含 Insights events。在此版本中,唯一的 Insights 選取器是 ApiCallRateInsight。

aws cloudtrail put-insight-selectors --trail-name TrailName --insight-selectors '[{"InsightType": "ApiCallRateInsight"}]'

下列結果顯示針對線索設定的 Insights 事件選取器。

{ "InsightSelectors":

版本 1.0134

Page 140: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS SDKs 登入事件

[ { "InsightType": "ApiCallRateInsight" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/TrailName"}

使用 AWS SDKs 登入事件執行 GetInsightSelectors 操作以查看您的尾端是否登入 Insights events 的結尾。您可以使用 Insights events操作將 PutInsightSelectors 設定為登入。如需詳細資訊,請參閱《AWS CloudTrail API Reference》。

傳送事件到 Amazon CloudWatch LogsCloudTrail 支援傳送 Insights events 至 CloudWatch Logs。當您設定您的線索將 Insights events傳送到CloudWatch Logs 日誌群組時,CloudTrail Insights 只會傳送您在線索中指定的事件。例如,如果您將線索設定為記錄管理和 Insights events,則您的線索會傳送管理和 Insights events 至 CloudWatch Logs 日誌群組。若要使用 CloudWatch 主控台或 API 設定 CloudWatch 活動,請在 CloudWatch 主控台的 Create rule(建立規則) 頁面上選擇 AWS Insight via CloudTrail 事件類型。如需詳細資訊,請參閱使用 監控 日誌檔案 (p. 136)。

從多個區域接收 CloudTrail 日誌檔案您可以設定 CloudTrail 將日誌檔案從多個區域傳送至單一帳戶中的單一 S3 儲存貯體。例如,您在 美國西部(奧勒岡) 區域中有一個追蹤記錄設定為將日誌檔案傳送至 S3 儲存貯體和 CloudWatch Logs 日誌群組。當您變更現有的單一區域尾端以登入所有區域時,CloudTrail 會對您帳號中所有區域的事件進行登入。CloudTrail會將 log 檔案交付至相同的 S3 儲存貯體和 CloudWatch Logs Log 群組。只要 CloudTrail 具有寫入 S3 儲存貯體的許可,多區域追蹤記錄的儲存貯體就不必位於追蹤記錄的本地區域。

在主控台中,您預設會建立會登入所有 AWS 區域中的事件路徑。這是建議的最佳實務。欲在單一區域中登入事件 (不建議),請使用 AWS CLI。 (p. 78)若要設定現有的單一區域尾端以登入所有區域,您必須使用 AWSCLI。

若要變更現有路徑以套用到所有區域,請將 --is-multi-region-trail 選項新增至 update-trail (p. 79) 命令。

aws cloudtrail update-trail --name my-trail --is-multi-region-trail

若輸出中的 IsMultiRegionTrail 元素顯示 true,即可確定線索現會套用至所有區域。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": false, "S3BucketName": "my-bucket"}

Note

在 aws 分割區中啟動新的區域時,CloudTrail 會使用與原始追蹤記錄相同的設定,自動在新的區域中建立追蹤記錄。

版本 1.0135

Page 141: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 監控 日誌檔案

如需詳細資訊,請參閱下列資源:

• 如何在區域與全域執行 CloudTrail? (p. 8)• CloudTrail FAQs

使用 監控 日誌檔案您可以設定含 CloudWatch Logs 的 CloudTrail 監控您的線索日誌,並在發生特定活動時通知您。

1. 設定您的線索,將日誌事件傳送至 CloudWatch Logs。2. 定義 CloudWatch Logs 指標篩選條件,以評估詞彙、片語或數值中符合項目的日誌事件。例如,您可以

監控 ConsoleLogin 事件。3. 將 CloudWatch 指標指派給指標篩選條件。4. 建立根據您指定的閾值和時段所觸發的 CloudWatch 警示。您可以設定警示以在觸發警示時傳送通知,

讓您可以採取動作。5. 您也可以設定 CloudWatch 自動執行動作,以回應警示。

Amazon CloudWatch 和 Amazon CloudWatch Logs 適用的標準定價。如需詳細資訊,請參閱 AmazonCloudWatch 定價。

如需將試驗數傳送到 CloudWatch Logs 的所在區域詳細資訊,請查看 一般參考Amazon CloudWatch Logs中的 區域和配額。AWS

AWS GovCloud (美國西部) 區域需要單獨的帳戶。如需詳細資訊,請參閱AWS GovCloud (美國西部)。

主題• 傳送 事件到 CloudWatch Logs (p. 136)• 使用 範本建立 警示 (p. 141)• 建立 CloudWatch 事件的 CloudTrail 警示:範例 (p. 152)• 建立 CloudWatch 事件的 CloudTrail 警示: 其他範例 (p. 156)• 設定 CloudWatch Logs 警示的通知 (p. 165)• 停止 CloudTrail 將事件傳送至 CloudWatch Logs (p. 165)• 的 日誌群組和日誌串流命名 (p. 166)• 讓 CloudTrail 使用 CloudWatch Logs 監控的角色政策文件 (p. 166)

傳送 事件到 CloudWatch Logs當您設定線索將事件傳送到 CloudWatch Logs 時,CloudTrail 只會傳送符合您線索設定的事件。例如,如果您設定您的線索只記錄資料事件,您的線索只會傳送資料事件到您的 CloudWatch Logs 日誌群組。CloudTrail 支援將資料、Insights 和管理事件傳送到 CloudWatch Logs. 如需詳細資訊,請參閱 使用CloudTrail 日誌檔案 (p. 114).

若要將事件傳送到 CloudWatch Logs 日誌群組:

• 請確定您有足夠權限建立或指定 IAM 角色。如需詳細資訊,請參閱 授予在 Amazon CloudWatch Logs 主控台上檢視並設定 CloudTrail 資訊的許可 (p. 220).

• 建立新的線索或指定現有的線索。如需詳細資訊,請參閱 使用主控台建立和更新 路徑 (p. 62).• 建立日誌群組或指定現有的日誌群組。

版本 1.0136

Page 142: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南傳送 事件到 CloudWatch Logs

• 指定 IAM 角色。如果要修改組織線索的現有 IAM 角色,您必須手動更新政策,以允許組織線索的記錄。如需更多詳細資訊,請參閱這個政策範例 (p. 140)與建立組織的路徑 (p. 95).

• 連接角色政策或使用預設值。

內容• 使用主控台設定 CloudWatch Logs 監控 (p. 137)

• 建立日誌群組或指定現有的日誌群組 (p. 137)• 指定 IAM 角色 (p. 137)• 在 CloudWatch 主控台中檢視事件 (p. 138)

• 使用 CloudWatch Logs 設定 AWS CLI 監控 (p. 138)• 建立日誌群組 (p. 138)• 建立角色 (p. 139)• 建立政策文件 (p. 139)• 更新線索 (p. 140)

• Limitation (p. 141)

使用主控台設定 CloudWatch Logs 監控您可以使用 AWS 管理主控台,設定線索將事件傳送到 CloudWatch Logs 進行監控。

建立日誌群組或指定現有的日誌群組

CloudTrail 使用 CloudWatch Logs 日誌群組做為日誌事件的交付端點。您可以建立日誌群組或指定現有的日誌群組。

建立或指定日誌群組

1. 請確定您已登入管理 IAM 使用者或角色擁有足夠權限設定 CloudWatch Logs 整合。如需詳細資訊,請參閱 授予在 Amazon CloudWatch Logs 主控台上檢視並設定 CloudTrail 資訊的許可 (p. 220).

2. 在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。3. 選擇線索名稱。如果您選擇套用到所有區域的線索,系統會將您重新導向到建立線索的區域。您可以在

與線索相同的區域中建立日誌群組或選擇現有的日誌群組。

Note

套用到所有區域的線索會將所有區域的日誌檔案傳送到您指定的 CloudWatch Logs 日誌群組。4. 針對 CloudWatch Logs,選擇 Configure (設定).5. 針對 New or existing log group (新的或現有的日誌群組),輸入日誌群組名稱,然後選擇 Continue. (繼

續)。如需詳細資訊,請參閱 的 日誌群組和日誌串流命名 (p. 166).6. 針對 IAM 角色,選擇現有的角色或建立一個角色。如果建立 IAM 角色,請輸入角色名稱。7. 選擇 Allow (允許) 以授予 CloudTrail 建立 CloudWatch Logs Log 串流和交付事件的許可。

指定 IAM 角色

您可以指定角色,讓擔任的 CloudTrail 可以將事件交付到日誌串流。

指定角色

1. 預設會為您指定 CloudTrail_CloudWatchLogs_Role 預設角色政策具備必要的許可,可在您指定的日誌群組中建立 CloudWatch Logs 日誌串流,並將 CloudTrail 事件交付到該日誌串流。

版本 1.0137

Page 143: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南傳送 事件到 CloudWatch Logs

Note

如果希望此角色用於組織線索的日誌群組,您必須在角色建立之後手動修改該政策。如需更多詳細資訊,請參閱這個政策範例 (p. 140)與建立組織的路徑 (p. 95).

a. 若要確認角色,請前往位於 AWS Identity and Access Management 的 https://console.aws.amazon.com/iam/. 主控台。

b. 選擇 Roles (角色),然後選擇 _CloudTrailCloudWatchLogsCloudWatchLogs。c. 若要查看角色政策的內容,請選擇 View Policy Document. (檢視政策文件)。

2. 您可以指定其他角色,但若要使用它將事件傳送到 ,則必須將必要的角色政策連接到現有的角色。CloudWatch Logs. 如需詳細資訊,請參閱 讓 CloudTrail 使用 CloudWatch Logs 監控的角色政策文件 (p. 166).

在 CloudWatch 主控台中檢視事件

在您設定 路徑將事件傳送到 CloudWatch Logs 登入群組之後,您可以在 CloudWatch 主控台中檢視事件。CloudTrail 通常會在 API 呼叫平均大約 15 分鐘的時間中將事件交付到您的登入群組。不保證此時間。如需詳細資訊,請檢視 服務水準協議AWS CloudTrail。

在 CloudWatch 主控台中檢視事件

1. 前往 https://console.aws.amazon.com/cloudwatch/,開啟 CloudWatch 主控台。2. 選擇 Logs. (日誌)。3. 選擇您為線索指定的日誌群組。4. 選擇日誌串流名稱。5. 若要查看線索所記錄的事件詳細資訊,請選擇事件。

Note

主控台中的 Time (UTC) (時間 (UTC)) 欄會顯示事件傳送到您 log 群組的時間。CloudWatch若要查看 CloudTrail 記錄事件的實際時間,請查看 eventTime 欄位。

使用 CloudWatch Logs 設定 AWS CLI 監控您可以使用 AWS CLI,設定 CloudTrail 將事件傳送到 CloudWatch Logs 進行監控。

建立日誌群組

1. 如果您還沒有日誌群組,請使用 CloudWatch Logs CloudWatch Logs 命令,建立 create-log-group日誌群組做為日誌事件的交付端點。

aws logs create-log-group --log-group-name name

下列範例會建立名為 的日誌群組:CloudTrail/logs:

aws logs create-log-group --log-group-name CloudTrail/logs

2. 擷取日誌群組的 Amazon Resource Name (ARN)。

aws logs describe-log-groups

版本 1.0138

Page 144: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南傳送 事件到 CloudWatch Logs

建立角色

建立角色,讓啟用它的 CloudTrail 可以將事件傳送到 CloudWatch Logs 日誌群組。IAMcreate-role命令需要兩個參數:角色名稱及 JSON 格式之擔任角色政策文件的檔案路徑。您使用的政策文件會提供AssumeRole 許可給 CloudTrail. create-role 命令會建立具備必要許可的角色。

若要建立包含政策文件的 JSON 檔案,請開啟文字編輯器,然後將下列政策內容儲存在名為 的檔案中。assume_role_policy_document.json.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "sts:AssumeRole" } ]}

執行下列命令為 AssumeRole 建立具備 CloudTrail. 許可的角色。

aws iam create-role --role-name role_name --assume-role-policy-document file://<path to assume_role_policy_document>.json

當命令完成時,記下輸出中的角色 ARN。

建立政策文件

建立下列適用於 的角色政策文件。CloudTrail. 此文件會授予 CloudTrail 必要的許可,以在您指定的日誌群組中建立 CloudWatch Logs 日誌串流,並將 CloudTrail 事件交付到該日誌串流。

{ "Version": "2012-10-17", "Statement": [ {

"Sid": "AWSCloudTrailCreateLogStream2014110", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*" ]

}, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:accountID:log-group:log_group_name:log-stream:accountID_CloudTrail_region*"

版本 1.0139

Page 145: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南傳送 事件到 CloudWatch Logs

] } ]}

將政策文件儲存在名為 的檔案中。role-policy-document.json.

如果您正在建立也可用於組織線索的政策,您將需要做出稍微有些差異的設定。例如,以下政策會授予CloudTrail 許可,以在您指定的登入群組中建立 CloudWatch Logs 登入串流,並將 CloudTrail 事件交付給AWS 帳號 111111111111 中這兩種行程的 111111111111 事件,以及在 AWS Organizations 帳號中建立的組織資源,套用到 ID 為 的 組織 o-exampleorgid:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*", ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*", ] } ]}

如需組織線索的詳細資訊,請參閱建立組織的路徑 (p. 95).

執行下列命令將政策套用到角色。

aws iam put-role-policy --role-name role_name --policy-name cloudtrail-policy --policy-document file://<path to role-policy-document>.json

更新線索

使用 CloudTrail update-trail 命令,更新線索中的日誌群組和角色資訊。

aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn log_group_arn --cloud-watch-logs-role-arn role_arn

如需 AWS CLI 命令的詳細資訊,請參閱 AWS CloudTrail 命令列參考.

版本 1.0140

Page 146: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

Limitation每個 CloudWatch Logs 和 CloudWatch 活動 事件大小上限為 256 KB。雖然大多數服務事件的大小上限為 256 KB,但有些服務仍會有較大的事件。CloudTrail 不會將這些事件傳送到 CloudWatch Logs 或CloudWatch 活動。

從 CloudTrail 事件版本 1.05 開始,事件的大小上限為 256 KB。這是為了協助防止惡意行為者入侵,並允許其他 AWS 服務 (例如 CloudWatch Logs 和 CloudWatch 活動) 消耗事件。

使用 範本建立 警示在您設定您的線索將日誌檔案交付到您的 CloudWatch 日誌群組後,您就可以建立 CloudWatch 指標篩選條件及警示,監控日誌檔案中的事件。例如,您可以指定事件,例如 Amazon EC2 RunInstances 操作,讓 CloudWatch 在您帳戶發生事件時傳送通知。您可以分別建立您的篩選條件和警示,或使用 AWSCloudFormation 範本一次定義它們。

您可以依原樣使用範例 CloudFormation 範本,或將其做為參考來建立您自己的範本。

主題• 範例 CloudFormation 範本 (p. 141)• 使用範本建立 CloudFormation 堆疊 (p. 141)• CloudFormation 範本屬性 (p. 149)

範例 CloudFormation 範本範本具有預先定義的 CloudFormation 指標篩選條件和警示,讓您可以在 CloudWatch 帳號中發出特定安全相關 API 呼叫時收到電子郵件通知。AWS

範本位於下列位置,並位於 zip 檔案中: _Alarms_for_CloudTrail_API_Activity.zipCloudWatch。

範本會定義指標篩選條件,監控下列資源類型的建立、刪除和更新操作:

• Amazon EC2 執行個體• IAM 政策• 網際網路閘道• 網路 ACLs• 安全群組

當您的帳戶中發生 API 呼叫時,會有一個指標篩選條件監控該 API 呼叫。如果 API 呼叫超過您指定的閾值,這會觸發警示,而且 CloudWatch 會向您傳送電子郵件通知。

根據預設,範本中大部分的篩選條件都會在監控事件發生五分鐘內觸發警示。您可以針對自己的需求修改這些警示閾值。例如,您可以十分鐘為期監控三個事件。若要進行這些變更,請編輯範本,或在上傳範本後,在 CloudWatch 主控台中指定閾值。

Note

因為 CloudTrail 通常每 5 分鐘交付日誌檔案,所以請指定五分鐘或更長的警示期間。

若要查看範本中的指標篩選條件和警示,以及觸發電子郵件通知的 API 呼叫,請參閱「CloudFormation 範本屬性 (p. 149)」。

使用範本建立 CloudFormation 堆疊堆疊是一組相關資源,您可加以配置,並更新為單一單位。CloudFormation以下程序說明如何建立堆疊和驗證收到通知的電子郵件地址。

版本 1.0141

Page 147: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

使用範本建立 CloudFormation 堆疊

1. 設定您的線索將日誌檔案交付到您的 CloudWatch Logs 日誌群組。請參閱「傳送 事件到 CloudWatchLogs (p. 136)」。

2. 下載 CloudFormation 範本: _Alarms_for_CloudTrail_API_Activity.zipCloudWatch。3. 在 https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。4. 請選擇 Create Stack (建立堆疊)。

5. 在 Select Template (選取範本) 頁面上的 Name (名稱),輸入堆疊名稱。以下範例使用CloudWatchAlarmsForCloudTrail。

6. 針對 Source (來源),選擇 Upload a template to Amazon S3 (將範本上傳到 &S3;)。

版本 1.0142

Page 148: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

7. 選擇 Choose File (選擇檔案),然後選取您下載的 AWS CloudFormation 範本。8. 選擇 Next (下一步)。9. 在 Specify Parameters (指定參數) 頁面的 Email (電子郵件) 上,輸入接收通知的電子郵件地址。

10. 針對 LogGroupName,輸入當您設定 路徑以將 log 檔案交付至 CloudWatch Logs 時,您指定的 log 群組名稱。

版本 1.0143

Page 149: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

11. 選擇 Next (下一步)。12. 您可針對 Options (選項) 建立標籤,或設定其他進階選項。這些並非必要項目。

版本 1.0144

Page 150: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

13. 選擇 Next (下一步)。14. 在 Review (檢閱) 頁面中,確認您的設定是否正確。

版本 1.0145

Page 151: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

15. 選擇 Create (建立)。堆疊幾分鐘內就能建立。

16. 堆疊建立之後,您指定的地址會收到一封電子郵件。

版本 1.0146

Page 152: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

17. 在電子郵件中,選擇 Confirm subscription (確認訂閱)。範本指定的警示被觸發時,您會收到電子郵件通知。

當 API 呼叫變更 IAM 政策時會傳送以下範例通知,這會觸發指標警示。

版本 1.0147

Page 153: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

版本 1.0148

Page 154: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

CloudFormation 範本屬性下表顯示範本中的指標篩選條件和警示、其目的,以及觸發電子郵件通知的 API 呼叫。當您帳戶發生所列篩選條件的一或多個 API 呼叫時,就會觸發通知。

您可以在 CloudWatch 主控台中檢閱指標篩選條件或警示定義。

Amazon S3 儲存貯體事件

指標篩選條件和警示 監控和傳送通知: 一或多個以下 API 操作觸發的通知:

S3BucketChangesMetricFilter

S3BucketChangesAlarm

變更儲存貯體政策、生命循環、複寫或 ACLs 的 API呼叫。

PutBucketAcl

DeleteBucketPolicy

PutBucketPolicy

DeleteBucketLifecycle

PutBucketLifecycle

DeleteBucketReplication

PutBucketReplication

DeleteBucketCors

PutBucketCors

網路事件

指標篩選條件和警示 監控和傳送通知: 一或多個以下 API 操作觸發的通知:

SecurityGroupChangesMetricFilter

SecurityGroupChangesAlarm

建立、更新和刪除安全群組的 API 呼叫。

CreateSecurityGroup

DeleteSecurityGroup

AuthorizeSecurityGroupEgress

RevokeSecurityGroupEgress

AuthorizeSecurityGroupIngress

RevokeSecurityGroupIngress

NetworkAclChangesMetricFilter

NetworkAclChangesAlarm

建立、更新和移除網路 ACLs 的 API呼叫。

CreateNetworkAcl

DeleteNetworkAcl

CreateNetworkAclEntry

DeleteNetworkAclEntry

ReplaceNetworkAclAssociation

ReplaceNetworkAclEntry

GatewayChangesMetricFilter

GatewayChangesAlarm

建立、更新和刪除客戶及網際網路閘道的 API 呼叫。

CreateCustomerGateway

DeleteCustomerGateway

版本 1.0149

Page 155: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

指標篩選條件和警示 監控和傳送通知: 一或多個以下 API 操作觸發的通知:AttachInternetGateway

CreateInternetGateway

DeleteInternetGateway

DetachInternetGateway

VpcChangesMetricFilter

VpcChangesAlarm

建立、更新和刪除虛擬私有雲端(VPC)、VPC 對等連線和使用ClassicLink 連接到傳統 EC2 執行個體 VPC 的 API呼叫。

CreateVpc

DeleteVpc

ModifyVpcAttribute

AcceptVpcPeeringConnection

CreateVpcPeeringConnection

DeleteVpcPeeringConnection

RejectVpcPeeringConnection

AttachClassicLinkVpc

DetachClassicLinkVpc

DisableVpcClassicLink

EnableVpcClassicLink

Amazon EC2 事件

指標篩選條件和警示 監控和傳送通知: 一或多個以下 API 操作觸發的通知:

EC2InstanceChangesMetricFilter

EC2InstanceChangesAlarm

建立、終止、開始、停止和重新啟動 EC2 執行個體。

RebootInstances

RunInstances

StartInstances

StopInstances

TerminateInstances

EC2LargeInstanceChangesMetricFilter

EC2LargeInstanceChangesAlarm

建立、終止、開始、停止和重新啟動四倍及八倍大的EC2 執行個體。

至少下列 API 操作其中之一:

RebootInstances

RunInstances

StartInstances

StopInstances

TerminateInstances

以及至少下列執行個體類型其中之一:

instancetype=*.4xlarge

版本 1.0150

Page 156: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 範本建立 警示

指標篩選條件和警示 監控和傳送通知: 一或多個以下 API 操作觸發的通知:instancetype=*.8xlarge

CloudTrail 和 IAM 事件

指標篩選條件和警示 監控和傳送通知: 一或多個以下 API 操作觸發的通知:

CloudTrailChangesMetricFilter

CloudTrailChangesAlarm

建立、刪除和更新線索。啟動和停止記錄線索的出現次。

CreateTrail

DeleteTrail

StartLogging

StopLogging

UpdateTrail

ConsoleSignInFailuresMetricFilter

ConsoleSignInFailuresAlarm

主控台登入故障 eventName是ConsoleLogin

errorMessage 是「身份驗證失敗」

AuthorizationFailuresMetricFilter

AuthorizationFailuresAlarm

授權失敗 造成錯誤碼的任何 API 呼叫:AccessDenied

*UnauthorizedOperation.

IAMPolicyChangesMetricFilter

IAMPolicyChangesAlarm

IAM 政策的變更 AttachGroupPolicy

DeleteGroupPolicy

DetachGroupPolicy

PutGroupPolicy

CreatePolicy

DeletePolicy

CreatePolicyVersion

DeletePolicyVersion

AttachRolePolicy

DeleteRolePolicy

DetachRolePolicy

PutRolePolicy

AttachUserPolicy

DeleteUserPolicy

DetachUserPolicy

版本 1.0151

Page 157: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示:範例

指標篩選條件和警示 監控和傳送通知: 一或多個以下 API 操作觸發的通知:PutUserPolicy

建立 CloudWatch 事件的 CloudTrail 警示:範例本主題描述如何設定 CloudTrail 事件的警示,以及包含範例。

Note

您可以使用 AWS CloudFormation 範本立即建立下列指標篩選條件和警示範例,而不需要手動建立它們。如需詳細資訊,請參閱 使用 範本建立 警示 (p. 141).

主題• Prerequisites (p. 152)• 建立指標篩選條件並建立警示 (p. 152)• 範例:安全群組組態變更 (p. 152)• 範例:主控台登入失敗 (p. 154)• 範例:IAM 政策變更 (p. 155)

Prerequisites您必須執行下列作業,才能使用此主題中的範例:

• 使用主控台或 CLI 建立追蹤記錄。• 建立 log 群組,您可以在建立路徑時這樣做。• 指定或建立 IAM 角色以將下列許可授予 CloudTrail:在您指定的日誌群組中建立 CloudWatch Logs 日誌串

流,以及將 CloudTrail 事件傳送至該日誌串流。預設 CloudTrail_CloudWatchLogs_Role 會為您妥善處理。

如需詳細資訊,請參閱 傳送 事件到 CloudWatch Logs (p. 136). 本節中的範例會在 Amazon CloudWatchLogs 主控台中執行。如需如何建立指標篩選條件和警示的詳細資訊,請查看《 使用者指南》中的使用篩選條件建立指標CloudWatch和使用 Amazon 警示Amazon CloudWatch。

建立指標篩選條件並建立警示若要建立警示,您必須先建立指標篩選條件,然後根據篩選條件來設定警示。所有範例都會顯示此程序。如需 CloudTrail log 事件指標篩選條件和模式的語法詳細資訊,請前往 https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html 中的 Filter and pattern syntax (篩選條件和模式語法)Amazon CloudWatch Logs User Guide 相關 JSON 區段。

範例:安全群組組態變更遵循此程序,以建立在安全群組上發生組態變更時觸發的 Amazon CloudWatch 警示。

建立指標篩選條件

1. 前往 https://console.aws.amazon.com/cloudwatch/,開啟 CloudWatch 主控台。2. 在導覽窗格中,選擇 Logs (日誌).3. 在日誌群組清單中,選擇您針對 CloudTrail 日誌事件所建立之日誌群組。4. 選擇 Actions (動作),然後選擇 Create metric filter (建立指標篩選條件)。5. 在 Define pattern (定義模式) 頁面的 Create filter pattern (建立篩選條件模式) 中,針對 Filter

pattern (篩選條件模式) 輸入以下資訊。

版本 1.0152

Page 158: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示:範例

{ ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }

6. 在 Test pattern (測試模式) 中,保留預設值。選擇 Next. (下一步)。7. 在 Assign metric (指派指標) 頁面上,針對 Filter name (篩選條件名稱) 輸入

SecurityGroupEvents。8. 在 Metric details (指標詳細資訊) 中,打開 Create new (新建),然後在 Metric namespace (指標

命名空間)CloudTrailMetrics 中輸入。9. 針對 Metric name (指標名稱),輸入 SecurityGroupEventCount。10. 針對 Metric value (指標值),輸入 1。11. 將 Default value (預設值) 保留空白。12. 選擇 Next. (下一步)。13. 在 Review and create (檢視和建立) 頁面上,檢視您的選項。選擇 Create metric filter (建立指標篩

選條件) 來建立篩選條件,或選擇 Edit (編輯) 返回並變更值。

建立警示

在您建立指標篩選條件之後,CloudWatch Logs 尾端登入群組的 CloudTrail log 群組詳細資訊頁面會打開。請遵循此程序來建立警示。

1. 在 Metric filters (指標篩選條件) 標籤上,尋找您在the section called “建立指標篩選條件” (p. 152)中建立的指標篩選條件。填寫指標篩選條件的核取方塊。在 Metric filters (指標篩選條件) 列中,選擇Create alarm (建立警示)。

2. 在 Create Alarm (建立警示) 頁面的 Specify metric and conditions (指定指標和條件) 中,輸入以下資訊。

a. 對於 Graph (圖形),行是根據您在建立警示時所做的其他設定在 1 中設定。b. 針對 Metric name (指標名稱),保留目前的指標名稱 SecurityGroupEventCount。c. 針對 Statistic (統計資料),保留預設值 Sum。d. 針對 Period (期間),保留預設值 5 minutes。e. 在 Conditions (條件) 中,針對 Threshold type (閾值類型),選擇 Static (靜態)。f. 適用於 Whenever (每當) metric_name 是,選擇 Greater/Equal (大於/等於)。g. 針對 Threshold (閾值),輸入 1。h. 在 Additional configuration (其他組態) 中,保留預設值。選擇 Next. (下一步)。i.

3. 在 Configure actions (設定動作) 頁面上,選擇 In alarm (在警示中),這表示在超過 5 分鐘時,有1 個變更事件的閾值,且 為警示狀態時,將會執行動作。SecurityGroupEventCount

a. 針對 Select an SNS topic (選取 SNS 主題),選擇 Create new (新建)。b. 輸入 SecurityGroupChanges_CloudWatch_Alarms_Topic 做為新 主題的名稱。Amazon SNSc. 在 Email endpoints will notification (電子郵件端點會接收通知) 中,輸入您希望在發出此警示時

接收到通知的使用者電子郵件地址。以逗號分隔電子郵件地址。

此處指定的電子郵件收件人會收到要求他們確認想要訂用 Amazon SNS 主題的電子郵件。d. 請選擇 Create topic. (建立主題)。

4. 在此範例中,略過其他動作類型。選擇 Next. (下一步)。5. 在 Add name and description (新增名稱和描述) 頁面上,輸入警示的易記名稱及描述。在此範例中,

為名稱輸入 Security group configuration changes,並為描述輸入 Raises alarms ifsecurity group configuration changes occur。選擇 Next. (下一步)。

版本 1.0153

Page 159: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示:範例

6. 在 Preview and create (預覽和建立) 頁面上,檢視您的選擇。選擇 Edit (編輯) 來進行變更,或選擇 Create alarm (建立警示) 來建立警示。

在您建立警示後,CloudWatch 會打開 Alarms (警示) 頁面。警示的 Actions (動作) 欄會顯示Pending confirmation (待定確認),直到 SNS 主題上的所有電子郵件收件人都確認想要訂用 SNS 通知。

範例:主控台登入失敗遵循此程序,以建立在五分鐘期間發生三個或更多 Amazon CloudWatch 登入失敗時觸發的 AWS 管理主控台 警示。

建立指標篩選條件

1. 前往 https://console.aws.amazon.com/cloudwatch/,開啟 CloudWatch 主控台。2. 在導覽窗格中,選擇 Logs (日誌).3. 在日誌群組清單中,選擇您針對 CloudTrail 日誌事件所建立之日誌群組。4. 選擇 Actions (動作),然後選擇 Create metric filter (建立指標篩選條件)。5. 在 Define pattern (定義模式) 頁面的 Create filter pattern (建立篩選條件模式) 中,針對 Filter

pattern (篩選條件模式) 輸入以下資訊。

{ ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }

6. 在 Test pattern (測試模式) 中,保留預設值。選擇 Next. (下一步)。7. 在 Assign metric (指派指標) 頁面上,針對 Filter name (篩選條件名稱),輸入

ConsoleSignInFailures。8. 在 Metric details (指標詳細資訊) 中,打開 Create new (建立新項目),然後在 Metric namespace

(指標命名空間)CloudTrailMetrics 中輸入。9. 針對 Metric name (指標名稱),輸入 ConsoleSigninFailureCount。10. 針對 Metric value (指標值),輸入 1。11. 將 Default value (預設值) 保留空白。12. 選擇 Next. (下一步)。13. 在 Review and create (檢視和建立) 頁面上,檢視您的選項。選擇 Create metric filter (建立指標篩

選條件) 來建立篩選條件,或選擇 Edit (編輯) 返回並變更值。

建立警示建立指標篩選條件之後,CloudWatch Logs 尾端登入群組的 CloudTrail log 群組詳細資訊頁面會打開。請遵循此程序來建立警示。

1. 在 Metric filters (指標篩選條件) 標籤上,尋找您在the section called “建立指標篩選條件” (p. 154)中建立的指標篩選條件。填寫指標篩選條件的核取方塊。在 Metric filters (指標篩選條件) 列中,選擇Create alarm (建立警示)。

2. 在 Create Alarm (建立警示) 頁面的 Specify metric and conditions (指定指標和條件) 中,輸入以下資訊。

a. 對於 Graph (圖形),行是根據您在建立警示時所做的其他設定在 3 中設定。b. 針對 Metric name (指標名稱),保留目前的指標名稱 ConsoleSigninFailureCount。c. 針對 Statistic (統計資料),保留預設值 Sum。d. 針對 Period (期間),保留預設值 5 minutes。e. 在 Conditions (條件) 中,針對 Threshold type (閾值類型),選擇 Static (靜態)。f. 適用於 Whenever (每當) metric_name 是,選擇 Greater/Equal (大於/等於)。

版本 1.0154

Page 160: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示:範例

g. 針對 Threshold (閾值),輸入 3。h. 在 Additional configuration (其他組態) 中,保留預設值。選擇 Next. (下一步)。i.

3. 在 Configure actions (設定動作) 頁面上,選擇 In alarm (在警示中),這表示當超過 5 分鐘的事件中的 3 個變更閾值,且 為警示狀態時,將會執行動作。ConsoleSigninFailureCount

a. 針對 Select an SNS topic (選取 SNS 主題),選擇 Create new (新建)。b. 輸入 _ConsoleSignInFailuresCloudWatchCloudWatch 做為新 主題的名稱。Amazon SNSc. 在 Email endpoints will notification (電子郵件端點會接收通知) 中,輸入您希望在發出此警示時

接收到通知的使用者電子郵件地址。以逗號分隔電子郵件地址。

此處指定的電子郵件收件人會收到要求他們確認想要訂用 Amazon SNS 主題的電子郵件。d. 請選擇 Create topic. (建立主題)。

4. 在此範例中,略過其他動作類型。選擇 Next. (下一步)。5. 在 Add name and description (新增名稱和描述) 頁面上,輸入警示的易記名稱及描述。在此範例中,

為名稱輸入 Console sign-in failures,並為描述輸入 Raises alarms if more than 3console sign-in failures occur in 5 minutes。選擇 Next. (下一步)。

6. 在 Preview and create (預覽和建立) 頁面上,檢視您的選擇。選擇 Edit (編輯) 來進行變更,或選擇 Create alarm (建立警示) 來建立警示。

在您建立警示後,CloudWatch 會打開 Alarms (警示) 頁面。警示的 Actions (動作) 欄會顯示Pending confirmation (待定確認),直到 SNS 主題上的所有電子郵件收件人都確認想要訂用 SNS 通知。

範例:IAM 政策變更遵循此程序,以建立在進行 API 呼叫來變更 Amazon CloudWatch 政策時觸發的 IAM 警示。

建立指標篩選條件

1. 前往 https://console.aws.amazon.com/cloudwatch/,開啟 CloudWatch 主控台。2. 在導覽窗格中,選擇 Logs (日誌).3. 在日誌群組清單中,選擇您針對 CloudTrail 日誌事件所建立之日誌群組。4. 選擇 Actions (動作),然後選擇 Create metric filter (建立指標篩選條件)。5. 在 Define pattern (定義模式) 頁面的 Create filter pattern (建立篩選條件模式) 中,針對 Filter

pattern (篩選條件模式) 輸入以下資訊。

{($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)||($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)||($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)||($.eventName=CreatePolicy)||($.eventName=DeletePolicy)||($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)||($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)||($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||($.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}

6. 在 Test pattern (測試模式) 中,保留預設值。選擇 Next. (下一步)。7. 在 Assign metric (指派指標) 頁面上,針對 Filter name (篩選條件名稱),輸入

IAMPolicyChanges。8. 在 Metric details (指標詳細資訊) 中,打開 Create new (建立新項目),然後在 Metric namespace

(指標命名空間)CloudTrailMetrics 中輸入。9. 針對 Metric name (指標名稱),輸入 IAMPolicyEventCount。10. 針對 Metric value (指標值),輸入 1。

版本 1.0155

Page 161: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示: 其他範例

11. 將 Default value (預設值) 保留空白。12. 選擇 Next. (下一步)。13. 在 Review and create (檢視和建立) 頁面上,檢視您的選項。選擇 Create metric filter (建立指標篩

選條件) 來建立篩選條件,或選擇 Edit (編輯) 返回並變更值。

建立警示

建立指標篩選條件之後,CloudWatch Logs 尾端登入群組的 CloudTrail log 群組詳細資訊頁面會打開。請遵循此程序來建立警示。

1. 在 Metric filters (指標篩選條件) 標籤上,尋找您在the section called “建立指標篩選條件” (p. 155)中建立的指標篩選條件。填寫指標篩選條件的核取方塊。在 Metric filters (指標篩選條件) 列中,選擇Create alarm (建立警示)。

2. 在 Create Alarm (建立警示) 頁面的 Specify metric and conditions (指定指標和條件) 中,輸入以下資訊。

a. 對於 Graph (圖形),行是根據您在建立警示時所做的其他設定在 1 設定。b. 針對 Metric name (指標名稱),保留目前的指標名稱 IAMPolicyEventCount。c. 針對 Statistic (統計資料),保留預設值 Sum。d. 針對 Period (期間),保留預設值 5 minutes。e. 在 Conditions (條件) 中,針對 Threshold type (閾值類型),選擇 Static (靜態)。f. 適用於 Whenever (每當) metric_name 是,選擇 Greater/Equal (大於/等於)。g. 針對 Threshold (閾值),輸入 1。h. 在 Additional configuration (其他組態) 中,保留預設值。選擇 Next. (下一步)。i.

3. 在 Configure actions (設定動作) 頁面上,選擇 In alarm (在警示中),這表示在超過 5 分鐘 1 個變更事件的閾值,且 IAMPolicyEventCount 為警示狀態時,將會執行動作。

a. 針對 Select an SNS topic (選取 SNS 主題),選擇 Create new (新建)。b. 輸入 IAM_Policy_Changes_CloudWatch_Alarms_Topic 做為新 Amazon SNS 主題的名稱。c. 在 Email endpoints will notification (電子郵件端點會接收通知) 中,輸入您希望在發出此警示時

接收到通知的使用者電子郵件地址。以逗號分隔電子郵件地址。

此處指定的電子郵件收件人會收到要求他們確認想要訂用 Amazon SNS 主題的電子郵件。d. 請選擇 Create topic. (建立主題)。

4. 在此範例中,略過其他動作類型。選擇 Next. (下一步)。5. 在 Add name and description (新增名稱和描述) 頁面上,輸入警示的易記名稱及描述。在此範例中,

為名稱輸入 IAM Policy Changes,並為描述輸入 Raises alarms if IAM policy changesoccur。選擇 Next. (下一步)。

6. 在 Preview and create (預覽和建立) 頁面上,檢視您的選擇。選擇 Edit (編輯) 來進行變更,或選擇 Create alarm (建立警示) 來建立警示。

在您建立警示後,CloudWatch 會打開 Alarms (警示) 頁面。警示的 Actions (動作) 欄會顯示Pending confirmation (待定確認),直到 SNS 主題上的所有電子郵件收件人都確認想要訂用 SNS 通知。

建立 CloudWatch 事件的 CloudTrail 警示: 其他範例AWS Identity and Access Management (IAM) 最佳實務建議您不要使用根帳戶登入資料來存取 AWS。反之,您應該建立個別 IAM 使用者,讓您可以授予每個使用者一組唯一的安全登入資料。最佳實務也建議您IAM 對允許存取敏感資源或 的 IAM 使用者支援多重驗證 (MFA) 。APIs

版本 1.0156

Page 162: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示: 其他範例

您可以監控 AWS 帳戶中的活動是否遵守這些最佳實務,方法是建立 CloudWatch 警示,以在使用根帳戶登入資料存取 AWS 時,或在發生不使用 MFA 的 API 活動或主控台登入時通知您。本文件將說明這些警示。

設定警示包含兩個主要步驟:

• 建立指標篩選條件• 根據篩選條件建立警示

主題• 範例:監控根用量 (p. 157)• 範例:監控不使用 Multi-Factor Authentication (MFA) 的 API 活動 (p. 159)• 範例:監控不使用 Multi-Factor Authentication (MFA) 的主控台登入 (p. 162)

範例:監控根用量此案例會逐步解說如何使用 AWS 管理主控台,建立要在使用根 (帳戶) 登入資料時觸發的 AmazonCloudWatch 警示。

建立指標篩選條件

1. 前往 https://console.aws.amazon.com/cloudwatch/,開啟 CloudWatch 主控台。2. 在導覽窗格中,選擇日誌。3. 在日誌群組清單中,選取您針對 CloudTrail 日誌事件所建立之日誌群組旁的核取方塊。4. 選擇 Create Metric Filter (建立指標篩選條件)。5. 在 Define Logs Metric Filter (定義日誌指標篩選條件) 畫面上,選擇 Filter Pattern (篩選條件模式),然後

輸入下列命令:

{ $.userIdentity.type = "Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType != "AwsServiceEvent" }

Note

如需 CloudTrail 日誌事件指標篩選條件和模式之語法的詳細資訊,請參閱 AmazonCloudWatch 使用者指南中篩選條件和模式語法的 JSON 相關小節。

6. 選擇 Assign Metric (指派指標),然後在 Create Metric Filter and Assign a Metric (建立指標篩選條件並指派指標) 畫面的 Filter Name (篩選條件名稱) 方塊中,輸入 RootAccountUsage。

7. 在 Metric Details (指標詳細資訊) 下的 Metric Namespace (指標命名空間) 方塊中,輸入CloudTrailMetrics。

8. 在 Metric Name (指標名稱) 欄位中,輸入 RootAccountUsageCount。9. 選擇 Metric Value (指標值),然後輸入 1。

Note

如果 Metric Value (指標值) 未顯示,請先選擇 Show advanced metric settings (顯示進階指標設定)。

10. 完成時,選擇 Create Filter (建立篩選條件)。

建立警示

這些步驟是上述用於建立指標篩選條件之步驟的延續。

1. 在 的篩選條件上 Log_Group_Name 頁面,選擇篩選條件名稱旁的 Create Alarm (建立警示)。

版本 1.0157

Page 163: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示: 其他範例

2. 在 Create Alarm (建立警示) 頁面上,提供下列值:

版本 1.0158

Page 164: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示: 其他範例

設定 數值

根帳戶用量

>=1

1

5 分鐘

總和

在 Select a notification list (選取通知清單) 方塊附近,選擇 New list(新清單),然後輸入清單的唯一主題名稱。

選擇 Email list (電子郵件清單),然後輸入您要收到通知的電子郵件地址。(您會收到一封這個地址的電子郵件,確認您已建立此警示)。

3. 完成時,選擇 Create Alarm (建立警示)。

範例:監控不使用 Multi-Factor Authentication (MFA) 的 API 活動此案例會逐步解說如何使用 AWS 管理主控台,建立要在不使用多重因素認證 (MFA) 進行 API 呼叫時觸發的Amazon CloudWatch 警示。

建立指標篩選條件

1. 前往 https://console.aws.amazon.com/cloudwatch/,開啟 CloudWatch 主控台。2. 在導覽窗格中,選擇日誌。3. 在日誌群組清單中,選取您針對 CloudTrail 日誌事件所建立之日誌群組旁的核取方塊。4. 選擇 Create Metric Filter (建立指標篩選條件)。5. 在 Define Logs Metric Filter (定義日誌指標篩選條件) 畫面上,選擇 Filter Pattern (篩選條件模式),然後

輸入下列命令:

{ $.userIdentity.sessionContext.attributes.mfaAuthenticated != "true" }

Note

如需 CloudTrail 日誌事件指標篩選條件和模式之語法的詳細資訊,請參閱 AmazonCloudWatch 使用者指南中篩選條件和模式語法的 JSON 相關小節。

6. 選擇 Assign Metric (指派指標),然後在 Create Metric Filter and Assign a Metric (建立指標篩選條件並指派指標) 畫面的 Filter Name (篩選條件名稱) 方塊中,輸入 ApiActivityWithoutMFA。

7. 在 Metric Details (指標詳細資訊) 下的 Metric Namespace (指標命名空間) 方塊中,輸入CloudTrailMetrics。

8. 在 Metric Name (指標名稱) 方塊中,輸入 ApiActivityWithoutMFACount。9. 選擇 Metric Value (指標值),然後輸入 1。

版本 1.0159

Page 165: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示: 其他範例

Note

如果 Metric Value (指標值) 未顯示,請先選擇 Show advanced metric settings (顯示進階指標設定)。

10. 完成時,選擇 Create Filter (建立篩選條件)。

建立警示

這些步驟是上述用於建立指標篩選條件之步驟的延續。

1. 在 的篩選條件上 Log_Group_Name 頁面,選擇篩選條件名稱旁的 Create Alarm (建立警示)。2. 在 Create Alarm (建立警示) 頁面上,提供下列值:

版本 1.0160

Page 166: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示: 其他範例

版本 1.0161

Page 167: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示: 其他範例

設定 數值

不使用 MFA 的 API 活動

>=1

1

5 分鐘

總和

在 Select a notification list (選取通知清單) 方塊附近,選擇 New list(新清單),然後輸入清單的唯一主題名稱。

選擇 Email list (電子郵件清單),然後輸入您要收到通知的電子郵件地址。(您會收到一封這個地址的電子郵件,確認您已建立此警示)。

3. 完成時,選擇 Create Alarm (建立警示)。

範例:監控不使用 Multi-Factor Authentication (MFA) 的主控台登入此案例會逐步解說如何使用 AWS 管理主控台,建立要在不使用多重因素認證來登入主控台時觸發的Amazon CloudWatch 警示。

建立指標篩選條件

1. 前往 https://console.aws.amazon.com/cloudwatch/,開啟 CloudWatch 主控台。2. 在導覽窗格中,選擇日誌。3. 在日誌群組清單中,選取您針對 CloudTrail 日誌事件所建立之日誌群組旁的核取方塊。4. 選擇 Create Metric Filter (建立指標篩選條件)。5. 在 Define Logs Metric Filter (定義日誌指標篩選條件) 畫面上,選擇 Filter Pattern (篩選條件模式),然後

輸入下列命令:

{ $.eventName = "ConsoleLogin" && $.additionalEventData.MFAUsed = "No" }

Note

如需 CloudTrail 日誌事件指標篩選條件和模式之語法的詳細資訊,請參閱 AmazonCloudWatch 使用者指南中篩選條件和模式語法的 JSON 相關小節。

6. 選擇 Assign Metric (指派指標),然後在 Create Metric Filter and Assign a Metric (建立指標篩選條件並指派指標) 畫面的 Filter Name (篩選條件名稱) 方塊中,輸入 ConsoleSignInWithoutMfa。

7. 在 Metric Details (指標詳細資訊) 下的 Metric Namespace (指標命名空間) 方塊中,輸入CloudTrailMetrics。

8. 在 Metric Name (指標名稱) 欄位中,輸入 ConsoleSignInWithoutMfaCount。9. 選擇 Metric Value (指標值),然後輸入 1。

版本 1.0162

Page 168: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示: 其他範例

Note

如果 Metric Value (指標值) 未顯示,請先選擇 Show advanced metric settings (顯示進階指標設定)。

10. 完成時,選擇 Create Filter (建立篩選條件)。

範例:建立警示

這些步驟是上述用於建立指標篩選條件之步驟的延續。

1. 在 的篩選條件上 Log_Group_Name 頁面,選擇篩選條件名稱旁的 Create Alarm (建立警示)。2. 在 Create Alarm (建立警示) 頁面上,提供下列值:

版本 1.0163

Page 169: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立 CloudWatch 事件的 CloudTrail 警示: 其他範例

版本 1.0164

Page 170: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南設定 CloudWatch Logs 警示的通知

設定 數值

不使用 MFA 的主控台登入

1

1

5 分鐘

總和

在 Select a notification list (選取通知清單) 方塊附近,選擇 New list(新清單),然後輸入清單的唯一主題名稱。

選擇 Email list (電子郵件清單),然後輸入您要收到通知的電子郵件地址。(您會收到一封這個地址的電子郵件,確認您已建立此警示)。

3. 完成時,選擇 Create Alarm (建立警示)。

設定 CloudWatch Logs 警示的通知您可以設定 CloudWatch Logs 在每次 CloudTrail 警示觸發時傳送通知。這可讓您快速回應在 CloudTrail 事件中擷取到和 CloudWatch Logs 偵測到的重要操作事件。CloudWatch 使用 Amazon Simple NotificationService (SNS) 傳送電子郵件。如需更多詳細資訊,請參閱 CloudWatch 開發人員指南中的設定 AmazonSNS。

停止 CloudTrail 將事件傳送至 CloudWatch Logs您可以更新路徑來停用 AWS CloudTrail 設定,以停止將 Amazon CloudWatch Logs 事件傳送至 CloudWatchLogs。

停止傳送事件至 CloudWatch Logs (主控台)

停止將 CloudTrail 事件傳送至CloudWatch Logs

1. 登入 AWS 管理主控台並在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。2. 在導覽窗格中,選擇 Trails (追蹤記錄)。3. 選擇您要停用 CloudWatch Logs 整合的路徑名稱。4. 在 CloudWatch Logs 中,選擇 Edit (編輯)。5. 在 Update bround (更新結尾) 頁面的 CloudWatch Logs 中,清除 Enabled (允許存取) 核取方塊。6. 選擇 Update path (更新結尾) 以儲存變更。

停止將事件傳送到 CloudWatch Logs (CLI)您可以執行 CloudWatch Logs 命令,將 update-trail log 群組移除為交付端點。 (p. 79)以下命令會將 log 群組ARN 和 CloudWatch Logs 角色 ARN 的值取代為空白值,以從尾端組態清除 log 群組和角色。

版本 1.0165

Page 171: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南的 日誌群組和日誌串流命名

aws cloudtrail update-trail --name trail_name --cloud-watch-logs-log-group-arn="" --cloud-watch-logs-role-arn=""

的 日誌群組和日誌串流命名Amazon CloudWatch 會顯示您為 CloudTrail 事件建立的日誌群組,以及您在區域中的任何其他日誌群組。建議您使用日誌群組名稱,協助您輕鬆地區別不同的日誌群組。例如,CloudTrail/logs。 登入群組名稱長度可以介於 1 到 512 個字元之間。可用的字元為 a-z、A-Z、0-9、'_' (底線)、'-' (連字號)、'/' (正斜線) 和'.' (句點)。

當 CloudTrail 為 log 群組建立 log 串流時,它會根據以下格式命名 log 串流:account_ID_CloudTrail_source_region.

Note

如果 CloudTrail 日誌數量很大,則可以建立多個日誌串流,將日誌資料交付至您的日誌群組。

讓 CloudTrail 使用 CloudWatch Logs 監控的角色政策文件本節說明 CloudTrail 角色向 CloudWatch Logs 傳送日誌事件的必要信任政策。當您設定 CloudTrail 傳送事件時,可以將政策文件連接至角色,如 傳送 事件到 CloudWatch Logs (p. 136) 中的說明。您也可以使用IAM 建立角色。如需更多詳細資訊,請參閱建立 AWS 服務的角色 (AWS 管理主控台)或建立角色 (CLI 和API)。

以下範例政策文件包含在您指定的登入群組中建立 CloudWatch Log 串流所需的許可,以及將 CloudTrail 事件交付至在 美國東部 (俄亥俄) 區域中登入的串流。(這是用於預設 IAM 角色CloudTrail_CloudWatchLogs_Role 的預設政策。)

{ "Version": "2012-10-17", "Statement": [ {

"Sid": "AWSCloudTrailCreateLogStream2014110", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:accountID:log-group:log_group_name:log-stream:CloudTrail_log_stream_name_prefix*" ]

}, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:accountID:log-group:log_group_name:log-stream:CloudTrail_log_stream_name_prefix*" ] } ]

版本 1.0166

Page 172: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南從多個帳戶接收 CloudTrail 日誌檔案

}

如果您建立可能也會用於組織線索的政策,則您將需要從該角色原已建的預設政策中開始修改。例如,以下政策會授予 CloudTrail 在指定做為 CloudWatch Logs 值的 log 群組中建立 串流所需的許可 log_group_name,並將 CloudTrail 事件交付至 AWS 帳號 111111111111 中的這兩個路徑,以及111111111111 帳號中建立並適用於 ID 為 AWS Organizations 之 組織的組織資源 o-exampleorgid:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/log_group_name:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/log_group_name:log-stream:o-exampleorgid_*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/log_group_name:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/log_group_name:log-stream:o-exampleorgid_*" ] } ]}

如需組織線索的詳細資訊,請參閱建立組織的路徑 (p. 95)。

從多個帳戶接收 CloudTrail 日誌檔案您可以讓 CloudTrail 將多個 AWS 帳戶的日誌檔案交付到單一 Amazon S3 儲存貯體。例如,您有四個 AWS帳號為 IDs 111111111111、222222222222、333333333333 和 444444444444 的 CloudTrail 帳號,而且您希望設定 ,將全部這四個帳號中的 111111111111 檔案交付給屬於帳號 的儲存貯體。為了達成這個目標,請依序完成下列步驟:

1. 在目標儲存貯體所屬的帳戶 (在此範例中為 ) 開啟 。此時還不要在任何其他帳戶開啟 CloudTrail。

如需說明,請參閱建立路徑 (p. 62)。2. 更新您目標儲存貯體上的儲存貯體政策,授予 CloudTrail 跨帳戶許可。

如需說明,請參閱設定多帳戶的儲存貯體政策 (p. 168)。3. 在您想要的其中帳戶中開啟 CloudTrail (在此範例中為 222222222222、333333333333、與

444444444444)。設定這些帳戶中的 CloudTrail 使用屬於您在步驟 1 中指定之帳戶 (在此範例中為111111111111) 的相同儲存貯體。

版本 1.0167

Page 173: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南設定多帳戶的儲存貯體政策

如需說明,請參閱在其他帳戶開啟 CloudTrail (p. 169)。

主題• 設定多帳戶的儲存貯體政策 (p. 168)• 在其他帳戶開啟 CloudTrail (p. 169)

設定多帳戶的儲存貯體政策儲存貯體若要接收多個帳戶的日誌檔案,其儲存貯體政策必須授予 CloudTrail 許可,從您指定的所有帳戶寫入日誌檔案。這表示您必須修改目標儲存貯體的儲存貯體政策,授予從各指定帳戶寫入日誌檔案的CloudTrail 許可。

Note

基於安全考量,未經授權的使用者無法建立包含 AWSLogs/ 做為 S3KeyPrefix 參數的結尾。

修改儲存貯體許可,以便從多個帳戶接收檔案

1. 使用擁有儲存貯體的帳戶登入 AWS 管理主控台 (本例中為 111111111111),然後開啟 Amazon S3 主控台。

2. 選擇 CloudTrail 交付您日誌檔案的儲存貯體,然後選擇 Properties (屬性)。3. 選擇 Permissions (許可)。4. 選擇 Edit Bucket Policy (編輯儲存貯體政策)。5. 修改現有的政策,為每個想要將其日誌檔案交付到這個儲存貯體的其他帳戶新增程式碼。請參閱下列範

例政策,並注意指定第二個帳戶 ID 加底線的 Resource 行。

Note

AWS 帳戶 ID 是 12 位數的號碼,開頭的零不得省略。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20131101", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::myBucketName" }, { "Sid": "AWSCloudTrailWrite20131101", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::myBucketName/[optional] myLogFilePrefix/AWSLogs/111111111111/*", "arn:aws:s3:::myBucketName/[optional] myLogFilePrefix/AWSLogs/222222222222/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" }

版本 1.0168

Page 174: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在其他帳戶開啟 CloudTrail

} } ]}

在其他帳戶開啟 CloudTrail您可以使用主控台或命令列界面,在其他 CloudTrail 帳戶開啟 AWS

使用主控台在其他 CloudTrail 帳戶開啟 AWS您可以使用 CloudTrail 主控台在其他帳戶開啟 CloudTrail

1. 使用 AWS 帳戶登入資料登入 222222222222 管理主控台,並開啟 AWS CloudTrail 主控台。在導覽列中,選取您要開啟 的區域。CloudTrail.

2. 選擇 Get Started Now (立即開始).3. 在接下來的頁面中,於 Trail name (訓練) 方塊中輸入結尾的名稱。4. 針對 Create a new S3 bucket? (是否建立新的 S3 儲存貯體?),選擇 No (否)。 當您使用帳

號 111111111111 登入資料登入時,使用文字方塊中輸入您先前建立的 儲存貯體名稱來存放 log 檔案。CloudTrail 會顯示一個警告,要求您確定您想要在其他帳號中指定 S3 儲存貯體。驗證您輸入之儲存貯體的名稱。

5. 選擇 Advanced (進階).6. 在 Log file prefix (登入檔案字首) 欄位中,輸入您在使用帳號 CloudTrail 登入資料打開

111111111111 時將存放登入檔案輸入的相同字首。如果您選擇使用的前綴與在第一個帳戶開啟CloudTrail 時所輸入的前綴不同,則必須編輯目標儲存貯體上的儲存貯體政策,以允許 CloudTrail 使用這個新前綴將日誌檔案寫入儲存貯體。

7. (選用) 針對 SNS notification for every log file delivery? (每次日誌檔案交付後傳送 SNS 通知?) 選擇Yes (是) 或 No. (否)。如果您選擇 Yes (是),則請在 Amazon SNSSNS topic (new) field (SNS 主題 (新增)) 欄位中輸入 . 主題的名稱。

Note

Amazon SNS 是區域服務,所以如果您選擇建立主題,該主題會存在於您開場 CloudTrail 的相同區域中。如果您有套用至所有區域的線索,只要您有正確的政策套用至主題,就可以挑選任何區域中的 Amazon SNS 主題。如需詳細資訊,請參閱 Amazon SNS適用於 的 主題政策CloudTrail (p. 225).

8. 選擇 Turn On. (開啟)。

CloudTrail 會開始發布 log 檔案,顯示在此區域中您帳號中發生的 AWS 呼叫。CloudTrail 通常在 API 呼叫的平均 15 分鐘之間提供對數。不保證此時間。如需詳細資訊,請檢視 服務水準協議AWS CloudTrail。

使用 CLI 在其他 CloudTrail 帳戶開啟 AWS您可以使用 AWS 命令列工具在其他帳戶開啟 CloudTrail,並將其日誌檔案彙總到一個 Amazon S3 儲存貯體。如需這些工具的詳細資訊,請前往 AWS Command Line Interface 使用者指南。

若要使用 CloudTrail 命令在其他帳戶開啟 create-trail,請指定以下內容:

• --name 指定線索的名稱。• --s3-bucket-name 指定您在第一個帳戶 (此範例為 Amazon S3) 開啟 CloudTrail 時所建立的現有

111111111111 儲存貯體。• --s3-prefix 指定日誌檔案交付路徑的前綴 (選用)。

版本 1.0169

Page 175: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南在 AWS 帳戶之間共享 CloudTrail 日誌檔案

• --is-multi-region-trail 指定此線索會記錄所有 AWS 區域中的事件。

不同於使用主控台建立的線索,您必須為使用 AWS CLI 建立的每個線索命名。您可以在每個執行 AWS 資源之帳戶的區域中建立一個線索。

下列範例命令顯示如何使用 建立其他帳戶的線索。AWS CLI. 若要將這些帳戶的日誌檔案交付至您在第一個帳戶 (此範例為 111111111111) 中所建立的儲存貯體,請在 --s3-bucket-name 選項內指定儲存貯體名稱。Amazon S3 儲存貯體名稱是全域唯一的。

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-multi-region-trail

當您執行此命令時,會看到類似下方的輸出:

{ "IncludeGlobalServiceEvents": true, "Name": "AWSCloudTrailExample", "TrailARN": "arn:aws:cloudtrail:us-east-2:222222222222:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": false, "S3BucketName": "MyBucketBelongingToAccount111111111111"}

如需從 CloudTrail 命令列工具使用 AWS 的詳細資訊,請參閱 CloudTrail 命令列參考.

在 AWS 帳戶之間共享 CloudTrail 日誌檔案本節說明如何在多個 AWS 帳戶之間共享 CloudTrail 日誌檔案。假設已收到單一 Amazon S3 儲存貯體中的所有日誌檔案,這是在 CloudTrail 主控台中建立線索的預設設定。在第一個藍本中,您將了解如何將唯讀存取授予產生日誌檔案 (放置在 Amazon S3 儲存貯體中) 的帳戶。在第二個藍本中,您將了解如何將所有日誌檔案的存取授予可分析檔案的第三方帳戶。

若要在多個 AWS 帳戶之間共享日誌檔案,您必須執行下列一般步驟。本節稍後會詳細說明這些步驟。

• 為每個要共享日誌檔案的帳戶建立 IAM 角色。• 為所有這些 IAM 角色建立存取政策,以將唯讀存取授予您要共享日誌檔案的帳戶。• 讓每個帳戶中的 IAM 使用者透過編寫程式的方式擔任適當的角色,並擷取日誌檔案。

本節逐步解說兩個不同共享藍本內容中的起始步驟:將日誌檔案的存取授予每個產生這些檔案的帳戶,以及與第三方共享日誌檔案。在兩個藍本中所採取的步驟大致相同,然而主要差異在於 IAM 角色授予每個帳戶的許可類型。也就是說,您可以授予帳戶僅唯讀自身日誌檔案的許可,也可以授予帳戶讀取所有日誌檔案的許可。如需 IAM 角色之許可管理的詳細資訊,請參閱《https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html》中的IAM 使用者指南角色 (委派與聯合)。

方案 1:授予 存取構成 Log Files 的帳號在此藍本中,假設您的企業是由兩個業務單位構成,並且維護三個 AWS 帳戶。第一個帳戶 (帳戶 A) 是最上層帳戶。例如,此帳戶可能是由您企業的 IT 部門所管理,因此負責將所有其他部門和業務單位的日誌檔案收集至單一儲存貯體。另兩個帳戶 (B 和 C) 對應至您企業的業務單位。

此藍本假設您已設定將這三個帳戶的日誌檔案交付至單一 Amazon S3 儲存貯體,而且帳戶 A 全權控制該儲存貯體,如下圖所示。

版本 1.0170

Page 176: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南方案 1:授予 存取構成 Log Files 的帳號

雖然 Amazon S3 儲存貯體包含帳戶 A、B 和 C 所產生的日誌檔案,但是帳戶 B 和 C 一開始無法存取帳戶 B和 C 所產生的日誌檔案。您會將日誌檔案的唯讀存取授予每個產生日誌檔案的業務單位,如下圖所示。

若要授予帳戶 B 和 C 所產生之日誌檔案的唯讀存取,您必須在帳戶 A 中執行下列作業。請記住帳戶 A 具有Amazon S3 儲存貯體的全權控制。

• 為帳戶 B 建立 IAM 角色,及為帳戶 C 建立另一個 IAM 角色。方法:建立角色 (p. 173)

版本 1.0171

Page 177: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南方案 2:授予對所有 Logs 的存取權

• 為帳戶 B 所建立的 IAM 角色建立存取政策,以便授予對帳戶 B 所產生的日誌檔案進行唯讀存取。為帳戶C 所建立的 IAM 角色建立存取政策,以便授予對帳戶 C 所產生的日誌檔案進行唯讀存取。方法:建立存取政策將存取權授予您擁有的帳戶 (p. 174)

• 讓帳戶 B 中的 IAM 使用者透過編寫程式的方式擔任為帳戶 B 所建立的角色。讓帳戶 C 中的 IAM 使用者透過編寫程式的方式擔任為帳戶 C 所建立的角色。每個 IAM 使用者都必須由個別帳戶擁有者授予擔任該角色的許可。方法:建立 IAM 使用者的許可政策 (p. 177)。

• 最後,授予該許可的帳戶擁有者必須是管理員,而且必須知道帳戶 A 中所擔任角色的 ARN。方法:呼叫AssumeRole (p. 177)。

帳戶 B 和 C 中的 IAM 使用者能透過編寫程式的方式擷取其各自的日誌檔案,但不能擷取其他帳戶的日誌檔案。

方案 2:授予對所有 Logs 的存取權在此藍本中,假設您的企業結構與先前的藍本相同,亦即由兩個業務單位構成,並且維護三個 AWS 帳戶。第一個帳戶 (帳戶 A) 是最上層帳戶。例如,此帳戶可能是由您企業的 IT 部門管理,因此負責將所有其他日誌檔案放置到單一儲存貯體。另兩個帳戶 (B 和 C) 對應至您企業的每個業務單位。

與先前的藍本相同,此藍本假設您已將這三個帳戶的日誌檔案放入單一 Amazon S3 儲存貯體,而且帳戶 A全權控制該儲存貯體,如下圖所示。

最後,也假設您的企業想要與第三方共享所有帳戶 (A、B 和 C) 的所有日誌檔案。假設第三方有稱為帳戶 Z的 AWS 帳戶,如下圖所示。

若要與帳戶 Z 共享您企業的所有日誌檔案,您必須在帳戶 A 中執行下列作業,而帳戶 A 具有 Amazon S3 儲存貯體的全權控制。

• 為帳戶 Z 建立 IAM 角色。方法:建立角色 (p. 173)• 為帳戶 Z 所建立的 IAM 角色建立存取政策,以便授予對帳戶 A、B 和 C 所產生的日誌檔案進行唯讀存

取。方法:建立存取政策將存取權授予第三方 (p. 175)• 讓帳戶 Z 中的 IAM 使用者透過編寫程式的方式擔任角色,然後擷取合適的日誌檔案。Account Z

的擁有者必須給予 IAM 使用者擔任該角色的許可。其做法: 建立 IAM 使用者的許可政策 (p. 177)– 。 此外,授予許可的帳號擁有者必須是管理員,並知道在 A 帳號中被擔任的角色 ARN。方法:呼叫AssumeRole (p. 177)。

版本 1.0172

Page 178: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立角色

建立角色當您將多個帳戶的日誌檔案彙整至單一 Amazon S3 儲存貯體時,只有擁有此儲存貯體完全控制的帳戶 (本例中為帳戶 A) 才有儲存貯體之所有日誌檔案的完整讀取存取權。本例中的帳戶 B、C 和 Z 在獲得授權之前都無任何權限。因此,若要與其他帳戶共享您的 AWS CloudTrail 日誌檔案 (亦即完成本節前述的案例 1 或案例2),您必須啟用跨帳戶存取。您可以建立 IAM 角色及其相關聯的存取政策來執行此操作。

Roles為您要授予存取權的每個帳戶建立 IAM 角色。在我們的範例中,您會有三個角色,帳戶 B、C 和 Z 各一個。每個 IAM 角色會定義存取或許可政策,讓帳戶存取帳戶 A 擁有的資源 (日誌檔案)。許可會連接到每個角色,但只有在擔任角色時才會與每個帳戶 (B、C、或 Z) 相關聯。如需 IAM 角色之許可管理的詳細資訊,請參閱《IAM》中的 IAM 使用者指南 角色。如需如何擔任角色的詳細資訊,請參閱 假設角色 (p. 176)。

Policies您建立的每個 IAM 角色有兩項政策。 信任政策指定「信任的實體」或「委託人」。在我們的範例中,帳戶B、C 和 Z 都是信任的實體,而這些帳戶中擁有適當許可的 IAM 使用者可擔任該角色。

當您使用主控台建立角色時,系統會自動建立「信任政策」。如果您使用開發套件建立角色,您必須將信任政策做為參數提供給 CreateRole API。如果您使用 CLI 建立角色,您必須在 create-role CLI 命令中指定信任政策。

您必須以帳戶 A 擁有者身分建立的角色存取 (或許可) 政策會定義允許委託人或信任實體存取的動作和資源(本例中為 CloudTrail 日誌檔案)。案例 1 是將日誌檔案存取權授予產生日誌檔案的帳戶,如 建立存取政策將存取權授予您擁有的帳戶 (p. 174)中所述。案例 2 是將所有日誌檔案的讀取存取權授予第三方,如 建立存取政策將存取權授予第三方 (p. 175)中所述。

如需建立和使用 IAM 政策的更多詳細資訊,請參閱《https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html》中的IAM 使用者指南存取管理。

建立角色使用主控台建立角色

1. 以帳戶 A 的管理員身分登入 AWS 管理主控台。2. 導覽至 IAM 主控台。3. 在導覽窗格中,選擇角色。4. 選擇 Create New Role (建立新角色)。5. 輸入新角色的名稱,然後選擇 Next Step (後續步驟)。6. 選擇 Role for Cross-Account Access (跨帳戶存取的角色)。7. 在案例 1,執行下列操作,以提供您帳戶之間的存取權:

a. 選擇 Provide access between AWS accounts you own (提供您 AWS 帳戶之間的存取權)。b. 輸入要授予存取權帳戶 (B、C、或 Z) 的 12 位數帳戶 ID。c. 如果您希望使用者先提供多重驗證再擔任角色,請勾選 Require MFA (要求 MFA) 核取方塊。

在案例 2,執行下列操作,向第三方帳戶提供存取權。在我們的範例中,您要為帳戶 Z (第三方日誌分析器) 執行這些步驟:a. 選擇 Allows IAM users from a 3rd party AWS account to access this account (允許 IAM 使用者從第三

方 AWS 帳戶存取此帳戶)。b. 輸入要授予存取權之帳戶 (帳戶 Z) 的 12 位數帳戶 ID。c. 輸入外部 ID,提供誰可以擔任該角色的額外控制。如需詳細資訊,請參閱《AWS》中的將 IAM 使用者

指南 資源的存取權授予第三方時如何使用外部 ID。

版本 1.0173

Page 179: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立存取政策將存取權授予您擁有的帳戶

8. 選擇 Next Step (後續步驟) 來連接設定此角色許可的政策。9. 在 Attach Policy (連接政策) 下,選擇 AmazonS3ReadOnlyAccess 政策。

Note

根據預設,AmazonS3ReadOnlyAccess 政策會授予您帳號中所有 儲存貯體的擷取和列出權利。Amazon S3

• 若只要授予該帳戶日誌檔案的帳戶存取權 (案例 1),請參閱 建立存取政策將存取權授予您擁有的帳戶 (p. 174)。

• 若要授予 Amazon S3 儲存貯體中所有日誌檔案的帳戶存取權 (案例 2),請參閱 建立存取政策將存取權授予第三方 (p. 175)。

10.選擇 Next Step (後續步驟)。11.檢視角色資訊。

Note

如果您希望的話,此時您可以編輯角色名稱,但如果您這樣做,則會返回步驟 2:。 Select Role Type(選取角色類型) 頁面,您必須在其中重新輸入角色的資訊。

12.選擇 Create Role (建立角色)。完成角色建立程序後,您建立的角色就會顯示在角色清單中。

建立存取政策將存取權授予您擁有的帳戶在案例 1 中,身為帳戶 A 的管理使用者,您可以完全控制 Amazon S3 寫入帳戶 B 和 C 之日誌檔案的CloudTrail 儲存貯體。您希望將每個業務單位的日誌檔案與建立這些日誌檔案的業務單位共享。但是,您不希望某個單位能夠讀取任何其他單位的日誌檔案。

例如,若要將帳戶 B 的日誌檔案與帳戶 B 共享,但不與帳戶 C 共享,您必須在帳戶 A 中建立新的 IAM 角色,指定帳戶 B 是信任帳戶。這個角色信任政策會指定帳戶 B 受到信任,可擔任帳戶 A 建立的角色,並應類似下列範例所示。如果您使用主控台建立角色,系統會自動建立信任政策。如果您使用開發套件建立角色,您必須將信任政策做為參數提供給 CreateRole API。如果您使用 CLI 建立角色,您必須在 create-role CLI 命令中指定信任政策。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-B-id:root" }, "Action": "sts:AssumeRole" } ]}

您還必須建立存取政策,指定帳戶 B 只能從 B 寫入其日誌檔案的位置讀取。存取政策會類似下列內容所示。請注意,Resource (資源) ARN 包含帳戶 B 的 12 位數帳戶 ID,以及您在彙整程序期間為帳戶 B 開啟 CloudTrail 時指定的字首 (如有)。如需指定前綴的詳細資訊,請參閱「在其他帳戶開啟CloudTrail (p. 169)」。

Important

您必須確認存取政策中的前綴與您為帳戶 B 開啟 CloudTrail 時指定的前綴完全相同。若不相同,您就必須編輯帳戶 A 中的 IAM 角色存取政策,以納入帳戶 B 的實際前綴。如果角色存取政策中的前綴與您為帳戶 B 開啟 CloudTrail 時指定的前綴不完全相同,帳戶 B 就無法存取其日誌檔案。

版本 1.0174

Page 180: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南建立存取政策將存取權授予第三方

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::bucket-name/prefix/AWSLogs/account-B-id/*" }, { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::bucket-name" } ]}

您為帳戶 C 建立的角色與您為帳戶 B 建立的角色幾乎相同。每個角色的存取政策皆必須包含適當的帳戶 ID和前綴,讓每個帳戶只能從 CloudTrail 寫入該帳戶日誌檔案的位置讀取。

在您為每個帳戶建立角色並指定適當的信任和存取政策後,以及在該帳戶的管理員為每個帳戶的 IAM 使用者授予存取權後,帳戶 B 或 C 中的 IAM 使用者就可以透過編寫程式的方式擔任此角色。

當您為每個帳戶建立角色並指定適當的信任和存取政策後,其中一個新信任帳戶 (B 或 C) 中的 IAM 使用者必須透過編寫程式的方式擔任該角色,才能從 Amazon S3 儲存貯體讀取日誌檔案。

如需詳細資訊,請參閱假設角色 (p. 176)。

建立存取政策將存取權授予第三方帳戶 A 必須為帳戶 Z (也就是案例 2 中的第三方分析器) 建立個別的 IAM 角色。當您建立角色時,AWS 會自動建立信任關係,其指定帳戶 Z 受信任來擔任該角色。角色的存取政策指定帳戶 Z 可採取的動作。如需建立角色和角色政策的詳細資訊,請參閱「建立角色 (p. 173)」。

例如,AWS 所建立的信任關係指定帳戶 Z 受信任擔任帳戶 A 所建立的角色。以下是範例信任政策:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::account-Z-id:root"}, "Action": "sts:AssumeRole" }]}

如果為帳戶 Z 建立角色時指定了外部 ID,您的存取政策會包含新增的 Condition 元素來測試帳戶 Z 指派的唯一 ID。此測試會在擔任角色時執行。下列範例存取政策具有 Condition 元素。

如需詳細資訊,請參閱《AWS》中的將 IAM 使用者指南 資源的存取權授予第三方時如何使用外部 ID。

{

版本 1.0175

Page 181: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南假設角色

"Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::account-Z-id:root"}, "Action": "sts:AssumeRole", "Condition": {"StringEquals": {"sts:ExternalId": "external-ID-issued-by-account-Z"}} }]}

您也必須為帳戶 A 角色建立存取政策,指定帳戶 Z 可以從 Amazon S3 儲存貯體讀取所有日誌。存取政策應該會類似下列範例。Resource 值結尾的萬用字元 (*) 表示帳戶 Z 可以存取 S3 儲存貯體中已授予存取權的任何日誌檔案。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::bucket-name/*" }, { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::bucket-name" } ]}

當您為帳戶 Z 建立角色並指定適當的信任關係和存取政策後,帳戶 Z 中的 IAM 使用者必須透過編寫程式的方式擔任該角色,才能從儲存貯體讀取日誌檔案。如需詳細資訊,請參閱假設角色 (p. 176)。

假設角色您必須指定個別 IAM 使用者擔任您已在每個帳戶中建立的每個角色,並確保每位 IAM 使用者具有適當的許可。

IAM 使用者和角色當您已針對藍本 1 和 2 在帳戶 A 中建立必要角色和政策之後,必須在每個帳戶 B、C 和 Z 中指定 IAM 使用者。每位 IAM 使用者都會以程式設計的方式擔任適當的角色來存取日誌檔案。也就是說,帳戶 B 中的使用者將會擔任針對帳戶 B 所建立的角色、帳戶 C 中的使用者將會擔任針對帳戶 C 所建立的角色,而帳戶 Z 中的使用者將會擔任針對帳戶 Z 所建立的角色。使用者擔任角色時,AWS 會傳回暫時安全登入資料,可用來發出請求以根據透過與該角色相關聯的存取政策所授予的許可來列出、擷取、複製或刪除日誌檔案。

如需使用 IAM 使用者的詳細資訊,請參閱使用 IAM 使用者和群組。

藍本 1 與 2 的主要差異在於針對每個藍本中每個 IAM 角色所建立的存取政策。

• 在藍本 1 中,帳戶 B 和 C 的存取政策會限制每個帳戶只能唯讀其專屬日誌檔案。如需詳細資訊,請參閱建立存取政策將存取權授予您擁有的帳戶 (p. 174)。

版本 1.0176

Page 182: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南假設角色

• 在藍本 2 中,帳戶 Z 的存取政策可讓它讀取 Amazon S3 儲存貯體中所聚集的所有日誌檔案。如需詳細資訊,請參閱建立存取政策將存取權授予第三方 (p. 175)。

建立 IAM 使用者的許可政策若要執行角色所允許的動作,IAM 使用者必須具有呼叫 AWS STS AssumeRole API 的許可。您必須編輯每個 IAM 使用者的使用者類型政策,以將適當的許可授予它們。也就是說,您在連接至 IAM 使用者的政策中設定 Resource 元素。下列範例顯示帳戶 B 中 IAM 使用者的政策,可讓使用者擔任帳戶 A 先前所建立且名為「Test」的角色。

將必要政策連接至 IAM 角色

1. 登入 AWS 管理主控台 並開啟 IAM 主控台。2. 選擇您想要修改其許可的使用者。3. 選擇 Permissions (許可) 索引標籤。4. 選擇 Custom Policy (自訂政策)。5. 選擇 Use the policy editor to customize your own set of permissions (使用政策編輯器自訂自己的一組許

可)。6. 輸入政策的名稱。7. 將下列政策複製至針對政策文件所提供的空間。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["sts:AssumeRole"], "Resource": "arn:aws:iam::account-A-id:role/Test" } ]}

Important

只有 IAM 使用者才能擔任角色。如果您嘗試使用 AWS 根帳戶登入資料擔任角色,則會拒絕存取。

呼叫 AssumeRole帳戶 B、C 或 Z 中的使用者可以擔任角色,方法是建立應用程式以呼叫 AWS STS AssumeRole API,並傳遞角色工作階段名稱、要擔任之角色的 Amazon Resource Number (ARN) 以及選用外部 ID。帳戶 A 會在建立要擔任的角色時定義角色工作階段名稱。外部 ID (如果有的話) 是由帳戶 Z 所定義,並在建立角色期間傳遞至帳戶 A 以進行併入。如需詳細資訊,請參閱《AWS》中的將 IAM 使用者指南 資源的存取權授予第三方時如何使用外部 ID。您可以開啟 IAM 主控台,從帳戶 A 擷取 ARN。

使用 IAM 主控台尋找帳戶 A 中的 ARN 值

1. 選擇 Roles (角色)2. 選擇您想要檢查的角色。3. 在 Summary (摘要) 區段中,尋找 Role ARN (角色 ARN)。

API 會傳回暫時性登入資料,而帳號 B、C 或 Z 的使用者可用來存取帳號 A 中的資源。在此範例中,您要存取的資源是 AssumeRole 儲存貯體和儲存貯體包含的 log 檔案。Amazon S3暫時登入資料具有您在角色存取政策中定義的許可。

版本 1.0177

Page 183: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南停止 AWS Accounts 之間的 CloudTrail Log 檔案共用

下列 Python 範例 (使用 AWS SDK for Python (Boto)) 顯示如何呼叫 AssumeRole 以及如何使用所傳回的暫時安全登入資料列出帳戶 A 所控制的所有 Amazon S3 儲存貯體。

def list_buckets_from_assumed_role(user_key, assume_role_arn, session_name): """ Assumes a role that grants permission to list the Amazon S3 buckets in the account. Uses the temporary credentials from the role to list the buckets that are owned by the assumed role's account.

:param user_key: The access key of a user that has permission to assume the role. :param assume_role_arn: The Amazon Resource Name (ARN) of the role that grants access to list the other account's buckets. :param session_name: The name of the STS session. """ sts_client = boto3.client( 'sts', aws_access_key_id=user_key.id, aws_secret_access_key=user_key.secret) response = sts_client.assume_role( RoleArn=assume_role_arn, RoleSessionName=session_name) temp_credentials = response['Credentials'] print(f"Assumed role {assume_role_arn} and got temporary credentials.")

# Create an S3 resource that can access the account with the temporary credentials. s3_resource = boto3.resource( 's3', aws_access_key_id=temp_credentials['AccessKeyId'], aws_secret_access_key=temp_credentials['SecretAccessKey'], aws_session_token=temp_credentials['SessionToken'])

print(f"Listing buckets for the assumed role's account:") for bucket in s3_resource.buckets.all(): print(bucket.name)

停止 AWS Accounts 之間的 CloudTrail Log 檔案共用若要停止和另一個 AWS 帳戶共享日誌檔案,只要刪除您在「建立角色 (p. 173)」為該帳戶建立的角色即可。

1. 以具有帳戶 A 管理層級許可的 IAM 使用者身分登入 AWS 管理主控台。2. 導覽至 IAM 主控台。3. 在導覽窗格中,按一下 Roles (角色)。4. 選取您要刪除的角色。5. 按一下滑鼠右鍵並選取內容選單中的 Delete Role (刪除角色)。

驗證 CloudTrail 日誌檔案完整性若要判斷在 CloudTrail 交付日誌檔案之後,日誌檔案是否已修改、已刪除或保持不變,您可以使用CloudTrail 日誌檔案完整性驗證。此功能是使用業界標準演算法建置的: 適用於 hashing 的 SHA-256 以及適用於數位簽章的 SHA-256。這可透過運算方式防止修改、刪除或偽造 CloudTrail 日誌檔案,而無需偵測。您可以使用 AWS CLI 驗證 CloudTrail 交付檔案之位置中的檔案。

為什麼使用它?驗證過的日誌檔案對於安全和鑑識調查十分重要。例如,驗證過的日誌檔案可讓您積極宣告日誌檔案本身尚未變更,或該特定使用者登入資料已執行特定 API 活動。CloudTrail 日誌檔案完整性驗證程序也可讓您知道日誌檔案是否已刪除或變更,或積極宣告在指定的一段期間沒有日誌檔案交付至您的帳戶。

版本 1.0178

Page 184: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南運作方式

運作方式當您啟用日誌檔案完整性驗證時,CloudTrail 會為它所交付的每個日誌檔案建立一個雜湊。CloudTrail 也會在每個小時建立和交付檔案,檔案參考前一小時的日誌檔案,並包含每個日誌檔案的雜湊。此檔案稱為摘要檔案。CloudTrail 會使用公有和私有金鑰對的私有金鑰來簽署每個摘要檔案。在交付之後,您可以使用公有金鑰來驗證摘要檔案。CloudTrail 會針對每個 AWS 區域使用不同的金鑰對。

摘要檔案會交付至與您線索相關聯的 Amazon S3 儲存貯體,其與交付您 CloudTrail 日誌檔案的儲存貯體相同。如果將您的日誌檔案從所有區域或多個帳戶交付至單一 Amazon S3 儲存貯體,則 CloudTrail 會將摘要檔案從那些區域和帳戶交付至相同的儲存貯體。

摘要檔案和日誌檔案會分別放入不同的資料夾。將摘要檔案和日誌檔案區隔可讓您強制執行精細的安全政策,以及允許現有日誌處理解決方案來持續操作,而無需修改。每個摘要檔案也會包含先前摘要檔案的數位簽章 (如果有的話)。目前摘要檔案的簽章位在摘要檔案 Amazon S3 物件的中繼資料屬性中。如需摘要檔案內容的詳細資訊,請參閱「CloudTrail 摘要檔案結構 (p. 185)」。

存放日誌檔案和摘要檔案您可以將 CloudTrail log 檔案和摘要檔案安全地存放在 Amazon S3 或 S3 Glacier 中,在不定的期間是不昂貴的。若要強化存放在 Amazon S3 中之摘要檔案的安全性,您可以使用 Amazon S3 MFA Delete。

啟用驗證並驗證檔案若要啟用日誌檔案完整性驗證,您可以使用 AWS 管理主控台、AWS CLI 或 CloudTrail API。如需詳細資訊,請參閱啟用 CloudTrail 的日誌檔案完整性驗證 (p. 179)。

若要驗證 CloudTrail 日誌檔案的完整性,您可以使用 AWS CLI,或建立自己的解決方案。AWS CLI 將會驗證 CloudTrail 交付檔案之位置中的檔案。如果您想要驗證已移至不同位置的日誌 (在 Amazon S3 或其他位置中),則可建立自己的驗證工具。

如需使用 AWS CLI 驗證日誌的資訊,請參閱 使用 CloudTrail 驗證 AWS CLI 日誌檔案完整性 (p. 180)。如需開發 CloudTrail 日誌檔案驗證之自訂實作的資訊,請參閱 CloudTrail 日誌檔案完整性驗證的自訂實作 (p. 189)。

啟用 CloudTrail 的日誌檔案完整性驗證您可以透過 AWS 管理主控台、AWS 命令列界面 (AWS CLI) 或 CloudTrail API 啟用日誌檔案完整性驗證。CloudTrail 大約一小時就會開始交付摘要檔案。

AWS 管理主控台若要透過 CloudTrail 主控台啟用日誌檔案完整性驗證,請在建立或更新線索時,針對 Enable log filevalidation (啟用日誌檔案驗證) 選擇 Yes (是)。預設會為新的線索啟用這項功能。如需詳細資訊,請參閱使用主控台建立和更新 路徑 (p. 62)。

AWS CLI若要透過 AWS CLI 啟用日誌檔案完整性驗證,請使用 --enable-log-file-validation 選項搭配create-trail 或 update-trail 命令。若要停用日誌檔案完整性驗證,請使用 --no-enable-log-file-validation 選項。

Ejemplo

下列 update-trail 命令會啟用日誌檔案驗證,並開始將摘要檔案交付到指定線索的 Amazon S3 儲存貯體。

版本 1.0179

Page 185: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 CloudTrail 驗證 AWS CLI 日誌檔案完整性

aws cloudtrail update-trail --name your-trail-name --enable-log-file-validation

CloudTrail API若要透過 CloudTrail API 啟用日誌檔案完整性驗證,請在呼叫 CreateTrail 或 UpdateTrail 時,將EnableLogFileValidation 請求參數設定為 true。

如需詳細資訊,請參閱《》AWS CloudTrail API Reference中的 CreateTrail 和 UpdateTrail。

使用 CloudTrail 驗證 AWS CLI 日誌檔案完整性若要使用 AWS Command Line Interface 驗證日誌,請使用 CloudTrail validate-logs 命令。此命令會使用交付至您 Amazon S3 儲存貯體的摘要檔案來執行驗證。如需摘要檔案的資訊,請參閱「CloudTrail 摘要檔案結構 (p. 185)」。

AWS CLI 可讓您偵測下列類型的變更:

• 修改或刪除 CloudTrail 日誌檔案• 修改或刪除 CloudTrail 摘要檔案• 修改或刪除上述兩者

Note

AWS CLI 只會驗證摘要檔案所參考的日誌檔案。如需詳細資訊,請參閱檢查特定檔案是否由CloudTrail 交付 (p. 184)。

Prerequisites若要使用 AWS CLI 驗證日誌檔案完整性,則必須符合下列條件:

• 您必須具有與 AWS 的線上連線。• 您必須具有包含摘要和日誌檔案之 Amazon S3 儲存貯體的讀取存取。• 在 交付摘要和日誌檔案後,不得自原始的 位置再行移動。

Note

無法使用 AWS CLI 驗證已下載至本機磁碟的日誌檔案。如需建立您自己的工具進行驗證的指導方針,請參閱「CloudTrail 日誌檔案完整性驗證的自訂實作 (p. 189)」。

validate-logsSyntax

以下是 validate-logs 的語法。 選用參數會以括弧顯示。

aws cloudtrail validate-logs --trail-arn <trailARN> --start-time <start-time>[--end-time <end-time>] [--s3-bucket <bucket-name>] [--s3-prefix <prefix>] [--verbose]

Options

以下是 validate-logs 的命令列選項。 和 --trail-arn 選項是必要的。--start-time

版本 1.0180

Page 186: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 CloudTrail 驗證 AWS CLI 日誌檔案完整性

--start-time

指定將會驗證在指定的 UTC 時間戳記值或此值之後交付的日誌檔案。範例:2015-01-08T05:21:42Z– 。

--end-time

選擇性指定將會驗證在指定的 UTC 時間戳記值或此值之前交付的日誌檔案。預設值是目前 UTC 時間(Date.now())。範例:2015-01-08T12:31:41Z – 。

Note

對於指定的時間範圍,validate-logs 命令只會檢查其對應摘要檔案中所參考的日誌檔案。不會檢查 Amazon S3 儲存貯體中的其他日誌檔案。如需詳細資訊,請參閱檢查特定檔案是否由CloudTrail 交付 (p. 184)。

--s3-bucket

選擇性指定摘要檔案要存放的 Amazon S3 儲存貯體。如果未指定儲存貯體名稱,則 AWS CLI 會呼叫DescribeTrails() 進行擷取。

--prefix

選擇性指定摘要檔案要存放的 Amazon S3 前綴。如果未指定,則 AWS CLI 會呼叫DescribeTrails() 進行擷取。

Note

只有在目前的前綴與您所指定之時間範圍期間使用的前綴不同時,才應該使用此選項。

--trail-arn

指定要驗證之線索的 Amazon Resource Name (ARN)。線索 ARN 的格式如下。

arn:aws:cloudtrail:us-east-2:111111111111:trail/MyTrailName

Note

若要取得線索的線索 ARN,您可以在執行 之前使用 命令。如果日誌檔案已在所指定時間範圍內交付至多個儲存貯體,而且您要限制只驗證其中一個儲存貯體中的日誌檔案,則除了線索 ARN 之外,還建議您指定儲存貯體名稱和前綴。

--verbose

選擇性地輸出所指定時間範圍內每個日誌或摘要檔案的驗證資訊。該輸出會指出檔案保持不變還是已進行修改或刪除。在非詳細資訊模式下 (預設),僅於驗證失敗時才會傳回資訊。

Example下列範例會驗證自指定的時間開始到現在的日誌檔案,並使用針對目前線索所設定的 Amazon S3 儲存貯體,及指定詳細資訊輸出。

aws cloudtrail validate-logs --start-time 2015-08-27T00:00:00Z --end-time 2015-08-28T00:00:00Z --trail-arn arn:aws:cloudtrail:us-east-2:111111111111:trail/my-trail-name --verbose

版本 1.0181

Page 187: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 CloudTrail 驗證 AWS CLI 日誌檔案完整性

validate-logs 運作方式

validate-logs 命令始於驗證所指定之時間範圍內的最新摘要檔案。首先,命令會驗證已從宣告的所屬位置下載的摘要檔案。換言之,如果 CLI 從 S3 位置 下載摘要檔案 ,則 validate-logs 會驗證 p1 ==df1.digestS3Bucket + '/' + df1.digestS3Object。

如果摘要檔案的簽章有效,則會檢查摘要檔案中所參考之每個日誌的雜湊值。此命令接著會回復,並連續驗證先前的摘要檔案和其參考的日誌檔案。它會持續直到到達指定的 start-time 值,或直到摘要鏈結束。如果摘要檔案遺失或無效,則會在輸出中指出無法驗證的時間範圍。

驗證結果驗證結果會以摘要標頭開始,格式如下:

Validating log files for trail trail_ARN between time_stamp and time_stamp

主要輸出的每列都包含單一摘要或日誌檔案的驗證結果,格式如下:

<Digest file | Log file> <S3 path> <Validation Message>

下表說明日誌和摘要檔案的可能驗證訊息。

檔案類型 驗證訊息 描述

Digest file valid 摘要檔案簽章有效。可以檢查其參考的日誌檔案。此訊息只會包含在詳細資訊模式。

Digest file INVALID: has been movedfrom its original location

從中擷取摘要檔案的 S3 儲存貯體或 S3 物件不符合摘要檔案本身所記錄的 S3 儲存貯體或 S3物件位置。

Digest file INVALID: invalid format 摘要檔案的格式無效。無法驗證對應至摘要檔案所代表之時間範圍的日誌檔案。

Digest file INVALID: not found 找不到摘要檔案。無法驗證對應至摘要檔案所代表之時間範圍的日誌檔案。

Digest file INVALID: public key notfound for fingerprintfingerprint

找不到對應至摘要檔案中所記錄之指紋的公有金鑰。無法驗證摘要檔案。

Digest file INVALID: signatureverification failed

摘要檔案簽章無效。因為摘要檔案無效,所以無法驗證其參考的日誌檔案,而且不會宣告其中的API 活動。

Digest file INVALID: Unable toload PKCS #1 key withfingerprint fingerprint

因為無法載入 PKCS #1 格式且具有指定之指紋的 DER 編碼公有金鑰,所以無法驗證摘要檔案。

Log file valid 日誌檔案已驗證,且自交付之後未經修改。此訊息只會包含在詳細資訊模式。

Log file INVALID: hash valuedoesn't match

日誌檔案的雜湊不符。在 CloudTrail 交付之後,日誌檔案已修改。

Log file INVALID: invalid format 日誌檔案的格式無效。無法驗證日誌檔案。

版本 1.0182

Page 188: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 CloudTrail 驗證 AWS CLI 日誌檔案完整性

檔案類型 驗證訊息 描述

Log file INVALID: not found 找不到且無法驗證日誌檔案。

輸出會包含所傳回結果的摘要資訊。

範例輸出Verbose以下範例 validate-logs 命令使用 --verbose 旗標,並製作下列的範例輸出。[...] 指的是經過縮簡的範例輸出。

aws cloudtrail validate-logs --trail-arn arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name --start-time 2015-08-31T22:00:00Z --end-time 2015-09-01T19:17:29Z --verbose

Validating log files for trail arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name between 2015-08-31T22:00:00Z and 2015-09-01T19:17:29Z Digest file s3://example-bucket/AWSLogs/111111111111/CloudTrail-Digest/us-east-2/2015/09/01/111111111111_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T201728Z.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1925Z_WZZw1RymnjCRjxXc.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1915Z_POuvV87nu6pfAV2W.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1930Z_l2QgXhAKVm1QXiIA.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1920Z_eQJteBBrfpBCqOqw.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1950Z_9g5A6qlR2B5KaRdq.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1920Z_i4DNCC12BuXd6Ru7.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1915Z_Sg5caf2RH6Jdx0EJ.json.gz validDigest file s3://example-bucket/AWSLogs/111111111111/CloudTrail-Digest/us-east-2/2015/09/01/111111111111_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T191728Z.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/09/01/111111111111_CloudTrail_us-east-2_20150901T1910Z_YYSFiuFQk4nrtnEW.json.gz valid[...]Log file s3://example-bucket/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T1055Z_0Sfy6m9f6iBzmoPF.json.gz validLog file s3://example-bucket/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T1040Z_lLa3QzVLpOed7igR.json.gz valid

Digest file s3://example-bucket/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T101728Z.json.gz INVALID: signature verification failed

版本 1.0183

Page 189: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 CloudTrail 驗證 AWS CLI 日誌檔案完整性

Digest file s3://example-bucket/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T091728Z.json.gz validLog file s3://example-bucket/AWSLogs/144218288521/CloudTrail/us-east-2/2015/09/01/144218288521_CloudTrail_us-east-2_20150901T0830Z_eaFvO3dwHo4NCqqc.json.gz validDigest file s3://example-bucket/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T081728Z.json.gz validDigest file s3://example-bucket/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T071728Z.json.gz valid[...]Log file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2245Z_mbJkEO5kNcDnVhGh.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2225Z_IQ6kXy8sKU03RSPr.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2230Z_eRPVRTxHQ5498ROA.json.gz validLog file s3://example-bucket/AWSLogs/111111111111/CloudTrail/us-east-2/2015/08/31/111111111111_CloudTrail_us-east-2_20150831T2255Z_IlWawYZGvTWB5vYN.json.gz validDigest file s3://example-bucket/AWSLogs/111111111111/CloudTrail-Digest/us-east-2/2015/08/31/111111111111_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150831T221728Z.json.gz valid

Results requested for 2015-08-31T22:00:00Z to 2015-09-01T19:17:29ZResults found for 2015-08-31T22:17:28Z to 2015-09-01T20:17:28Z:

22/23 digest files valid, 1/23 digest files INVALID63/63 log files valid

非詳細資訊

下列範例 validate-logs 命令未使用 --verbose 旗標。在下面的範例輸出中,發現一個錯誤。只會傳回標頭、錯誤和摘要資訊。

aws cloudtrail validate-logs --trail-arn arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name --start-time 2015-08-31T22:00:00Z --end-time 2015-09-01T19:17:29Z

Validating log files for trail arn:aws:cloudtrail:us-east-2:111111111111:trail/example-trail-name between 2015-08-31T22:00:00Z and 2015-09-01T19:17:29Z

Digest file s3://example-bucket/AWSLogs/144218288521/CloudTrail-Digest/us-east-2/2015/09/01/144218288521_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150901T101728Z.json.gz INVALID: signature verification failed

Results requested for 2015-08-31T22:00:00Z to 2015-09-01T19:17:29ZResults found for 2015-08-31T22:17:28Z to 2015-09-01T20:17:28Z:

22/23 digest files valid, 1/23 digest files INVALID63/63 log files valid

檢查特定檔案是否由 CloudTrail 交付若要檢查儲存貯體中的特定檔案是否由 CloudTrail 交付,請在包含該檔案的期間以詳細資訊模式執行validate-logs。如果檔案出現在 validate-logs 的輸出中,則該檔案確實是由 CloudTrail 交付。

版本 1.0184

Page 190: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 摘要檔案結構

CloudTrail 摘要檔案結構每個摘要檔案包含上個小時交付至您 Amazon S3 儲存貯體的日誌檔案名稱、這些日誌檔案的雜湊值,以及前一個摘要檔的數位簽章。目前的摘要檔案簽章存放在摘要檔案物件的中繼資料屬性中。數位簽章和雜湊是用於驗證日誌檔案和摘要檔案本身的完整性。

摘要檔案位置摘要檔案會交付到遵循此語法的 Amazon S3 儲存貯體位置。

s3://s3-bucket-name/optional-prefix/AWSLogs/aws-account-id/CloudTrail-Digest/ region/digest-end-year/digest-end-month/digest-end-date/ aws-account-id_CloudTrail-Digest_region_trail-name_region_digest_end_timestamp.json.gz

Note

對於組織線索,儲存貯體的位置也包含組織單位 ID,如下所示:

s3://s3-bucket-name/optional-prefix/AWSLogs/OU-ID/aws-account-id/CloudTrail-Digest/ region/digest-end-year/digest-end-month/digest-end-date/ aws-account-id_CloudTrail-Digest_region_trail-name_region_digest_end_timestamp.json.gz

範例摘要檔案內容下例的摘要檔案包含 CloudTrail 日誌的資訊。

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-17T14:01:31Z", "digestEndTime": "2015-08-17T15:01:31Z", "digestS3Bucket": "S3-bucket-name", "digestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/17/111122223333_CloudTrail-Digest_us-east-2_your-trail-name_us-east-2_20150817T150131Z.json.gz", "digestPublicKeyFingerprint": "31e8b5433410dfb61a9dc45cc65b22ff", "digestSignatureAlgorithm": "SHA256withRSA", "newestEventTime": "2015-08-17T14:52:27Z", "oldestEventTime": "2015-08-17T14:42:27Z", "previousDigestS3Bucket": "S3-bucket-name", "previousDigestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/17/111122223333_CloudTrail-Digest_us-east-2_your-trail-name_us-east-2_20150817T140131Z.json.gz", "previousDigestHashValue": "97fb791cf91ffc440d274f8190dbdd9aa09c34432aba82739df18b6d3c13df2d", "previousDigestHashAlgorithm": "SHA-256", "previousDigestSignature": "50887ccffad4c002b97caa37cc9dc626e3c680207d41d27fa5835458e066e0d3652fc4dfc30937e4d5f4cc7f796e7a258fb50a43ac427f2237f6e505d4efaf373d156e15e3b68dea9f58111d395b62628d6bd367a9024d2183b5c5f6e19466d3a996b92df705bc997b8a0e13430f241d733cf95df4e41bb6c304c3f58363043572ea57a27085639ce187e679c0d81c7519b1184fa77fb7ab0b0e40a32dace6e1eefc3995c5ae182da49b62b26398cebb52a2201a6387b75b89c83e5570bcb9bba6c34a80f2f00a1c6ebe07d1ff149eccd812dc805bb3eeff6657db32a6cb48d2d096404eb76181877bc6ebb8cd0b23f823200155b2fd8848d428e46e8456328a", "logFiles": [ { "s3Bucket": "S3-bucket-name", "s3Object": "AWSLogs/111122223333/CloudTrail/us-east-2/2015/08/17/111122223333_CloudTrail_us-east-2_20150817T1445Z_9nYN7gp2eWAJHIfT.json.gz", "hashValue": "9bb6196fc6b84d6f075a56548feca262bd99ba3c2de41b618e5b6e22c1fc71f6", "hashAlgorithm": "SHA-256", "newestEventTime": "2015-08-17T14:52:27Z", "oldestEventTime": "2015-08-17T14:42:27Z" }

版本 1.0185

Page 191: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 摘要檔案結構

]}

摘要檔案欄位說明以下是摘要檔案中每個欄位的說明:

awsAccountId

摘要檔案已交付的 AWS 帳戶 ID。

digestStartTime

摘要檔案涵蓋的 UTC 時間範圍起點,做為 CloudTrail 已交付日誌檔案的時間參考。這表示如果時間範圍是 [Ta, Tb],摘要會包含從 Ta 到 Tb 這段時間內交付給客戶的所有日誌檔案。

digestEndTime

摘要檔案涵蓋的 UTC 時間範圍終點,做為 CloudTrail 已交付日誌檔案的時間參考。這表示如果時間範圍是 [Ta, Tb],摘要會包含從 Ta 到 Tb 這段時間內交付給客戶的所有日誌檔案。

digestS3Bucket

目前摘要檔案已交付的 Amazon S3 儲存貯體名稱。

digestS3Object

目前摘要檔案的 Amazon S3 物件金鑰 (也就是 Amazon S3 儲存貯體位置)。字串中的前兩個區域,會顯示摘要檔案交付來源的區域。最後一個區域 (在 your-trail-name 的後面) 是線索的主區域。主區域是建立線索的所在區域。在多區域線索的案例中,這不同於摘要檔案交付來源的區域。

newestEventTime

摘要日誌檔案中所有事件的最近事件 UTC 時間。

oldestEventTime

摘要日誌檔案中所有事件的最舊事件 UTC 時間。Note

如果摘要檔案交付延遲,則 oldestEventTime 值會早於 digestStartTime 值。

previousDigestS3Bucket

前一個摘要檔案的交付 Amazon S3 儲存貯體。

previousDigestS3Object

前一個摘要檔案的 Amazon S3 物件金鑰 (也就是 Amazon S3 儲存貯體位置)。

previousDigestHashValue

前一個摘要檔案的未壓縮內容十六進位編碼雜湊值。

版本 1.0186

Page 192: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 摘要檔案結構

previousDigestHashAlgorithm

用來雜湊前一個摘要檔案的雜湊演算法名稱。

publicKeyFingerprint

符合簽署此摘要檔案所用私有金鑰的公有金鑰十六進位編碼指紋。您可以使用 AWS CLI 或 CloudTrailAPI 擷取對應到摘要檔案之時間範圍的公有金鑰。屬於傳回的公有金鑰,其指紋符合此值,可用於驗證摘要檔案。如需擷取摘要檔案公有金鑰的資訊,請參閱 AWS CLIlist-public-keys 命令或CloudTrailListPublicKeys API。

Note

CloudTrail 在每個區域都使用不同的私有/公有金鑰對。每個摘要檔案都是使用對其區域而言唯一的私有金鑰來簽署。因此,當您驗證來自特定區域的摘要檔案時,您必須在同一個區域中查詢其對應的公有金鑰。

digestSignatureAlgorithm

簽署摘要檔案所用的演算法。

logFiles.s3Bucket

日誌檔案的 Amazon S3 儲存貯體名稱。

logFiles.s3Object

目前日誌檔案的 Amazon S3 物件金鑰。

logFiles.newestEventTime

日誌檔案中最近事件的 UTC 時間。此時間也對應到日誌檔案本身的時間戳記。

logFiles.oldestEventTime

日誌檔案中最舊事件的 UTC 時間。

logFiles.hashValue

未壓縮日誌檔案內容的十六進位編碼雜湊值。

logFiles.hashAlgorithm

雜湊日誌檔案所用的雜湊演算法。

起始的摘要檔案當日誌檔案完整性驗證開始時,會產生起始的摘要檔案。當日誌檔案完整性驗證重新開始時,也會產生起始的摘要檔案 (透過停用再重新啟動日誌檔案完整性驗證,或停止記錄再於啟用驗證的情況下重新開始記錄)。在起始的摘要檔案中,與前一個摘要檔案有關的下列欄位都會是 null:

• previousDigestS3Bucket

版本 1.0187

Page 193: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 摘要檔案結構

• previousDigestS3Object

• previousDigestHashValue

• previousDigestHashAlgorithm

• previousDigestSignature

「空」的摘要檔案即使您的帳戶在摘要檔案代表的一小時期限內沒有任何 API 活動,CloudTrail 仍會交付摘要檔案。當您需要主張摘要檔案回報的一小時內沒有任何日誌檔案交付時,這很有幫助。

以下範例顯示的摘要檔案內容,記錄的一小時內沒有任何 API 活動。請注意,摘要檔案內容結尾處的logFiles:[ ] 欄位是空的。

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-20T17:01:31Z", "digestEndTime": "2015-08-20T18:01:31Z", "digestS3Bucket": "example-bucket-name", "digestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/20/111122223333_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150820T180131Z.json.gz", "digestPublicKeyFingerprint": "31e8b5433410dfb61a9dc45cc65b22ff", "digestSignatureAlgorithm": "SHA256withRSA", "newestEventTime": null, "oldestEventTime": null, "previousDigestS3Bucket": "example-bucket-name", "previousDigestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/20/111122223333_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150820T170131Z.json.gz", "previousDigestHashValue": "ed96c4bac9eaa8fe9716ca0e515da51938be651b1db31d781956416a9d05cdfa", "previousDigestHashAlgorithm": "SHA-256", "previousDigestSignature": "82705525fb0fe7f919f9434e5b7138cb41793c776c7414f3520c0242902daa8cc8286b29263d2627f2f259471c745b1654af76e2073264b2510fd45236b3aea4d80c0e8e6455223d7bd54ff80af0edf22a5f14fa856626daec919f0591479aa4f213787ba1e1076328dcf8ff624e03a977fa5612dcf58594c590fd8c1c5b48bddf43fc84ecc00b41bedd0ff7f293c3e2de8dcdc78f98b03e17577f5822ba842399d69eb79921c0429773509520e08c8b518702d987dfbb3a4e5d8c5f17673ce1f989dfff82d4becf24e452f20d3bcac94ad50131f93e57f10155536acb54c60efbe9d57228c2b930bc6082b2318e3ccd36834a8e835b8d112dbf32145f445c11", "logFiles": []}

摘要檔案的簽章摘要檔案簽章資訊位在 Amazon S3 摘要檔案物件的兩個物件中繼資料屬性中。每個摘要檔案都有下列中繼資料項目:

• x-amz-meta-signature

摘要檔案簽章的十六進位編碼值。以下為範例簽章:

3be472336fa2989ef34de1b3c1bf851f59eb030eaff3e2fb6600a082a23f4c6a82966565b994f9de4a5989d053d9d15d20fc5c43e66358652d93326550a4acc5c5f541bb52e9b455897ab723bd7cbabfe963a406a41d600f3658f7a3135e5ed9fcae7b79bb5857d1e5eb78fcce8595ce0ade2f3ad1d9f2d62be7bc4660d83166ce24586489b7da9ee9883eaf0b9efabb5dd3cbba565cc4aab5c9c46c9fa7e9cda310afcc5e8adcd9e48d0597ec5f8174a52c3bebb3e845eeb1d18904fbf4cc14cd117080098e10022ddf55e017a9431446acad8560de0ba1e477af9f8a3048bc6196350adad0cc0cb4ab99b5e7c9944437a3c674a038009220684ced7be07b4f28f1cc237f372264a51b611c01da429565def703539f4e71009051769469231bc22232fa260df02740047af532229885ea2b0e95ecd353326b7104941e0cbddb076a391f1fcf2923c19565f4841770a78723451aeb732ff1b6162dc40e601fc6720bc5325987942ebd817783b322f0ac77698523bf742fdea7aa44f4911b3101221b7e1233387f16a52077610498f4a1254211258e37da0fb4cb207aef593b4c1baa13674e85acc52046b3adb889e63331a66abac5de7e42ffdd6952987c31ae871650e130bd2e63bfe145b22bbd39ea192210f6df64d49b888a321e02d3fc4cf126accae30d2857ccd6b2286a7c9feba6c35c44161b24147d645e6ca26844ba05d3ffcb5d2dd5dc28f8bb5b7993938e8a5f912a82b448a367eccb2ec0f198ba71e23eb0b97278cf65f3c8d1e652c6de33a22ca8428821ffc95bf8b726ba9f37cfbc20c54dc5bd6159bdea1c4d951b68cb8e0528852c55bb0c5e499ea60560f7c2bb3af7f694407da863a2594f7a2f2838cb09254afbaf8003587746e719a0437f85eeffae534f283f3837eb939a9bccc3c71573500661245891051231b580ac92d9e0e68c6f47ad38975f493e2c40e7f303353c4adc7d563ef1e875977afac2e085f0c824045d998c9543d8a3293ad3c063b7a109d0bfd84b0b1e3f72c4f057e744e6a2cf9cc97727b08584f44bfa47799c5072b60f0b619aea88a17de585e9

• x-amz-meta-signature-algorithm

以下所示為產生摘要簽章所使用的演算法範例值:

SHA256withRSA

版本 1.0188

Page 194: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 日誌檔案完整性驗證的自訂實作

摘要檔案鏈結每個摘要檔案都包含對其前一個摘要檔案的參考,這項事實讓允許 AWS CLI 等驗證工具的 鏈結,得以偵測是否已刪除摘要檔案。它還可以成功檢查指定時間範圍內的摘要檔案,從最近的第一個檔案開始。

Note

當您停用日誌檔案完整性驗證時,摘要檔案鏈結會在 1 小時後中斷。CloudTrail 不會為在日誌檔案完整性驗證停用期間內交付的日誌檔案建立摘要檔案。例如,如果您在 1 月 1 日中午啟用日誌檔案完整性驗證,並在 1 月 2 日中午停用它,又在 1 月 10 日中午重新啟用,則 1 月 2 日中午到 1 月10 日中午這段期間交付的日誌檔案不會建立摘要檔案。您每次停止 CloudTrail 記錄或刪除線索時,也是同樣的情況。

如果停止記錄或刪除線索,CloudTrail 會交付最終的摘要檔案。此摘要檔案可以包含任何涵蓋最近事件的剩餘日誌檔案資訊,並包括 StopLogging 事件。

CloudTrail 日誌檔案完整性驗證的自訂實作由於 CloudTrail 使用業界標準、公開使用的密碼編譯演算法和雜湊函數,因此您可以建立自己的工具來驗證 CloudTrail 日誌檔案的完整性。啟用日誌檔案完整性驗證時,CloudTrail 會將摘要檔案交付到您的Amazon S3 儲存貯體。您可以使用這些檔案來實作自己的驗證解決方案。如需摘要檔案的詳細資訊,請參閱「CloudTrail 摘要檔案結構 (p. 185)」。

本主題說明如何簽署摘要檔案,並接著詳細說明您必須執行的步驟,以實作解決方案來驗證摘要檔案及其所參考的日誌檔案。

了解如何簽署 CloudTrail 摘要檔案CloudTrail 摘要檔案使用 RSA 數位簽章進行簽署。針對每個摘要檔案,CloudTrail 會執行下列操作:

1. 根據指定的摘要檔案欄位來建立資料簽署字串 (如下一節所述)。2. 取得區域唯一的私有金鑰。3. 將字串和私有金鑰的 SHA-256 雜湊傳遞到 RSA 簽署演算法,以產生數位簽章。4. 將簽章的位元組碼編碼為十六進位格式。5. 將數位簽章放在 x-amz-meta-signature 摘要檔案物件的 Amazon S3 中繼資料屬性。

資料簽署字串內容資料簽署字串包含下列 CloudTrail 物件:

• 摘要檔案的結束時間戳記,採用 UTC 延伸格式 (例如 2015-05-08T07:19:37Z)• 目前摘要檔案的 S3 路徑• 目前摘要檔案的十六進位編碼 SHA-256 雜湊• 先前摘要檔案的十六進位編碼簽章

本文件稍後會提供用於計算此字串的格式及範例字串。

自訂驗證實作步驟實作自訂驗證解決方案時,您需要先驗證摘要檔案,再驗證其所參考的日誌檔案。

驗證摘要檔案若要驗證摘要檔案,您需要其簽章、其私有金鑰已用來簽署的公有金鑰,以及用來運算的資料簽署字串。

1. 取得摘要檔案。

版本 1.0189

Page 195: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 日誌檔案完整性驗證的自訂實作

2. 確認已從其原始位置擷取摘要檔案。3. 取得摘要檔案的十六進位編碼簽章。4. 取得其私有金鑰已用來簽署摘要檔案之公有金鑰的十六進位編碼指紋。5. 擷取摘要檔案對應時間範圍內的公有金鑰。6. 從所擷取的公有金鑰,選擇其指紋符合摘要檔案中指紋的公有金鑰。7. 使用摘要檔案雜湊及其他摘要檔案欄位,重新建立用來驗證摘要檔案簽章的資料簽署字串。8. 傳遞字串、公有金鑰和簽章的 SHA-256 雜湊做為 RSA 簽章驗證演算法的參數,來驗證簽章。如果結果為

true,則摘要檔案有效。

驗證日誌檔案如果摘要檔案有效,請驗證摘要檔案所參考的每個日誌檔案。

1. 若要驗證日誌檔案的完整性,請在其未壓縮的內容上計算其 SHA-256 雜湊值,並將結果與摘要中以十六進位記錄之日誌檔案的雜湊進行比較。如果雜湊相符,則日誌檔案有效。

2. 使用包含在目前摘要檔案中之先前摘要檔案的相關資訊,先驗證先前摘要檔案,再驗證其對應的日誌檔案。

下列各節將詳細說明這些步驟。

A. 取得摘要檔案第一個步驟是取得最新摘要檔案、確認您已從其原始位置擷取該檔案、確認其數位簽章,並取得公有金鑰的指紋。

1. 使用 S3 Get 或 classAmazonS3Client (例如),從 儲存貯體取得您想要驗證之時間範圍的最新摘要檔案。Amazon S3

2. 確認用來擷取檔案的 S3 儲存貯體和 S3 物件符合摘要檔案本身所記錄的 S3 儲存貯體 S3 物件位置。3. 接下來,從 中摘要檔案物件的 中繼資料屬性,取得摘要檔案的數位簽章。4. 在摘要檔案中,從 digestPublicKeyFingerprint 欄位取得其私有金鑰已用來簽署摘要檔案之公有金

鑰的指紋。

B. 擷取用於驗證摘要檔案的公有金鑰若要取得公有金鑰以驗證摘要檔案,您可以使用 AWS CLI 或 CloudTrail API。在這兩種情況下,您會為要驗證的摘要檔案指定時間範圍 (即開始時間和結束時間)。您指定的時間範圍內可能會傳回一或多個公有金鑰。傳回的金鑰可能會有重疊的有效時間範圍。

Note

由於 CloudTrail 針對每個區域使用不同的私有/公有金鑰對,因此每個摘要檔案都是使用其區域唯一的私有金鑰進行簽署。因此,當您驗證來自特定區域的摘要檔案時,您必須從同一個區域擷取其公有金鑰。

使用 AWS CLI 擷取公有金鑰

若要使用 AWS CLI 擷取摘要檔案的公有金鑰,請使用 cloudtrail list-public-keys 命令。此命令的格式如下:

aws cloudtrail list-public-keys [--start-time <start-time>] [--end-time <end-time>]

開始時間和結束時間參數是 UTC 時間戳記,而且是選用的。如果未指定,則會使用目前的時間,並傳回一或多個目前作用中的公有金鑰。

回應範例

版本 1.0190

Page 196: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 日誌檔案完整性驗證的自訂實作

回應會是代表所傳回之一或多個金鑰的 JSON 物件清單:

{ "publicKeyList": [ { "ValidityStartTime": "1436317441.0", "ValidityEndTime": "1438909441.0", "Value": "MIIBCgKCAQEAn11L2YZ9h7onug2ILi1MWyHiMRsTQjfWE+pHVRLk1QjfWhirG+lpOa8NrwQ/r7Ah5bNL6HepznOU9XTDSfmmnP97mqyc7z/upfZdS/AHhYcGaz7n6Wc/RRBU6VmiPCrAUojuSk6/GjvA8iOPFsYDuBtviXarvuLPlrT9kAd4Lb+rFfR5peEgBEkhlzc5HuWO7S0y+KunqxX6jQBnXGMtxmPBPP0FylgWGNdFtks/4YSKcgqwH0YDcawP9GGGDAeCIqPWIXDLG1jOjRRzWfCmD0iJUkz8vTsn4hq/5ZxRFE7UBAUiVcGbdnDdvVfhF9C3dQiDq3k7adQIziLT0cShgQIDAQAB", "Fingerprint": "8eba5db5bea9b640d1c96a77256fe7f2" }, { "ValidityStartTime": "1434589460.0", "ValidityEndTime": "1437181460.0", "Value": "MIIBCgKCAQEApfYL2FiZhpN74LNWVUzhR+VheYhwhYm8w0n5Gf6i95ylW5kBAWKVEmnAQG7BvS5g9SMqFDQx52fW7NWV44IvfJ2xGXT+wT+DgR6ZQ+6yxskQNqV5YcXj4Aa5Zz4jJfsYjDuO2MDTZNIzNvBNzaBJ+r2WIWAJ/Xq54kyF63B6WE38vKuDE7nSd1FqQuEoNBFLPInvgggYe2Ym1Refe2z71wNcJ2kY+q0h1BSHrSM8RWuJIw7MXwF9iQncg9jYzUlNJomozQzAG5wSRfbplcCYNY40xvGd/aAmO0m+Y+XFMrKwtLCwseHPvj843qVno6x4BJN9bpWnoPo9sdsbGoiK3QIDAQAB", "Fingerprint": "8933b39ddc64d26d8e14ffbf6566fee4" }, { "ValidityStartTime": "1434589370.0", "ValidityEndTime": "1437181370.0", "Value": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqlzPJbvZJ42UdcmLfPUqXYNfOs6I8lCfao/tOs8CmzPOEdtLWugB9xoIUz78qVHdKIqxbaG4jWHfJBiOSSFBM0lt8cdVo4TnRa7oG9io5pysS6DJhBBAeXsicufsiFJR+wrUNh8RSLxL4k6G1+BhLX20tJkZ/erT97tDGBujAelqseGg3vPZbTx9SMfOLN65PdLFudLP7Gat0Z9p5jw/rjpclKfo9Bfc3heeBxWGKwBBOKnFAaN9V57pOaosCvPKmHd9bg7jsQkI9Xp22IzGLsTFJZYVA3KiTAElDMu80iFXPHEq9hKNbt9e4URFam+1utKVEiLkR2disdCmPTK0VQIDAQAB", "Fingerprint": "31e8b5433410dfb61a9dc45cc65b22ff" } ]}

使用 CloudTrail API 擷取公有金鑰

若要使用 CloudTrail API 擷取摘要檔案的公有金鑰,請將開始時間和結束時間值傳遞到 ListPublicKeysAPI。ListPublicKeysAPI 會傳回其私有金鑰已在指定時間範圍內用來簽署摘要檔案的公有金鑰。針對每個公有金鑰,API 也會傳回對應的指紋。

ListPublicKeys

本節說明 ListPublicKeys API 的請求參數和回應元素。Note

ListPublicKeys 的二進位欄位編碼可能會有所變更。

請求參數

名稱 描述

StartTime 選擇地指定要查詢 CloudTrail 摘要檔案公有金鑰之時間範圍的開始時間 (UTC)。如果未指定 StartTime,則會使用目前的時間,並傳回目前的公有金鑰。

類型:DateTime

EndTime 選擇地指定要查詢 CloudTrail 摘要檔案公有金鑰之時間範圍的結束時間 (UTC)。如果未指定 EndTime,則會使用目前的時間。

版本 1.0191

Page 197: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 日誌檔案完整性驗證的自訂實作

名稱 描述類型:DateTime

回應元素

PublicKeyList 是 PublicKey 物件陣列,其中包含:

名稱 描述

Value PKCS #1 格式的 DER 編碼公有金鑰值。

類型:Blob

ValidityStartTime 公有金鑰的有效開始時間。

類型:DateTime

ValidityEndTime 公有金鑰的有效結束時間。

類型:DateTime

Fingerprint 公有金鑰的指紋。該指紋可用來識別驗證摘要檔案所需使用的公有金鑰。

類型:字串

C. 選擇要用於驗證的公有金鑰從 list-public-keys 或 ListPublicKeys 所擷取的公有金鑰,選擇其指紋符合摘要檔案digestPublicKeyFingerprint 欄位中所記錄之指紋的公有金鑰。這是您將用來驗證摘要檔案的公有金鑰。

D. 重新建立資料簽署字串現在您已擁有摘要檔案的簽章及相關聯的公有金鑰,您需要計算資料簽署字串。計算資料簽署字串之後,您將擁有驗證簽章所需的輸入。

資料簽署字串的格式如下:

Data_To_Sign_String = Digest_End_Timestamp_in_UTC_Extended_format + '\n' + Current_Digest_File_S3_Path + '\n' + Hex(Sha256(current-digest-file-content)) + '\n' + Previous_digest_signature_in_hex

Data_To_Sign_String 範例如下。

2015-08-12T04:01:31ZS3-bucket-name/AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/12/111122223333_us-east-2_CloudTrail-Digest_us-east-2_20150812T040131Z.json.gz4ff08d7c6ecd6eb313257e839645d20363ee3784a2328a7d76b99b53cc9bcacd6e8540b83c3ac86a0312d971a225361d28ed0af20d70c211a2d405e32abf529a8145c2966e3bb47362383a52441545ed091fb81d4c7c09dd152b84e79099ce7a9ec35d2b264eb92eb6e090f1e5ec5d40ec8a0729c02ff57f9e30d5343a8591638f8b794972ce15bb3063a0197298b0aee2c1c8af74ec620261529265e83a9834ebef6054979d3e9a6767dfa6fdb4ae153436c567d6ae208f988047ccfc8e5e41f7d0121e54ed66b1b904f80fb2ce304458a2a6b91685b699434b946c52589e9438f8ebe5a0d80522b2f043b3710b87d2cda43e5c1e0db921d8d540b9ad5f6d4$31b1f4a8ef2d758424329583897339493a082bb36e782143ee5464b4e3eb4ef6

重新建立此字串之後,您可以驗證摘要檔案。

版本 1.0192

Page 198: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 日誌檔案完整性驗證的自訂實作

E. 驗證摘要檔案

將重新建立後的資料簽署字串、數位簽章和公有金鑰的 SHA-256 雜湊傳遞到 RSA 簽章驗證演算法。如果輸出為 true,則摘要檔案的簽章已經過驗證且摘要檔案有效。

F. 驗證日誌檔案

驗證摘要檔案之後,您可以驗證其所參考的日誌檔案。摘要檔案包含日誌檔案的 SHA-256 雜湊。如果其中一個日誌檔案在 CloudTrail 交付後已修改,SHA-256 雜湊將會變更,因此摘要檔案的簽章將會不符。

以下說明如何驗證日誌檔案:

1. 使用摘要檔案之 和 欄位中的 S3 位置資訊,對日誌檔案執行 。2. 如果 S3 Get 操作成功,請使用下列步驟,逐一查看摘要檔案 logFiles 陣列中所列的 log 檔案:

a. 從摘要檔案中對應日誌的 logFiles.hashValue 欄位,擷取檔案的原始雜湊。b. 使用 logFiles.hashAlgorithm 中指定的雜湊演算法,將日誌檔案的未壓縮內容進行雜湊。c. 將所產生的雜湊值與摘要檔案中日誌的雜湊值進行比較。如果雜湊相符,則日誌檔案有效。

G. 驗證其他摘要和日誌檔案

在每個摘要檔案中,下列欄位提供先前摘要檔案的位置和簽章:

• previousDigestS3Bucket

• previousDigestS3Object

• previousDigestSignature

使用這項資訊循序瀏覽先前摘要檔案,並使用先前章節中的步驟來驗證每個摘要檔案的簽章及其所參考的日誌檔案。唯一的差別是,針對先前的摘要檔案,您不需要從摘要檔案物件的 Amazon S3 中繼資料屬性擷取數位簽章。previousDigestSignature 欄位中會為您提供先前摘要檔案的簽章。

您可以回到摘要檔案一開始,或直到摘要檔案鏈結中斷為止,以兩者之中先到者為準。

離線驗證摘要和日誌檔案離線驗證摘要和日誌檔案時,您通常可以遵循先前章節中所述的程序。不過,您必須考慮下列幾個部分:

處理最新摘要檔案

最新 (即「目前」) 摘要檔案的數位簽章位在摘要檔案物件的 Amazon S3 中繼資料屬性中。在離線案例中,目前摘要檔案的數位簽章將無法使用。

有兩個方法可處理此問題:

• 由於先前摘要檔案的數位簽章位在目前摘要檔案中,請從倒數第二個摘要檔案開始驗證。使用此方法,就不會驗證最新摘要檔案。

• 做為初步步驟,請從摘要檔案物件的中繼資料屬性 (例如,透過呼叫 Amazon S3 getObjectMetadata API) 取得目前摘要檔案的簽章,然後將其安全地存放在此。如此除了鏈結中的先前檔案,還能驗證目前摘要檔案。

路徑解析

已下載摘要檔案中的欄位 (例如 s3Object 和 previousDigestS3Object) 仍會指向日誌檔案和摘要檔案的 Amazon S3 線上位置。離線解決方案必須設法將這些位置,重新路由到已下載日誌和摘要檔案的目前路徑。

版本 1.0193

Page 199: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 日誌檔案完整性驗證的自訂實作

公有金鑰若要離線驗證,您必須先在線上取得在指定時間範圍內驗證日誌檔案所需的所有公有金鑰 (例如藉由呼叫ListPublicKeys),然後存放在安全的離線位置。每當您想要在指定的初始時間範圍外驗證其他檔案時,都必須重複此步驟。

範例驗證程式碼片段下列範例程式碼片段提供驗證 CloudTrail 摘要和日誌檔案的骨架程式碼。此骨架程式碼線上/離線皆可使用;也就是說,您可以決定是否要線上連線到 AWS 來實作它。建議的實作使用 Java Cryptography Extension(JCE) 和 Bouncy Castle 做為安全供應商。

此範例程式碼片段說明:

• 如何建立用來驗證摘要檔案簽章的資料簽署字串。• 如何驗證摘要檔案簽章。• 如何驗證日誌檔案雜湊。• 驗證摘要檔案鏈結的程式碼結構。

import java.util.Arrays;import java.security.MessageDigest;import java.security.KeyFactory;import java.security.PublicKey;import java.security.Security;import java.security.Signature;import java.security.spec.X509EncodedKeySpec;import org.json.JSONObject;import org.bouncycastle.jce.provider.BouncyCastleProvider;import org.apache.commons.codec.binary.Hex; public class DigestFileValidator { public void validateDigestFile(String digestS3Bucket, String digestS3Object, String digestSignature) { // Using the Bouncy Castle provider as a JCE security provider - http://www.bouncycastle.org/ Security.addProvider(new BouncyCastleProvider()); // Load the digest file from S3 (using Amazon S3 Client) or from your local copy JSONObject digestFile = loadDigestFileInMemory(digestS3Bucket, digestS3Object); // Check that the digest file has been retrieved from its original location if (!digestFile.getString("digestS3Bucket").equals(digestS3Bucket) || !digestFile.getString("digestS3Object").equals(digestS3Object)) { System.err.println("Digest file has been moved from its original location."); } else { // Compute digest file hash MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); messageDigest.update(convertToByteArray(digestFile)); byte[] digestFileHash = messageDigest.digest(); messageDigest.reset(); // Compute the data to sign String dataToSign = String.format("%s%n%s/%s%n%s%n%s", digestFile.getString("digestEndTime"), digestFile.getString("digestS3Bucket"), digestFile.getString("digestS3Object"), // Constructing the S3 path of the digest file as part of the data to sign Hex.encodeHexString(digestFileHash),

版本 1.0194

Page 200: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 日誌檔案完整性驗證的自訂實作

digestFile.getString("previousDigestSignature")); byte[] signatureContent = Hex.decodeHex(digestSignature); /* NOTE: To find the right public key to verify the signature, call CloudTrail ListPublicKey API to get a list of public keys, then match by the publicKeyFingerprint in the digest file. Also, the public key bytes returned from ListPublicKey API are DER encoded in PKCS#1 format: PublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, PublicKey BIT STRING } AlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL } */ pkcs1PublicKeyBytes = getPublicKey(digestFile.getString("digestPublicKeyFingerprint"))); // Transform the PKCS#1 formatted public key to x.509 format. RSAPublicKey rsaPublicKey = RSAPublicKey.getInstance(pkcs1PublicKeyBytes); AlgorithmIdentifier rsaEncryption = new AlgorithmIdentifier(PKCSObjectIdentifiers.rsaEncryption, null); SubjectPublicKeyInfo publicKeyInfo = new SubjectPublicKeyInfo(rsaEncryption, rsaPublicKey); // Create the PublicKey object needed for the signature validation PublicKey publicKey = KeyFactory.getInstance("RSA", "BC").generatePublic(new X509EncodedKeySpec(publicKeyInfo.getEncoded())); // Verify signature Signature signature = Signature.getInstance("SHA256withRSA", "BC"); signature.initVerify(publicKey); signature.update(dataToSign.getBytes("UTF-8")); if (signature.verify(signatureContent)) { System.out.println("Digest file signature is valid, validating log files…"); for (int i = 0; i < digestFile.getJSONArray("logFiles").length(); i++) { JSONObject logFileMetadata = digestFile.getJSONArray("logFiles").getJSONObject(i); // Compute log file hash byte[] logFileContent = loadUncompressedLogFileInMemory( logFileMetadata.getString("s3Bucket"), logFileMetadata.getString("s3Object") ); messageDigest.update(logFileContent); byte[] logFileHash = messageDigest.digest(); messageDigest.reset(); // Retrieve expected hash for the log file being processed byte[] expectedHash = Hex.decodeHex(logFileMetadata.getString("hashValue")); boolean signaturesMatch = Arrays.equals(expectedHash, logFileHash); if (!signaturesMatch) { System.err.println(String.format("Log file: %s/%s hash doesn't match.\tExpected: %s Actual: %s",

版本 1.0195

Page 201: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用CloudTrail Processing Library

logFileMetadata.getString("s3Bucket"), logFileMetadata.getString("s3Object"), Hex.encodeHexString(expectedHash), Hex.encodeHexString(logFileHash))); } else { System.out.println(String.format("Log file: %s/%s hash match", logFileMetadata.getString("s3Bucket"), logFileMetadata.getString("s3Object"))); } } } else { System.err.println("Digest signature failed validation."); } System.out.println("Digest file validation completed."); if (chainValidationIsEnabled()) { // This enables the digests' chain validation validateDigestFile( digestFile.getString("previousDigestS3Bucket"), digestFile.getString("previousDigestS3Object"), digestFile.getString("previousDigestSignature")); } } }}

使用CloudTrail Processing LibraryCloudTrail Processing Library 是一種 Java 程式庫,提供一種簡單的方法來處理 AWS CloudTrail 日誌。您提供 CloudTrail SQS 佇列的組態詳細資訊,並編寫程式碼來處理事件。CloudTrail Processing Library會處理其餘的工作。它會輪詢您的 Amazon SQS 佇列、讀取和剖析佇列訊息、下載 CloudTrail 日誌檔案、剖析日誌檔案中的事件,並將事件傳遞至您的程式碼做為 Java 物件。

CloudTrail Processing Library 具有高度可擴展性並容錯。它會處理日誌檔案的平行處理,讓您可以處理所需數目的日誌。它會處理與網路逾時和無法存取資源相關的網路失敗。

下列主題顯示如何使用 CloudTrail Processing Library 來處理 Java 專案中的 CloudTrail 日誌。

此程式庫做為 Apache 授權開放原始碼專案提供,可在 GitHub 取得:https://github.com/aws/aws-cloudtrail-processing-library。此程式庫來源包括可用作您自己專案基礎的範本程式碼。

主題• 最低需求 (p. 196)• 處理 CloudTrail Logs (p. 197)• 進階主題 (p. 200)• 其他資源 (p. 203)

最低需求若要使用 CloudTrail Processing Library,您必須具有下列項目:

• AWS SDK for Java 1.11.830

版本 1.0196

Page 202: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南處理 CloudTrail Logs

• Java 1.8 (Java SE 8)

處理 CloudTrail Logs在 Java 應用程式中處理 CloudTrail 日誌:

1. 將 CloudTrail Processing Library 新增至專案 (p. 197)2. 設定 CloudTrail Processing Library (p. 198)3. 實作事件處理器 (p. 200)4. 執行個體化和執行處理執行器 (p. 200)

將 CloudTrail Processing Library 新增至專案若要使用 CloudTrail Processing Library,請將它新增至 Java 專案的 classpath。

內容• 將程式庫新增至 Apache Ant 專案 (p. 197)• 將程式庫新增至 Apache Maven 專案 (p. 197)• 將程式庫新增至 Eclipse 專案 (p. 198)• 將程式庫新增至 IntelliJ 專案 (p. 198)

將程式庫新增至 Apache Ant 專案

將程式庫新增至 Apache Ant 專案

1. Download or clone the CloudTrail Processing Library source code from GitHub:

• https://github.com/aws/aws-cloudtrail-processing-library2. Build the .jar file from source as described in the README:

mvn clean install -Dgpg.skip=true

3. 將產生的 .jar 檔案複製至您的專案,並將它新增至您專案的 build.xml 檔案。例如:

<classpath> <pathelement path="${classpath}"/> <pathelement location="lib/aws-cloudtrail-processing-library-1.4.0.jar"/></classpath>

將程式庫新增至 Apache Maven 專案

CloudTrail Processing Library 適用於 Apache Maven. 您可以將它新增至專案,方法是在專案的 pom.xml檔案中編寫單一相依性。

將 CloudTrail Processing Library 新增至 Maven 專案

• 開啟 Maven 專案的 pom.xml 檔案,並新增下列相依性:

版本 1.0197

Page 203: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南處理 CloudTrail Logs

<dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-cloudtrail-processing-library</artifactId> <version>1.4.0</version></dependency>

將程式庫新增至 Eclipse 專案

將 CloudTrail Processing Library 新增至 Eclipse 專案

1. Download or clone the CloudTrail Processing Library source code from GitHub:

• https://github.com/aws/aws-cloudtrail-processing-library2. Build the .jar file from source as described in the README:

mvn clean install -Dgpg.skip=true

3. 將建置的 aws-cloudtrail-processing-library-1.4.0.jar 複製至您專案中的目錄 (一般是 lib).4. 在 Eclipse Project Explorer (專案瀏覽器) 中,以滑鼠右鍵按一下您專案的名稱,並選擇 Build Path (建置

路徑),然後選擇 Configure (設定)5. 在 Java Build Path (Java 建置路徑) 視窗中,選擇 Libraries (程式庫) 標籤。6. 選擇 Add JARs... (新增),然後導覽至您已複製 aws-cloudtrail-processing-library-1.4.0.jar 的路徑。7. 選擇 OK (確定) 來完成將 .jar 新增至您的專案。

將程式庫新增至 IntelliJ 專案

將 CloudTrail Processing Library 新增至 IntelliJ 專案

1. Download or clone the CloudTrail Processing Library source code from GitHub:

• https://github.com/aws/aws-cloudtrail-processing-library2. Build the .jar file from source as described in the README:

mvn clean install -Dgpg.skip=true

3. 從 File (檔案) 中,選擇 Project Structure. (專案結構)。4. 選擇 Modules (模組),然後選擇 Dependencies. (相依性)。5. 選擇 + JARS or Directories (+ JARS 或目錄),然後前往您建置 aws-cloudtrail-processing-

library-1.4.0.jar. 的路徑。6. 選擇 Apply (套用),然後選擇 OK (確定) 完成將 .jar 新增至您的專案。

設定 CloudTrail Processing Library您可以建立在執行階段載入的 classpath 屬性檔案,或手動建立 CloudTrail Processing Library 物件並設定選項,來設定 ClientConfiguration

提供屬性檔案

您可以編寫 classpath 屬性檔案,以將組態選項提供給您的應用程式。下列範例檔案顯示您可設定的選項:

# AWS access key. (Required)

版本 1.0198

Page 204: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南處理 CloudTrail Logs

accessKey = your_access_key

# AWS secret key. (Required)secretKey = your_secret_key

# The SQS URL used to pull CloudTrail notification from. (Required)sqsUrl = your_sqs_queue_url

# The SQS end point specific to a region.sqsRegion = us-east-1

# A period of time during which Amazon SQS prevents other consuming components# from receiving and processing that message.visibilityTimeout = 60

# The S3 region to use.s3Region = us-east-1

# Number of threads used to download S3 files in parallel. Callbacks can be# invoked from any thread.threadCount = 1

# The time allowed, in seconds, for threads to shut down after# AWSCloudTrailEventProcessingExecutor.stop() is called. If they are still# running beyond this time, they will be forcibly terminated.threadTerminationDelaySeconds = 60

# The maximum number of AWSCloudTrailClientEvents sent to a single invocation# of processEvents().maxEventsPerEmit = 10

# Whether to include raw event information in CloudTrailDeliveryInfo.enableRawEventInfo = false

# Whether to delete SQS message when the CloudTrail Processing Library is unable to process the notification.deleteMessageUponFailure = false

下列是必要參數:

• sqsUrl – 提供從中提取 CloudTrail 通知的 URL。如果您未指定此值,則AWSCloudTrailProcessingExecutor 會擲出 IllegalStateException.

• accessKey – 您的帳號唯一辨識碼,例如 AKIAIOSFODNN7EXAMPLE。• secretKey – 您的帳號唯一辨識碼,例如 wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY。

accessKey 和 secretKey 參數會將 AWS 登入資料提供給程式庫,讓程式庫可以代您存取 AWS

其他參數的預設值是透過程式庫所設定。如需詳細資訊,請前往 AWS CloudTrail 處理程式庫參考。

建立ClientConfiguration

您可以初始化和設定 AWSCloudTrailProcessingExecutor 物件的選項,以將選項提供給ClientConfiguration,而不是在 classpath 屬性中設定選項,如下列範例所示:

ClientConfiguration basicConfig = new ClientConfiguration( "http://sqs.us-east-1.amazonaws.com/123456789012/queue2", new DefaultAWSCredentialsProviderChain());

basicConfig.setEnableRawEventInfo(true);basicConfig.setThreadCount(4);basicConfig.setnEventsPerEmit(20);

版本 1.0199

Page 205: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南進階主題

實作事件處理器若要處理 CloudTrail 日誌,您必須實作收到 EventsProcessor 日誌資料的 CloudTrail 下列是範例實作:

public class SampleEventsProcessor implements EventsProcessor {

public void process(List<CloudTrailEvent> events) { int i = 0; for (CloudTrailEvent event : events) { System.out.println(String.format("Process event %d : %s", i++, event.getEventData())); } }}

實作 EventsProcessor 時,請實作 process() 用來將 AWSCloudTrailProcessingExecutor 事件傳送給您的 CloudTrail 回呼。事件是以 CloudTrailClientEvent 物件清單形式提供。

CloudTrailClientEvent 物件提供 CloudTrailEvent 和 CloudTrailEventMetadata,以用來讀取CloudTrail 事件和交付資訊。

此簡單範例會列印每個傳遞至 SampleEventsProcessor 之事件的事件資訊。 在您自己的實作中,您可以依您認為合適的方式處理。AWSCloudTrailProcessingExecutor 只要有要傳送的事件且仍在執行,就會持續將事件傳送至 EventsProcessor

執行個體化和執行處理執行器在您寫入 EventsProcessor 並設定 CloudTrail Processing Library 的組態值 (在屬性檔案中或使用 ClientConfiguration 類別) 後,可以使用這些元素來初始化和使用AWSCloudTrailProcessingExecutor.

使用 AWSCloudTrailProcessingExecutor 處理 CloudTrail 事件

1. 執行個體化 AWSCloudTrailProcessingExecutor.Builder 物件。Builder 的建構函數採用EventsProcessor 物件和 classpath 屬性檔案名稱。

2. 呼叫 Builder 的 build() 原廠方法來設定和取得 AWSCloudTrailProcessingExecutor 物件。3. 使用 AWSCloudTrailProcessingExecutor 的 start() 和 stop() 方法開始和結束 CloudTrail 事

件處理。

public class SampleApp { public static void main(String[] args) throws InterruptedException { AWSCloudTrailProcessingExecutor executor = new AWSCloudTrailProcessingExecutor.Builder(new SampleEventsProcessor(), "/myproject/cloudtrailprocessing.properties").build();

executor.start(); Thread.sleep(24 * 60 * 60 * 1000); // let it run for a while (optional) executor.stop(); // optional }}

進階主題主題

• 篩選要處理的事件 (p. 201)• 報告進度 (p. 202)

版本 1.0200

Page 206: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南進階主題

• 處理錯誤 (p. 203)

篩選要處理的事件根據預設,Amazon SQS 佇列的 S3 儲存貯體與其中包含的所有事件都會傳送至您的 EventsProcessor。提供您可以實作的選用界面,用於篩選來源以取得 CloudTrail Processing Library Logs 和篩選您有興趣處理的事件。CloudTrail

SourceFilter

您可以實作 SourceFilter 界面,選擇是否要處理來自所提供來源的登入。SourceFilter 宣告可接收 filterSource() 物件的單一回呼方法 CloudTrailSource。若要持續處理來源中的事件,請從false 傳回 filterSource().

在程式庫輪詢 CloudTrail Processing Library 佇列上的日誌之後,filterSource()會呼叫 AmazonSQS 方法。這發生在程式庫啟動日誌的事件篩選或處理之前。

下列是範例實作:

public class SampleSourceFilter implements SourceFilter{ private static final int MAX_RECEIVED_COUNT = 3;

private static List<String> accountIDs ; static { accountIDs = new ArrayList<>(); accountIDs.add("123456789012"); accountIDs.add("234567890123"); }

@Override public boolean filterSource(CloudTrailSource source) throws CallbackException { source = (SQSBasedSource) source; Map<String, String> sourceAttributes = source.getSourceAttributes();

String accountId = sourceAttributes.get( SourceAttributeKeys.ACCOUNT_ID.getAttributeKey());

String receivedCount = sourceAttributes.get( SourceAttributeKeys.APPROXIMATE_RECEIVE_COUNT.getAttributeKey());

int approximateReceivedCount = Integer.parseInt(receivedCount);

return approximateReceivedCount <= MAX_RECEIVED_COUNT && accountIDs.contains(accountId); }}

如果您未提供自己的 SourceFilter,則會使用 DefaultSourceFilter,以允許處理所有來源 (一律會傳回 true).

EventFilter

您可以實作 EventFilter 界面,選擇是否要將 CloudTrail 事件傳送給您的EventsProcessor。EventFilter 會宣告可接收 filterEvent() 物件的單一回呼方法CloudTrailEvent 若要持續處理事件,請從 false 傳回 filterEvent().

在程式庫輪詢 CloudTrail Processing Library 佇列上的日誌之後,以及篩選來源之後,filterEvent()會呼叫 Amazon SQS 方法。這發生在程式庫啟動日誌的事件處理之前。

請參閱下列範例實作:

public class SampleEventFilter implements EventFilter{

版本 1.0201

Page 207: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南進階主題

private static final String EC2_EVENTS = "ec2.amazonaws.com";

@Override public boolean filterEvent(CloudTrailClientEvent clientEvent) throws CallbackException { CloudTrailEvent event = clientEvent.getEvent();

String eventSource = event.getEventSource(); String eventName = event.getEventName();

return eventSource.equals(EC2_EVENTS) && eventName.startsWith("Delete"); }}

如果您未提供自己的 EventFilter,則會使用 DefaultEventFilter,以允許處理所有事件 (一律會傳回 true).

報告進度實作 ProgressReporter 界面,自訂 CloudTrail Processing Library進度的報告。ProgressReporter 宣告兩種方法:reportStart() 和 reportEnd(),以在下列操作開始和結束時呼叫:

• 輪詢 中的訊息Amazon SQS• 剖析 中的訊息Amazon SQS• 處理 Amazon SQS 日誌的 CloudTrail 來源• 刪除 中的訊息Amazon SQS• 下載 CloudTrail 日誌檔案• 處理 CloudTrail 日誌檔案

兩種方法都會收到 ProgressStatus 物件,其中包含所執行操作的資訊。progressState 成員擁有可識別目前操作之 ProgressState 列舉的成員。這個成員可以在 progressInfo 成員中包含其他資訊。此外,您從 reportStart() 傳回的任何物件都會傳遞至 reportEnd(),因此您可以提供內容資訊 (例如開始處理事件的時間)。

下列範例實作提供操作需要多久時間才能完成的資訊:

public class SampleProgressReporter implements ProgressReporter { private static final Log logger = LogFactory.getLog(DefaultProgressReporter.class);

@Override public Object reportStart(ProgressStatus status) { return new Date(); }

@Override public void reportEnd(ProgressStatus status, Object startDate) { System.out.println(status.getProgressState().toString() + " is " + status.getProgressInfo().isSuccess() + " , and latency is " + Math.abs(((Date) startDate).getTime()-new Date().getTime()) + " milliseconds."); }}

如果您未實作自己的 ProgressReporter,則會改用 DefaultExceptionHandler,以列印所執行狀態的名稱。

版本 1.0202

Page 208: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南其他資源

處理錯誤當 log 處理期間發生例外時,ExceptionHandler 界面可讓您提供特殊處理。ExceptionHandler宣告單一回呼方法 handleException(),以接收包含所發生例外狀況之內容的ProcessingLibraryException 物件。

您可以使用傳入的 ProcessingLibraryException 方法找出例外發生時執行的操作,並取得操作狀態的其他資訊。getStatus()ProcessingLibraryException 衍生自 Java 的標準 Exception 類別,因此您也可以呼叫任何例外狀況方法來擷取例外狀況的資訊。

請參閱下列範例實作:

public class SampleExceptionHandler implements ExceptionHandler{ private static final Log logger = LogFactory.getLog(DefaultProgressReporter.class);

@Override public void handleException(ProcessingLibraryException exception) { ProgressStatus status = exception.getStatus(); ProgressState state = status.getProgressState(); ProgressInfo info = status.getProgressInfo();

System.err.println(String.format( "Exception. Progress State: %s. Progress Information: %s.", state, info)); }}

如果您未提供自己的 ExceptionHandler,則會改用 DefaultExceptionHandler,以列印標準錯誤訊息。

Note

如果 deleteMessageUponFailure 參數是 true,則 CloudTrail Processing Library 不會區分一般例外狀況與處理錯誤,而且可能會刪除佇列訊息。

1. 例如,您使用 SourceFilter,依時間戳記來篩選訊息。2. 不過,您沒有存取可接收 CloudTrail 日誌檔案之 S3 儲存貯體的必要許可。因為您沒有必要許

可,所以會擲回 AmazonServiceException CloudTrail Processing Library 會將這個項目包裝在 CallBackException. 中。

3. DefaultExceptionHandler 會將這個項目記錄為錯誤,但不會識別根本原因,即您沒有必要許可。CloudTrail Processing Library 會將這個項目視為處理錯誤,並刪除訊息,即使訊息包含有效的 CloudTrail 日誌檔案。

如果您想要使用 SourceFilter 來篩選訊息,則請驗證 ExceptionHandler 可以區分服務例外狀況與處理錯誤。

其他資源如需 CloudTrail Processing Library 的詳細資訊,請參閱以下項目:

• CloudTrail Processing Library GitHub 專案,其中包含示範如何實作 應用程式的範例CloudTrailProcessing Library程式碼。

• CloudTrail Processing Library Java 套件文件。

版本 1.0203

Page 209: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南資料保護

AWS CloudTrail 中的安全AWS中的雲端安全最為優先。身為 AWS 客戶的您,將能從資料中心和網路架構的建置中獲益,以滿足組織最為敏感的安全要求。

安全是 AWS 與您共同肩負的責任。共同責任模型將此描述為雲端本身的安全和雲端內部的安全:

• 雲端本身的安全 – AWS 負責保護執行 AWS 雲端內 AWS 服務的基礎設施。AWS 也會提供可讓您安全使用的服務。在 AWS 合規計劃中,第三方稽核員會定期測試並驗證我們安全性的功效。若要進一步了解適用於 AWS CloudTrail 的合規計劃,請參閱合規計劃的 AWS 服務範圍。

• 雲端內部的安全 – 您的責任取決於所使用的 AWS 服務。您也必須對其他因素負責,包括資料的機密性、您公司的要求和適用法律和法規。

本文件有助於您了解如何在使用 CloudTrail 時套用共同責任模型。下列主題將示範如何設定 CloudTrail 以符合您的安全與合規目標。您也會了解如何使用其他 AWS 服務來協助監控並保護 CloudTrail 資源。

主題• AWS CloudTrail 的資料保護 (p. 204)• 的 Identity and Access ManagementAWS CloudTrail (p. 205)• AWS CloudTrail 的合規驗證 (p. 230)• AWS CloudTrail 中的恢復能力 (p. 230)• AWS CloudTrail 的基礎設施安全 (p. 231)• 的安全最佳實務AWS CloudTrail (p. 231)• 使用 AWS KMS 受管金鑰 (SSE-KMS) 加密 CloudTrail 日誌檔案 (p. 234)

AWS CloudTrail 的資料保護AWS 共享責任模型 適用於 AWS CloudTrail中的資料保護。如此模型所述,AWS 負責保護執行所有 AWSCloud 的全球基礎架構。您必須負責維護在此基礎架構上託管之內容的控制權。此內容包括您所使用之 AWS服務的安全性設定和管理工作。如需資料隱私權的詳細資訊,請參閱資料隱私權常見問答集。 如需歐洲資料保護的相關資訊,請參閱 AWS 安全性部落格上的 AWS 共同責任模型和 GDPR 部落格文章。

為資料保護目的,我們建議您保護 AWS 帳戶登入資料,並以 AWS Identity and Access Management (IAM)來設定個別使用者帳戶。如此一來,每個使用者都只會獲得授予完成其任務所必須的許可。我們也建議您採用下列方式保護資料:

• 每個帳戶都使用多重驗證 (MFA)。• 使用 SSL/TLS 與 AWS 資源通訊。建議使用 TLS 1.2 或更新版本。• 使用 AWS CloudTrail 設定 API 和使用者活動記錄。• 使用 AWS 加密解決方案,以及 AWS 服務內的所有預設安全控制。• 使用進階的受管安全服務,例如 Amazon Macie,協助探索和保護存放在 Amazon S3 的個人資料。• 如果您在透過命令列介面或 API 存取 AWS 時,需要 FIPS 140-2 驗證的加密模組,請使用 FIPS 端點。如

需可用 FIPS 端點的詳細資訊,請參閱聯邦資訊處理標準 (FIPS) 140-2。

我們強烈建議您絕對不要將客戶帳戶號碼等敏感的識別資訊,放在自由格式的欄位中,如 Name (名稱) 欄位。這包括當您使用 CloudTrail 或使用主控台、API、AWS CLI 或 AWS 開發套件的其他 AWS 服務。您輸入 CloudTrail 或其他服務的任何資料都可能被選入診斷日誌中。當您提供外部伺服器的 URL 時,請勿在URL 中包含登入資料資訊,以驗證您對該伺服器的請求。

版本 1.0204

Page 210: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Identity and Access Management

CloudTrail 事件日誌檔案預設會使用 Amazon S3 伺服器端加密 (SSE) 進行加密。您也可以選擇使用 AWSKey Management Service (AWS KMS) 金鑰來加密日誌檔案。您可以將日誌檔案存放在 儲存貯體中,沒有時間限制。您也可以定義 Amazon S3 生命週期規則以自動封存或刪除日誌檔案。如果您要日誌檔案交付和驗證的通知,可以設定 Amazon SNS 通知。

以下安全最佳實務也可用來解決 CloudTrail 中的資料保護問題:

• 使用 AWS KMS 受管金鑰 (SSE-KMS) 加密 CloudTrail 日誌檔案 (p. 234)• CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221)• 驗證 CloudTrail 日誌檔案完整性 (p. 178)• 在 AWS 帳戶之間共享 CloudTrail 日誌檔案 (p. 170)

由於 CloudTrail 日誌檔存放在儲存貯體或 Amazon S3 的儲存貯體,您也應該檢視 Amazon Simple StorageService 開發人員指南 的資料保護資訊。如需更多詳細資訊,請參閱 Amazon S3 的保護資料。

的 Identity and Access ManagementAWSCloudTrail

AWS Identity and Access Management (IAM) 是一種 AWS 服務,可協助管理員安全地控制 AWS 資源的存取。IAM 管理員可以控制能進行身份驗證 (登入) 及獲得授權 (具備許可) 以使用 CloudTrail 資源的人員。IAM是一種 AWS 服務,無須支付任何額外的費用即可使用。

主題• Audience (p. 205)• 使用身分來驗證 (p. 206)• 使用政策管理存取權 (p. 207)• AWS CloudTrail 如何搭配 IAM 運作 (p. 208)• AWS CloudTrail 以身分為基礎的政策範例 (p. 212)• CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221)• Amazon SNS適用於 的 主題政策CloudTrail (p. 225)• 針對 AWS CloudTrail Identity and Access 進行故障診斷 (p. 227)• 在 使用服務連結角色AWS CloudTrail (p. 228)

Audience您使用 AWS Identity and Access Management (IAM) 的方式會因您在 CloudTrail 中進行的任務而有所差異。

服務使用者 – 若您使用 CloudTrail 來執行您的作業,您的管理員可以提供您需要的登入資料和許可。隨著您為了執行作業而使用的 CloudTrail 功能數量變多,您可能會需要額外的許可。了解存取的管理方式可協助您向管理員請求正確的許可。若您無法存取 CloudTrail 中的某項功能,請參閱針對 AWS CloudTrail Identityand Access 進行故障診斷 (p. 227)。

服務管理員 – 若您是負責管理您公司的 CloudTrail 資源,您應該會具備 CloudTrail 的完整存取權限。您的任務是判斷您員工應存取的 CloudTrail 功能及資源。您接著必須將請求提交給您的 IAM 管理員,來變更您服務使用者的許可。檢閱此頁面上的資訊,了解 IAM 的基本概念。若要進一步了解您公司可搭配 CloudTrail 使用IAM 的方式,請參閱 AWS CloudTrail 如何搭配 IAM 運作 (p. 208)。

IAM 管理員 – 如果您是 IAM 管理員,請了解如何撰寫政策來管理 CloudTrail 存取的詳細資訊。若要檢視您可以在 IAM 中使用的範例 CloudTrail 身分類型政策,請參閱 AWS CloudTrail 以身分為基礎的政策範例 (p. 212)。

版本 1.0205

Page 211: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用身分來驗證

使用身分來驗證身份驗證是使用身分登入資料登入 AWS 的方式。如需使用 AWS 管理主控台 登入的詳細資訊,請參閱 IAM使用者指南中的以 IAM 或 根使用者 使用者登入 AWS 管理主控台。

您必須以 AWS 帳戶根使用者、IAM 使用者,或取得 IAM 角色身分的方式進行身份驗證 (登入 AWS)。您也可以使用貴公司的單一登入身份驗證,甚至使用 Google 或 Facebook 進行登入。在上述案例中,您的管理員會使用 IAM 角色預先設定聯合身分。當您使用來自其他公司的身份驗證來存取 AWS 時,您是間接地擔任角色。

若要直接登入 AWS 管理主控台,請使用您的密碼及您的 根使用者 電子郵件或您的 IAM 使用者名稱。您可以使用您的 根使用者 或 IAM 使用者存取金鑰,透過程式設計程式的方式存取 AWS。AWS 提供開發套件和命令列工具,以加密的方式使用您的登入資料簽署您的請求。如果您不使用 AWS工具,您必須自行簽署請求。請使用 Signature 第 4 版來執行此作業,它是針對傳入 API 請求進行身份驗證的通訊協定。如需驗證請求的詳細資訊,請參閱《AWS General Reference》中的 Signature 第 4 版簽署程序。

無論您使用何種身份驗證方法,您可能還需要提供額外的安全性資訊。例如,AWS 建議您使用多重驗證(MFA) 來提高帳戶的安全。若要進一步了解,請參閱《IAM 使用者指南》中的在 AWS 中使用多重因素認證(MFA)。

AWS 帳戶根使用者當您首次建立 AWS 帳戶時,您會先有單一的登入身分,可以完整存取帳戶中所有 AWS 服務與資源。此身分稱為 AWS 帳戶 根使用者,是藉由您用來建立帳戶的電子郵件地址和密碼以登入並存取。強烈建議您不要以 根使用者 處理日常作業,即使是管理作業。反之,請遵循僅以 根使用者 建立您第一個 IAM 使用者的最佳實務。接著請妥善鎖定 根使用者 登入資料,只用來執行少數的帳戶與服務管理作業。

IAM 使用者和群組IAM 使用者是您 AWS 帳戶中的一種實體,具備單一人員或應用程式的特定許可。IAM 使用者可有長期登入資料 (例如,使用者名稱和密碼或一組存取金鑰)。若要了解如何產生存取金鑰,請參閱《IAM 使用者指南》中的管理 IAM 使用者的存取金鑰。當您產生 IAM 使用者的存取金鑰時,請確認您已檢視且安全地儲存金鑰對。您在這之後便無法復原私密存取金鑰。屆時您必須改為產生新的存取金鑰對。

IAM 群組是一種指定 IAM 使用者集合的實體。您無法以群組身分登入。您可以使用群組來一次為多名使用者指定許可。群組可讓管理大量使用者許可的過程變得更為容易。例如,您可以擁有一個名為 IAMAdmin 的群組,並給予該群組管理 IAM 資源的許可。

使用者與角色不同。使用者只會與單一人員或應用程式建立關聯,但角色的目的是在由任何需要它的人員取得。使用者擁有永久的長期登入資料,但角色僅提供暫時登入資料。若要進一步了解,請參閱《IAM 使用者指南》中的建立 IAM 使用者 (而非角色) 的時機。

IAM 角色IAM 角色是您 AWS 帳戶中的一種實體,具備特定許可。它與 IAM 使用者相似,但是不會與特定人員建立關聯。您可以在 AWS 管理主控台 中透過切換角色來暫時取得 IAM 角色。您可以透過呼叫 AWS CLI 或 AWSAPI 操作,或是使用自訂 URL 來取得角色。如需使用角色的方法詳細資訊,請參閱《IAM 使用者指南》中的使用 IAM 角色。

使用臨時登入資料的 IAM 角色在下列情況中非常有用:

• 暫時 IAM 使用者許可 – IAM 使用者可以取得 IAM 角色來暫時針對特定任務具備不同的許可。• 聯合身分使用者存取 – 您可以使用 AWS Directory Service、您企業使用者目錄或 Web 身分供應商現有的

使用者身分,而不需要建立 IAM 使用者。這些稱為聯合身分使用者。透過身分供應商來請求存取時,AWS會指派角色給聯合身分使用者。如需聯合身份使用者的詳細資訊,請參閱 IAM 使用者指南 中的聯合身份使用者與角色。

版本 1.0206

Page 212: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用政策管理存取權

• 跨帳戶存取 – 您可以使用 IAM 角色,允許不同帳戶中的某人 (信任的委託人) 存取您帳戶的資源。角色是授予跨帳戶存取的主要方式。但是,針對某些 AWS 服務,您可以將政策直接連接到資源 (而非使用角色做為代理)。若要了解跨帳戶存取角色和資源類型政策間的差異,請參閱《IAM 使用者指南》中的 IAM 角色與以資源為基礎的政策有何差異。

• 跨服務存取權限 – Some AWS services use features in other AWS services. For example, when youmake a call in a service, it's common for that service to run applications in Amazon EC2 or store objectsin Amazon S3. A service might do this using the calling principal's permissions, using a service role, orusing a service-linked role.• 委託人許可 – When you use an IAM user or role to perform actions in AWS, you are considered

a principal. Policies grant permissions to a principal. When you use some services, you mightperform an action that then triggers another action in a different service. In this case, you must havepermissions to perform both actions. To see whether an action requires additional dependent actions ina policy, see Actions, Resources, and Condition Keys for AWS CloudTrail in the Service AuthorizationReference.

• 服務角色 –服務角色是 AWS 服務擔任的 IAM角色,以代表您執行動作。服務角色提供的存取權僅限在您的帳戶內,不能用來授予存取其他帳戶中的服務。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊,請參閱 IAM 使用者指南中的建立角色以將許可委派給 AWS 服務。

• 服務連結角色 – A service-linked role is a type of service role that is linked to an AWS service. Theservice can assume the role to perform an action on your behalf. Service-linked roles appear inyour IAM account and are owned by the service. An IAM administrator can view, but not edit thepermissions for service-linked roles.

• 在 Amazon EC2 上執行的應用程式 – 針對在 EC2 執行個體上執行並提出 AWS CLI 或 AWS API 請求的應用程式,您可以使用 IAM 角色來管理臨時登入資料。這是在 EC2 執行個體內存放存取金鑰的較好方式。若要指派 AWS 角色給 EC2 執行個體並提供其所有應用程式使用,您可以建立連接到執行個體的執行個體描述檔。執行個體描述檔包含該角色,並且可讓 EC2 執行個體上執行的程式取得臨時登入資料。如需詳細資訊,請參閱 IAM 使用者指南 中的使用 IAM 角色授予許可給 Amazon EC2 執行個體上執行的應用程式。

若要了解是否要使用 IAM 角色或 IAM 使用者,請參閱 IAM 使用者指南中的何時建立 IAM 角色 (而非使用者)。

使用政策管理存取權您可以透過建立政策並將其連接到 IAM 身分或 AWS 資源,在 AWS 中控制存取。政策為 AWS 中的一個物件,當與身分或資源相關聯時,會定義它們的許可。您可以以 根使用者 或 IAM 使用者身份登入,也可以擔任 IAM 角色。當您接著提出請求時,AWS 會評估相關身份型或資型原則。政策中的許可,決定是否允許或拒絕請求。大部分政策以 JSON 文件形式存放在 AWS 中。如需 JSON 政策文件結構和內容的詳細資訊,請參閱《IAM 使用者指南》中的 JSON 政策概觀。

Administrators can use AWS JSON policies to specify who has access to what. That is, which principal canperform actions on what resources, and under what conditions.

每個 IAM 實體 (使用者或角色) 在開始時都沒有許可。換句話說,根據預設,使用者無法執行任何作業,甚至也無法變更他們自己的密碼。若要授予使用者執行動作的許可,管理員必須將許可政策連接到使用者。或者,管理員可以將使用者新增到具備預定許可的群組。管理員將許可給予群組時,該群組中的所有使用者都會獲得那些許可。

IAM 政策定義該動作的許可,無論您使用何種方法來執行操作。例如,假設您有一個允許 iam:GetRole 動作的政策。具備該政策的使用者便可以從 AWS 管理主控台、AWS CLI 或 AWS API 取得使用者資訊。

以身分為基礎的政策Identity-based policies are JSON permissions policy documents that you can attach to an identity, such asan IAM user, group of users, or role. These policies control what actions users and roles can perform, onwhich resources, and under what conditions. To learn how to create an identity-based policy, see CreatingIAM policies in the IAM 使用者指南.

版本 1.0207

Page 213: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS CloudTrail 如何搭配 IAM 運作

身分類型政策可進一步分類成內嵌政策或受管政策。內嵌政策會直接內嵌到單一使用者、群組或角色。受管政策則是獨立的政策,您可以將這些政策連接到 AWS 帳戶中的多個使用者、群組和角色。受管政策包含AWS 受管政策和客戶受管政策。若要了解如何在受管政策及內嵌政策間選擇,請參閱《IAM 使用者指南》中的在受管政策和內嵌政策間選擇。

資源類型政策Resource-based policies are JSON policy documents that you attach to a resource. Examples of resource-based policies are IAM role trust policies and Amazon S3 bucket policies. In services that support resource-based policies, service administrators can use them to control access to a specific resource. For theresource where the policy is attached, the policy defines what actions a specified principal can perform onthat resource and under what conditions. You must specify a principal in a resource-based policy. Principalscan include accounts, users, roles, federated users, or AWS services.

資源型原則是位於該服務中的內嵌原則。您無法在以資源為基礎的原則中從 IAM 使用 AWS 的受 AWS 管理原則。

存取控制清單 (ACL)Access control lists (ACLs) control which principals (account members, users, or roles) have permissions toaccess a resource. ACLs are similar to resource-based policies, although they do not use the JSON policydocument format.

Amazon S3、AWS WAF 和 Amazon VPC 是支援 ACL 的服務範例。如需進一步了解 ACL 的相關資訊,請參閱 Amazon Simple Storage Service 開發人員指南中的存取控制清單 (ACL) 概觀。

其他政策類型AWS 支援其他較少見的政策類型。這些政策類型可設定較常見政策類型授予您的最大許可。

• 許可界限 – 許可界限是一種進階功能,可供您設定身分類型政策能授予 IAM 實體 (IAM 使用者或角色) 的最大許可。您可以為實體設定許可界限。所產生的許可會是實體的身分類型政策和其許可界限的交集。會在 Principal 欄位中指定使用者或角色的資源類型政策則不會受到許可界限限制。所有這類政策中的明確拒絕都會覆寫該允許。如需許可界限的詳細資訊,請參閱《IAM 使用者指南》中的 IAM 實體的許可界限。

• 服務控制政策 (SCP) – SCP 是 JSON 政策,可指定 AWS Organizations 中組織或組織單位的最大許可。AWS Organizations 是一種用來群組和集中管理您商業所擁有多個 AWS 的一項服務。若您啟用組織中的所有功能,您可以將服務控制政策 (SCP) 套用到任何或所有帳戶。SCP 會限制成員帳戶中實體的許可,包括每個 AWS 帳戶根使用者。如需 組織 和 SCP 的詳細資訊,請參閱《AWS Organizations 使用者指南》中的 SCP 的運作方式。

• 工作階段政策 – 工作階段政策是一種進階政策,您可以在透過編寫程式的方式建立角色或聯合身分使用者的暫時工作階段時,做為參數傳遞。所產生工作階段的許可會是使用者或角色的身分類型政策和工作階段政策的交集。許可也可以來自資源類型政策。所有這類政策中的明確拒絕都會覆寫該允許。如需詳細資訊,請參閱《IAM 使用者指南》 中的工作階段原則。

多種政策類型將多種政策類型套用到請求時,其結果形成的許可會更為複雜、更加難以理解。若要了解 AWS 在涉及多種政策類型時如何判斷是否允許一項請求,請參閱《IAM 使用者指南》中的政策評估邏輯。

AWS CloudTrail 如何搭配 IAM 運作在您使用 IAM 管理對 CloudTrail 的存取之前,您應該先了解可搭配 IAM 使用的 CloudTrail. 功能有哪些。若要取得 CloudTrail 與其他 AWS 服務如何搭配 IAM 運作的高階檢視,請查看 中的AWS使用 IAM 的 服務。IAM 使用者指南

版本 1.0208

Page 214: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS CloudTrail 如何搭配 IAM 運作

CloudTrail 可與 IAM 身分為基礎的政策搭配,但無法與資源為基礎的政策搭配。如需以身分為基礎政策與以資源為基礎的政策之不同的地方,請查看 使用者指南中的以身分為基礎和以資源為基礎的政策IAM。

主題• CloudTrail 以身分為基礎的政策 (p. 209)• CloudTrail 以資源為基礎的政策 (p. 211)• 存取控制清單 (ACL) (p. 211)• 以 CloudTrail 標籤為基礎的授權 (p. 211)• CloudTrail IAM 角色 (p. 211)

CloudTrail 以身分為基礎的政策使用 IAM 身份型政策,您可以指定允許或拒絕的動作和資源,以及在何種條件下會允許或拒絕動作。CloudTrail 支援特定動作與資源。沒有可在政策陳述式的 CloudTrail 元素中使用的 Condition 服務特定條件金鑰。若要了解您在 JSON 政策中使用的所有元素,請參考 IAM 中的 JSON 政策元素參考。IAM 使用者指南

Actions

Administrators can use AWS JSON policies to specify who has access to what. That is, which principal canperform actions on what resources, and under what conditions.

JSON 原則的 Action 元素描述您可以用來允許或拒絕原則中存取的動作。政策動作的名稱通常會和相關聯的 AWS API 操作相同。有一些例外狀況,例如沒有相符的 API 作業的僅限許可動作。也有一些作業需要原則中的多個動作。這些額外的動作稱為 相依動作。

原則會使用動作來授予執行相關聯操作的許可。

中的政策動作會在動作之前使用以下字首:CloudTrail。cloudtrail: 例如,若要授予某人使用 ListTagsAPI 操作列出結尾標籤的許可,請在其政策中加入 cloudtrail:ListTags 動作。政策陳述式必須包含Action 或 NotAction 元素。CloudTrail 會定義一組自己的動作,來描述您可以使用此服務執行的任務。

若要在單一陳述式中指定多個動作,請用逗號分隔,如下所示:

"Action": [ "cloudtrail:AddTags", "cloudtrail:ListTags", "cloudtrail:RemoveTags

您也可以使用萬用字元 (*) 來指定多個動作。例如,若要指定開頭是 Get 文字的所有動作,請包含以下動作:

"Action": "cloudtrail:Get*"

若要查看 CloudTrail 動作清單,請查看 Actions Defined by AWS CloudTrail 中的 。IAM 使用者指南

Resources

Administrators can use AWS JSON policies to specify who has access to what. That is, which principal canperform actions on what resources, and under what conditions.

Resource JSON 原則元素可指定要套用動作的物件。陳述式必須包含 Resource 或 NotResource 元素。最佳實務是使用其 Amazon Resource Name (ARN) 來指定資源。您可以針對支援特定資源類型的動作 (稱為資源層級許可) 來這麼做。

版本 1.0209

Page 215: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS CloudTrail 如何搭配 IAM 運作

對於不支援資源層級許可的動作 (例如列出作業),請使用萬用字元 (*) 來表示陳述式適用於所有資源。

"Resource": "*"

在 CloudTrail 中,主要資源是線索。每個資源都有一個相關聯的唯一 Amazon Resource Name (ARN)。在政策中,您使用 ARN 來識別資源套用到該政策。CloudTrail 目前不支援其他資源類型,因此有時稱為子資源。

CloudTrail 線索資源具有以下 ARN:

arn:${Partition}:cloudtrail:${Region}:${Account}:trail/{TrailName}

如需 ARNs 格式的詳細資訊,請前往 Amazon Resource Names (ARNs) 和 AWS Service Namespaces。

例如,針對 ID 為 AWS 的 帳號 123456789012,指定名為 的結尾 My-Trail 在您陳述式的 美國東部 (俄亥俄) 區域中存在的 ,請使用下列 ARN:

"Resource": "arn:aws:cloudtrail:us-east-2:123456789012:trail/My-Trail"

若要指定所有線索在 AWS 區域中屬於特定的帳戶,請使用萬用字元 (*):

"Resource": "arn:aws:cloudtrail:us-east-2:123456789012:trail/*"

有些 CloudTrail 動作 (例如用來建立資源的動作) 無法在特定資源上執行。在這些情況下,您必須使用萬用字元 (*)。

"Resource": "*"

許多 CloudTrail API 動作都涉及多個資源。例如, CreateTrail 需要 Amazon S3 儲存貯體來存放日誌檔,因此 IAM 使用者必須有寫入儲存貯體的許可。若要在單一陳述式中指定多項資源,請用逗號分隔ARNs。

"Resource": [ "resource1", "resource2"

若要查看 CloudTrail 資源類型及其 ARNs 的清單,請查看 Resources Defined by AWS CloudTrail 中的IAM 使用者指南。您若要了解您可以使用哪些動作指定每項資源的 ARN,請參閱 Actions Defined by AWSCloudTrail.

條件金鑰

Administrators can use AWS JSON policies to specify who has access to what. That is, which principal canperform actions on what resources, and under what conditions.

Condition 元素 (或 Condition「區塊」) 可讓您指定使陳述式生效的條件。Condition 元素是選用的。您可以建立使用條件運算子的條件表達式 (例如等於或小於),來比對政策中的條件和請求中的值。

若您在陳述式中指定多個 Condition 元素,或是在單一 Condition 元素中指定多個金鑰,AWS 會使用邏輯 AND 操作評估他們。若您為單一條件金鑰指定多個值,AWS 會使用邏輯 OR 操作評估條件。必須符合所有條件,才會授予陳述式的許可。

您也可以在指定條件時使用預留位置變數。例如,您可以只在使用者使用其 IAM 使用者名稱標記時,將存取資源的許可授予該 IAM 使用者。如需詳細資訊,請參閱 IAM 使用者指南中的 IAM 原則元素:變數和標籤。

版本 1.0210

Page 216: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS CloudTrail 如何搭配 IAM 運作

AWS 支援全球條件金鑰和服務特定的條件金鑰。若要查看所有 AWS 全域條件金鑰,請參閱 IAM 使用者指南中的 AWS 全域條件內容金鑰。

CloudTrail 不會定義自己的條件金鑰,但是支援使用一些全球條件金鑰。若要查看所有 AWS 全域條件金鑰,請查看 中的 AWSGlobal Condition Context Keys (全域條件上下文索引鍵)。IAM 使用者指南

若要查看支援 CloudTrail 的條件金鑰清單,請查看Condition Keys for AWS CloudTrail中的 。IAM 使用者指南若要了解您可以針對何種動作及資源使用條件金鑰,請參閱 Actions Defined by AWS CloudTrail.

Examples

若要檢視 CloudTrail 以身分為基礎的政策範例,請參閱AWS CloudTrail 以身分為基礎的政策範例 (p. 212).

CloudTrail 以資源為基礎的政策CloudTrail 不支援以資源為基礎的政策。

存取控制清單 (ACL)存取控制清單 (ACLs) 是您可以附加資源的授權清單。他們授與帳戶和要附加這些政策的資源的存取許可。雖然 CloudTrail 不支援 ACLs,但 Amazon S3 則支援。例如,您可將 ACLs 連接至 Amazon S3 儲存貯體資源,藉此存放一或多個試驗用的 log 檔案。如需將 ACLs 連接至儲存貯體的詳細資訊,請前往。ManagingAccess with ACLs 中的 Amazon Simple Storage Service 開發人員指南.

以 CloudTrail 標籤為基礎的授權雖然您可以將標籤連接到 CloudTrail 資源,但 CloudTrail 不支援根據標籤來控制存取。

您可以將標籤連接到 CloudTrail 資源,或是在請求中將標籤傳遞給 CloudTrail. 如需標記 CloudTrail 資源的詳細資訊,請前往 建立路徑 (p. 62) 和 使用 AWS Command Line Interface 建立、更新和管理 的管道 (p. 76)。

CloudTrail IAM 角色角色是您 IAM 帳號中具有特定許可的實體。AWS

將臨時登入資料與 搭配使用CloudTrail

您可以搭配聯合使用暫時登入資料登入、取得 IAM 角色,或是取得跨帳戶角色。您取得暫時安全登入資料的方式是透過呼叫 AWS STS API 操作 (例如,AssumeRole 或 GetFederationToken)。

CloudTrail 支援使用臨時登入資料。

服務連結角色

服務連結角色可讓 AWS 服務存取其他服務中的資源,以代您完成動作。服務連結角色會顯示在您的 IAM 帳戶中,並由該服務所擁有。IAM 管理員可以檢視,但不能編輯服務連結角色的許可。

CloudTrail 支援服務連結角色與 AWS Organizations 整合。這個角色必須建立組織線索,該線索記錄組織中所有 AWS 帳戶的事件。如需建立或管理 CloudTrail 服務連結角色的詳細資訊,請參閱the section called “使用服務連結角色” (p. 228).

服務角色

此功能可讓服務代表您擔任服務角色。此角色可讓服務存取其他服務中的資源,以代表您完成動作。服務角色會出現在您的 IAM 帳戶,且由該帳戶所擁有。這表示 IAM 管理員可以變更此角色的許可。不過,這樣可能會破壞此服務的功能。

版本 1.0211

Page 217: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南身分型政策範例

CloudTrail 支援服務角色。

AWS CloudTrail 以身分為基礎的政策範例根據預設,IAM 使用者和角色不具備建立或修改 CloudTrail 資源的許可。他們也無法使用 AWS 管理主控台、AWS CLI 或 AWS API 執行任務。IAM 管理員必須建立 IAM 政策,授予使用者和角色在指定資源上執行特定 API 操作的所需許可。管理員接著必須將這些政策連接至需要這些許可的 IAM 使用者、群組或角色。

若要了解如何使用這些範例 JSON 政策文件建立以 IAM 身分為基礎的政策,請查看 https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor 中的 JSON 標籤上的 IAM 使用者指南 建立政策。

主題• 政策最佳實務 (p. 212)• 範例:允許和拒絕對於特定線索的動作 (p. 212)• 範例:在特定線索建立和套用政策的動作 (p. 213)• 使用 CloudTrail 主控台授予許可 (p. 215)• 允許使用者檢視他們自己的許可 (p. 216)• 授予 CloudTrail 使用者的自訂許可 (p. 217)

政策最佳實務身分類型政策相當強大。他們可以判斷您帳戶中的某個人員是否可以建立、存取或刪除 CloudTrail 資源。這些動作可能會讓您的 AWS 帳戶產生成本。當您建立或編輯身分類型政策時,請遵循下列準則及建議事項:

• 開始使用受 AWS 管理的政策 – 若要快速地開始使用 CloudTrail,請使用受 AWS 管理的原則來給予您員工他們需要的許可。這些政策已在您的帳戶中提供,並由 AWS 維護和更新。如需詳細資訊,請參閱《IAM使用者指南》中的開始使用許可搭配 AWS 受管政策。

• 授予最低權限 – 當您建立自訂政策時,請只授予執行任務所需要的許可。以最小一組許可開始,然後依需要授予額外的許可。這比一開始使用太寬鬆的許可,稍後再嘗試將他們限縮更為安全。如需詳細資訊,請參閱 IAM 使用者指南中的授予最低權限。

• 為敏感操作啟用 MFA – 為了增加安全,請要求 IAM 使用者使用多重驗證 (MFA) 存取敏感資源或 API 操作。如需詳細資訊,請參閱《IAM 使用者指南》中的使用 AWS 中的 Multi-Factor Authentication (MFA)。

• 使用政策條件以增加安全 – 在切實可行的範圍中,請定義您身分類型政策允許存取資源的條件。例如,您可以撰寫條件,指定請求必須來自一定的允許 IP 地址範圍。您也可以撰寫條件,只在指定的日期或時間範圍內允許請求,或是要求使用 SSL 或 MFA。如需詳細資訊,請參閱《IAM 使用者指南》中的 IAM JSON政策元素:Condition。

CloudTrail 沒有可在政策陳述式的 Condition 元素中使用的服務特定內容金鑰。

範例:允許和拒絕對於特定線索的動作以下範例示範一個政策,允許具有此政策的使用者檢視路徑的狀態和組態,以及開始和停止登入名為 的 路徑。My-First-Trail此線索建立在 美國東部 (俄亥俄) 區域 (首頁區域) 中 AWS 帳戶中的ID 。123456789012.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudtrail:StartLogging",

版本 1.0212

Page 218: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南身分型政策範例

"cloudtrail:StopLogging", "cloudtrail:GetTrail", "cloudtrail:GetTrailStatus", "cloudtrail:GetEventSelectors" ], "Resource": [ "arn:aws:cloudtrail:us-east-2:123456789012:trail/My-First-Trail" ] } ]}

以下範例示範明確遭拒任何未命名尾端的 CloudTrail 動作的政策 My-First-Trail.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudtrail:*" ], "NotResource": [ "arn:aws:cloudtrail:us-east-2:123456789012:trail/My-First-Trail" ] } ]}

範例:在特定線索建立和套用政策的動作您可以使用許可和政策,控制使用者對 CloudTrail 線索執行特定動作的能力

例如,您不要公司開發人員群組的使用者開始或停止對特定線索記錄日誌,但您要將對線索執行DescribeTrails 和 GetTrailStatus 動作的許可授予他們。您要開發人員群組使用者在他們管理的線索上執行 StartLogging 或 StopLogging 動作。

您可以建立兩個政策陳述式,然後將其連接至您建立於 中的開發人員群組。IAM. 如需 IAM 中群組的詳細資訊,請前往 IAM 中的 群組。IAM 使用者指南

在第一個政策中,您拒絕對所指定的線索 ARN 執行 StartLogging 和 StopLogging 動作。在下列範例中,線索 ARN 是 arn:aws:cloudtrail:us-east-2:123456789012:trail/Example-Trail.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1446057698000", "Effect": "Deny", "Action": [ "cloudtrail:StartLogging", "cloudtrail:StopLogging" ], "Resource": [ "arn:aws:cloudtrail:us-east-2:123456789012:trail/Example-Trail" ] } ]}

在第二個政策中,允許對所有 DescribeTrails 資源執行 GetTrailStatus 和 CloudTrail 動作:

版本 1.0213

Page 219: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南身分型政策範例

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1446072643000", "Effect": "Allow", "Action": [ "cloudtrail:DescribeTrails", "cloudtrail:GetTrail", "cloudtrail:GetTrailStatus" ], "Resource": [ "*" ] } ]}

如果開發人員群組使用者嘗試開始或停止您在第一個政策中指定的線索記錄日誌,該使用者會收到拒絕存取的例外狀況。開發人員群組使用者可以對他們所建立及管理的線索予以開始與停止記錄日誌。

下列 CLI 範例顯示已在名為 AWS CLI 的 devgroup 描述檔中設定開發人員群組。 首先,devgroup 的使用者會執行 describe-trails 命令。

$ aws --profile devgroup cloudtrail describe-trails

已成功完成命令:

{ "trailList": [ { "IncludeGlobalServiceEvents": true, "Name": "Default", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Example-Trail", "IsMultiRegionTrail": false, "S3BucketName": "myS3bucket ", "HomeRegion": "us-east-2" } ]}

使用者接著會對您在第一個政策中指定的線索執行 get-trail-status 命令。

$ aws --profile devgroup cloudtrail get-trail-status --name Example-Trail

已成功完成命令:

{ "LatestDeliveryTime": 1449517556.256, "LatestDeliveryAttemptTime": "2015-12-07T19:45:56Z", "LatestNotificationAttemptSucceeded": "", "LatestDeliveryAttemptSucceeded": "2015-12-07T19:45:56Z", "IsLogging": true, "TimeLoggingStarted": "2015-12-07T19:36:27Z", "StartLoggingTime": 1449516987.685, "StopLoggingTime": 1449516977.332, "LatestNotificationAttemptTime": "", "TimeLoggingStopped": "2015-12-07T19:36:17Z"}

版本 1.0214

Page 220: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南身分型政策範例

接下來,devgroup 使用者會對相同的線索執行 stop-logging 命令。

$ aws --profile devgroup cloudtrail stop-logging --name Example-Trail

命令會傳回拒絕存取的例外狀況:

A client error (AccessDeniedException) occurred when calling the StopLogging operation: Unknown

使用者會對相同的線索執行 start-logging 命令。

$ aws --profile devgroup cloudtrail start-logging --name Example-Trail

命令會傳回拒絕存取的例外狀況:

A client error (AccessDeniedException) occurred when calling the StartLogging operation: Unknown

使用 CloudTrail 主控台授予許可授予 CloudTrail 管理許可

若要允許使用者管理 CloudTrail 線索,您必須明確授予 IAM 使用者執行與 CloudTrail 任務相關聯之動作的許可。在大多數的情況下,您可以使用包含預先定義許可的 AWS 受管政策來執行此操作。

Note

您授予使用者執行 CloudTrail 管理任務的許可,和 CloudTrail 本身所需要以便交付日誌檔案到Amazon S3 儲存貯體或傳送通知給 Amazon SNS 主題的許可不相同。如需這些許可的詳細資訊,請參閱 CloudTrail 的 Amazon S3 儲存貯體政策 (p. 221).如果您設定與 Amazon CloudWatch Logs 整合,CloudTrail 還需要它可擔任的角色,將事件交付到 Amazon CloudWatch Logs 日誌群組。這將需要額外的權限建立角色以及該角色本身。如需詳細資訊,請前往 授予在 Amazon CloudWatch Logs 主控台上檢視並設定 CloudTrail 資訊的許可 (p. 220) 和 傳送 事件到 CloudWatch Logs (p. 136)。

一般方法是建立有適當許可的 IAM 群組,然後將個別的 IAM 使用者新增到該群組。例如,您可以為應有IAM 動作完整存取權的使用者建立一個 CloudTrail 群組,為應可檢視線索資訊,但不建立或變更線索的使用者建立另一個群組。

建立有 IAM 存取權的 CloudTrail 群組和使用者

1. 開啟位於 https://console.aws.amazon.com/iam. IAM 主控台。2. 請在儀表板的導覽窗格中,選擇 Groups (群組),然後選擇 Create New Group (建立新的群組).3. 輸入名稱,然後選擇 Next Step (後續步驟).4. 在 Attach Policy (連接政策) 頁面中,為 CloudTrail: 尋找和選取下列政策之一:

• AWSCloudTrail_FullAccess。此政策可授予群組中的使用者 CloudTrail 動作的完整存取權。這些使用者有權管理 (但不 Delete) Amazon S3 儲存貯體、CloudWatch Logs 的 log 群組和 Amazon SNS結尾的 主題。

Note

「_AWSCloudTrailFullAccessFullAccess政策旨在廣泛共用於您的 AWS 帳號。使用此角色的使用者能夠在自己的 AWS 帳戶停用或重新設定最敏感和重要的稽核功能。因此,此政策應僅套用於帳戶管理員,並且在嚴密的控制和監控下使用此政策。

版本 1.0215

Page 221: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南身分型政策範例

• AWSCloudTrailReadOnlyAccess。 此政策可讓使用者在群組中檢視 CloudTrail 主控台,包括最近的事件和事件歷史。這些使用者也可以檢視現有的線索與他們的儲存貯體。使用者可以下載事件歷史記錄的檔案,但他們無法建立或更新線索。

Note

您也可以建立自訂政策,授予個別動作的許可。如需詳細資訊,請參閱 授予 CloudTrail 使用者的自訂許可 (p. 217).

5. 選擇 Next step. (下一個步驟)。6. 檢閱您要建立的群組資訊。

Note

您可以編輯群組名稱,但您需要再次選擇該政策。7. 選擇 Create group (建立群組). 您建立的群組會顯示在群組清單中。8. 選擇您建立的群組名稱,選擇 Group actions (群組動作),然後選擇 Add users to group (新增使用

者至群組)。9. 在 Add users to group (新增使用者到群組) 頁面上,選擇現有的 IAM 使用者,然後選擇 Add users

(新增使用者)。如果您尚未擁有 IAM 使用者,請選擇 Create new users (建立新使用者),輸入使用者名稱,然後選擇 Create (建立)。

10. 如已建立新的使用者,請在導覽窗格中選擇 Users (使用者),然後為每個使用者完成以下操作:

a. 選擇使用者。b. 如果使用者要使用主控台管理 CloudTrail,請在 Security credentials (安全登入資料) 標籤中,選

擇 Manage password (管理密碼),然後建立使用者的密碼。c. 如果使用者要使用 CLI 或 API 管理 CloudTrail,且若您並未建立存取金鑰,請在 Security

credentials (安全登入資料) 標籤中,選擇 Manage access keys (管理存取金鑰),然後建立存取金鑰。請將金鑰存放在安全位置。

d. 提供每個使用者的登入資料 (存取金鑰或密碼)。

其他資源

若要進一步了解建立 IAM 使用者、群組、政策和許可,請參閱《https://docs.aws.amazon.com/IAM/latest/UserGuide/GSGHowToCreateAdminsGroup.html》中的使用主控台建立管理群組和IAM 使用者指南許可和政策.

對於僅呼叫 AWS CLI 或 AWS API 的使用者,您不需要允許其最基本的主控台許可。反之,只需允許存取符合您嘗試執行之 API 操作的動作就可以了。

允許使用者檢視他們自己的許可此範例會示範如何建立政策,允許 IAM 使用者檢視連接到他們使用者身分的內嵌及受管政策。此政策包含在主控台上,或是使用 AWS CLI 或 AWS API 透過編寫程式的方式完成此動作的許可。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies",

版本 1.0216

Page 222: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南身分型政策範例

"iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ]}

授予 CloudTrail 使用者的自訂許可CloudTrail 政策會將許可授予使用 CloudTrail 的使用者。如果您需要將不同的許可授予使用者,則可以將CloudTrail 政策連接至 IAM 群組或使用者。您可以編輯政策,藉以包含或排除特定許可。您也可以建立自己的自訂政策。政策是 JSON 文件,可定義允許使用者執行的動作,以及使用者得以執行這些動作的資源。如需具體範例,請參閱 範例:允許和拒絕對於特定線索的動作 (p. 212) 和 範例:在特定線索建立和套用政策的動作 (p. 213).

內容• 唯讀存取權限 (p. 217)• 完整存取 (p. 218)• 授予在 AWS Config 主控台上檢視 CloudTrail 資訊的許可 (p. 220)• 授予在 Amazon CloudWatch Logs 主控台上檢視並設定 CloudTrail 資訊的許可 (p. 220)• 其他資訊 (p. 221)

唯讀存取權限

下列範例顯示可授予 CloudTrail 追蹤唯讀存取的政策。這相當於受管政策AWSCloudTrailReadOnlyAccess。 它會授予使用者查看結尾資訊的許可,但不允許建立或更新路徑。政策還會授予在 Amazon S3 儲存貯體中讀取物件的許可,但未授予建立或刪除物件的許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketLocation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudtrail:DescribeTrails", "cloudtrail:GetTrail",

版本 1.0217

Page 223: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南身分型政策範例

"cloudtrail:GetTrailStatus", "cloudtrail:LookupEvents", "cloudtrail:ListPublicKeys", "cloudtrail:ListTags", "s3:ListAllMyBuckets", "kms:ListAliases", "lambda:ListFunctions" ], "Resource": "*" } ]}

在政策陳述式中,Effect 元素指定允許或拒絕動作。Action 元素列出允許使用者執行的特定動作。Resource 元素列出使用者得以執行特定動作的 AWS 資源。對於 CloudTrail 動作的控制存取政策,Resource 元素通常會設定為 *,這是表示「所有資源」的萬用字元。

元素中的值對應到服務支援的 Action。APIs這些動作的前面會加上 cloudtrail:,意指其參照CloudTrail 動作。您可以在 * 元素中使用 Action 萬用字元,如下列範例所示:

• "Action": ["cloudtrail:*Logging"]

這允許結尾為 "Logging" 的所有 CloudTrail 動作 (StartLogging, StopLogging).• "Action": ["cloudtrail:*"]

這允許所有 CloudTrail 動作,但不允許其他 AWS 服務的動作。• "Action": ["*"]

這允許所有 AWS 動作。此許可適用於身為您帳戶之 AWS 管理員的使用者。

唯讀政策不會將 CreateTrail、UpdateTrail、StartLogging 和 StopLogging 動作的許可授予使用者。不允許具有此政策的使用者建立線索、更新線索,或是開啟或關閉記錄日誌。如需 CloudTrail 動作清單,請參閱 AWS CloudTrail API Reference.

完整存取

下列範例顯示可授予 完整存取的政策。CloudTrail. 這相當於受管政策_AWSCloudTrailFullAccessFullAccess 政策會將執行所有 CloudTrail 動作的許可授予使用者。另外也可讓使用者記錄 Amazon S3 和 AWS Lambda 中的資料事件、管理 Amazon S3 儲存貯體中的檔案、管理CloudWatch Logs 如何監控 CloudTrail 日誌事件,以及管理與使用者相關聯之帳戶中的 Amazon SNS 主題。

Important

_FullAccessAWSCloudTrail 政策或同等的許可,不是為了在 AWS 帳號之間廣泛共用。FullAccess使用此角色或相似存取權限的使用者能夠在自己的 AWS 帳戶停用或重新設定最敏感和重要的稽核功能。因此,此政策應僅套用於帳戶管理員,並且在嚴密的控制和監控下使用此政策。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:AddPermission", "sns:CreateTopic", "sns:SetTopicAttributes", "sns:GetTopicAttributes" ], "Resource": [

版本 1.0218

Page 224: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南身分型政策範例

"arn:aws:sns:*:*:aws-cloudtrail-logs*" ] }, { "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPolicy" ], "Resource": [ "arn:aws:s3:::aws-cloudtrail-logs*" ] }, { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketPolicy" ], "Resource": "*" }, { "Effect": "Allow", "Action": "cloudtrail:*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:*:*:log-group:aws-cloudtrail-logs*" ] }, { "Effect": "Allow", "Action": [ "iam:ListRoles", "iam:GetRolePolicy", "iam:GetUser" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "cloudtrail.amazonaws.com" } } }, { "Effect": "Allow",

版本 1.0219

Page 225: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南身分型政策範例

"Action": [ "kms:CreateKey", "kms:CreateAlias", "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "lambda:ListFunctions" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "dynamodb:ListGlobalTables", "dynamodb:ListTables" ], "Resource": "*" } ]}

授予在 AWS Config 主控台上檢視 CloudTrail 資訊的許可您可以在 CloudTrail 主控台上檢視事件資訊 (包括與該事件相關的資源)。對於這些資源,您可以選擇 AWSConfig 圖示,以在 AWS Config 主控台中檢視該資源的時間表。將此政策連接至使用者,藉以將唯讀 AWSConfig 存取權授予他們。該政策不會將於 中變更設定的許可授予他們。AWS Config.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "config:Get*", "config:Describe*", "config:List*" ], "Resource": "*" }]}

如需詳細資訊,請參閱 檢視 AWS Config 參考的資源 (p. 42).

授予在 Amazon CloudWatch Logs 主控台上檢視並設定 CloudTrail 資訊的許可如果您有足夠權限,您可以在 CloudWatch Logs 主控台中檢視和設定到 CloudTrail 的事件交付。這些權限可能超出 CloudTrail 管理員可以授與的範圍。將此政策連接到將設定和管理 CloudTrail 與 CloudWatch Logs.整合的管理員。該政策不會直接在 CloudTrail 和 CloudWatch Logs 為他們授與權限,而是受與建立和設定角色 CloudTrail 所需的權限,以便該角色成功將事件傳遞給您的 CloudWatch Logs 群組。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:CreateRole" "iam:PutRolePolicy" "iam:AttachRolePolicy"

版本 1.0220

Page 226: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 的 Amazon S3 儲存貯體政策

"iam:ListRoles" "iam:GetRolePolicy" "iam:GetUser" ], "Resource": "*" }]}

如需詳細資訊,請參閱 使用 監控 日誌檔案 (p. 136).

其他資訊

若要進一步了解如何建立 IAM 使用者、群組、政策和許可,請參閱《IAM》中的建立您的第一個 使用者和管理員群組和IAM 使用者指南存取管理.

CloudTrail 的 Amazon S3 儲存貯體政策根據預設,Amazon S3 儲存貯體與物件皆為私有。只有資源擁有者 (建立儲存貯體的 AWS 帳戶),可存取儲存貯體及其包含的物件。資源擁有者可藉由編寫存取政策,將存取許可授予其他資源和使用者。

如果您要建立或修改 Amazon S3 儲存貯體以接收組織線索的日誌檔案,則需進一步修改儲存貯體政策。如需詳細資訊,請參閱使用 AWS Command Line Interface 為組織建立路徑 (p. 103)。

若要將日誌檔案交付到 S3 儲存貯體,CloudTrail 必須具備必要許可,且不可設定為申請者付款儲存貯體。當您建立 Amazon S3 儲存貯體做為建立線索的一部分,或在 CloudTrail 主控台中更新線索時,CloudTrail 會自動將所需許可連接至儲存貯體。

CloudTrail 會在政策中為您新增下列欄位:

• 允許的 SIDs。• 儲存貯體名稱。• CloudTrail 的服務委託人名稱。• 存放日誌檔案的資料夾名稱,包括儲存貯體名稱、前綴 (如有指定) 及您的 AWS 帳戶 ID。

下列政策允許 CloudTrail 將日誌檔案寫入支援區域中的儲存貯體。如需詳細資訊,請參閱CloudTrail 支援的區域 (p. 10)。

S3 儲存貯體政策

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::myBucketName" }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myBucketName/[optional prefix]/AWSLogs/myAccountID/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} }

版本 1.0221

Page 227: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 的 Amazon S3 儲存貯體政策

]}

內容• 指定 CloudTrail 日誌交付的現有儲存貯體 (p. 222)• 從其他帳戶接收日誌檔案 (p. 222)• 建立或更新 Amazon S3 儲存貯體以存放組織線索的日誌檔 (p. 222)• 針對 S3 儲存貯體政策進行故障診斷。 (p. 223)

• 常見的 S3 政策設定錯誤 (p. 223)• 變更現有儲存貯體的前綴 (p. 224)

• 其他 資源 (p. 224)

指定 CloudTrail 日誌交付的現有儲存貯體如果您指定現有的 S3 儲存貯體做為日誌檔案交付的儲存位置,您必須將政策連接到儲存貯體以允許CloudTrail 寫入儲存貯體。

Note

最佳實務是使用 CloudTrail 日誌專用的 S3 儲存貯體。

新增必要的 CloudTrail 政策至 Amazon S3 儲存貯體

1. 在 https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。2. 選擇您想要讓 CloudTrail 交付日誌檔案的目標儲存貯體,然後選擇 Properties (屬性)。3. 選擇 Permissions (許可)。4. 選擇 Edit Bucket Policy (編輯儲存貯體政策)。5. 將 S3 bucket policy (p. 221) 複製到 Bucket Policy Editor (儲存貯體政策編輯器) 視窗。將斜體預留位

置取代成您儲存貯體的名稱、前綴和帳號。如果您在建立線索時指定了前綴,請在這裡包含它。前綴是S3 物件金鑰的選用新增項目,可在您的儲存貯體中建立類似資料夾的組織。

Note

如果現有的儲存貯體已連接一或多個政策,請將 CloudTrail 存取陳述式新增至這些政策。請評估所產生的一組許可,以確保它們適用於將存取儲存貯體的使用者。

從其他帳戶接收日誌檔案您可以設定 CloudTrail 將多個 AWS 帳戶的日誌檔案交付到單一 S3 儲存貯體。如需詳細資訊,請參閱從多個帳戶接收 CloudTrail 日誌檔案 (p. 167)。

建立或更新 Amazon S3 儲存貯體以存放組織線索的日誌檔您必須指定 Amazon S3 儲存貯體以接收組織線索的日誌檔。這個儲存貯體必須具備特定政策,允許CloudTrail 將組織的日誌檔放入儲存貯體。

以下是名為 Amazon S3 的 儲存貯體的範例政策。my-organization-bucket. 此儲存貯體位於 ID 為AWS 的 帳號中 111111111111,這是具有 ID 的組織管理所負責的工作 o-exampleorgid 允許登入組織尾端的 。它也允許登入 111111111111 帳號,當該路徑從組織路徑變更為該帳號的終點時。

{ "Version": "2012-10-17",

版本 1.0222

Page 228: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 的 Amazon S3 儲存貯體政策

"Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::my-organization-bucket" }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-organization-bucket/AWSLogs/111111111111/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-organization-bucket/AWSLogs/o-exampleorgid/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ]}

這個範例政策不允許成員帳戶中任何使用者存取為該組織建立的日誌檔。根據預設,只有管理帳號才能存取組織 log 檔案。如需有關如何允許成員帳戶中 IAM 使用者對於 Amazon S3 儲存貯體的讀取權限,請參閱在AWS 帳戶之間共享 CloudTrail 日誌檔案 (p. 170)。

針對 S3 儲存貯體政策進行故障診斷。下列各節說明如何針對 S3 儲存貯體政策進行故障診斷。

常見的 S3 政策設定錯誤當您在建立或更新線索的過程中建立新的儲存貯體時,CloudTrail 會將必要的許可連接到您的儲存貯體。儲存貯體政策使用服務委託人名稱 "cloudtrail.amazonaws.com",其允許 CloudTrail 交付所有區域的日誌。

如果 CloudTrail 未交付區域的Logs,儲存貯體可能擁有指定每個區域 CloudTrail 帳號 IDs 的較舊政策。此政策授予 CloudTrail 許可,只能交付指定區域的日誌。

版本 1.0223

Page 229: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 的 Amazon S3 儲存貯體政策

最佳實務是更新政策以搭配 CloudTrail 服務委託人使用許可。若要執行此作業,請將帳號 ID ARNs 取代為服務主體名稱: "cloudtrail.amazonaws.com" – 。 這會授予 CloudTrail 許可來交付目前和新區域的logs。以下是推薦的政策組態範例:

Example 儲存貯體政策與服務主體名稱範例

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::bucket-1" }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket-1/my-prefix/AWSLogs/123456789012/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} } ]}

變更現有儲存貯體的前綴

如果您嘗試為從尾端接收 logs 的 S3 儲存貯體新增、修改或移除 log 檔案字首,您可能會看到錯誤: 儲存貯體政策發生問題。前綴不正確的儲存貯體政策可能會使您的線索無法將日誌交付到儲存貯體。若要解決此問題,請使用 Amazon S3 主控台更新儲存貯體政策中的前綴,然後使用 CloudTrail 主控台指定與線索中的儲存貯體相同的前綴。

更新 S3 儲存貯體的日誌檔案前綴

1. 在 https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。2. 選擇您要修改前綴的儲存貯體,然後選擇 Properties (屬性)。3. 選擇 Permissions (許可)。4. 選擇 Edit Bucket Policy (編輯儲存貯體政策)。5. 在儲存貯體政策中,於 s3:PutObject 動作下,編輯 Resource 項目以新增、修改或移除 log 檔案

prefix 視需要執行。

"Action": "s3:PutObject", "Resource": "arn:aws:s3:::myBucketName/prefix/AWSLogs/myAccountID/*",

6. 選擇 Save (儲存)。7. 在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。8. 選擇您的線索,然後針對 Storage location (儲存位置),按一下鉛筆圖示以編輯您的儲存貯體設定。9. 針對 S3 bucket (S3 儲存貯體),選擇您要變更前綴的儲存貯體。10. 針對 Log file prefix (日誌檔案前綴),更新前綴以符合您在儲存貯體政策中輸入的前綴。11. 選擇 Save (儲存)。

其他 資源如需 S3 儲存貯體與政策的詳細資訊,請參閱 Amazon Simple Storage Service 開發人員指南。

版本 1.0224

Page 230: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Amazon SNS適用於 的 主題政策CloudTrail

Amazon SNS適用於 的 主題政策CloudTrail若要傳送通知給一個 SNS 主題, CloudTrail 必須擁有必要的許可。當您建立 CloudTrail 主題作為部分建立,或更新 Amazon SNS 主控台的追蹤,CloudTrail 會自動附加必要的許可到主題。

CloudTrail 新增以下陳述式到政策為您提供下列欄位:

• 允許的 SIDs。• 的服務委託人名稱。CloudTrail.• SNS 主題,包含區域、帳戶 ID 和主題名稱。

下列政策允許 CloudTrail 傳送有關所支援區域之日誌檔案交付的通知。如需詳細資訊,請參閱 CloudTrail 支援的區域 (p. 10).

SNS 主題政策

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:region:SNSTopicOwnerAccountId:SNSTopicName" } ]}

如果您想要使用 AWS KMS 加密的 Amazon SNS 主題來傳送通知,您還必須透過將以下陳述式新增至客戶主金鑰 (CMK) 的政策,來啟用事件來源 (CloudTrail) 和加密主題之間的相容性。

CMK 政策

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" } ]}

如需詳細資訊,請參閱啟用 AWS 服務的事件來源和加密主題之間的相容性.

內容• 指定用於傳送通知的現有主題 (p. 226)

版本 1.0225

Page 231: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Amazon SNS適用於 的 主題政策CloudTrail

• 針對 SNS 主題政策進行故障診斷 (p. 226)• 常見的 SNS 政策組態錯誤 (p. 226)

• 其他資源 (p. 227)

指定用於傳送通知的現有主題您可以在 Amazon SNS 主控台中將 Amazon SNS 主題的許可手動新增至主題政策,然後在 CloudTrail 主控台中指定主題。

手動更新 SNS 主題政策

1. 開啟位於 https://console.aws.amazon.com/sns/v3/home 的 Amazon SNS 主控台。2. 選擇 Topics (主題),然後選擇主題。3. 選擇 Other topic actions (其他主題動作),然後選擇 Edit topic policy (編輯主題政策).4. 選擇 Advanced view (進階檢視),並從 SNS topic policy (p. 225) 新增陳述式,其中包含適當的區

域、帳號 ID 和主題名稱值。5. 選擇 Update policy (更新政策).6. 如果您的主題是加密主題,您必須允許 CloudTrail 擁有 kms:GenerateDataKey* 和 kms:Decrypt

許可。如需詳細資訊,請參閱 Encrypted SNS topic CMK policy (p. 225).7. 返回 CloudTrail 主控台,並指定線索的主題。

針對 SNS 主題政策進行故障診斷下列各節說明如何針對 SNS 主題政策進行故障診斷。

常見的 SNS 政策組態錯誤當您在建立或更新線索的過程中建立新的主題時,CloudTrail 會將必要的許可連接至您的主題。主題政策使用服務委託人名稱 "cloudtrail.amazonaws.com",允許 CloudTrail 傳送所有區域的通知。

如果 CloudTrail 未傳送區域的通知,則您的主題可能具有指定每個區域 CloudTrail 帳號 IDs 的較舊政策。此政策授予 CloudTrail 許可,只能傳送所指定區域的通知。

下列主題政策只允許 CloudTrail 傳送所指定九個區域的通知:

Example 使用 IDs 的 主題政策

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::903692715234:root", "arn:aws:iam::035351147821:root", "arn:aws:iam::859597730677:root", "arn:aws:iam::814480443879:root", "arn:aws:iam::216624486486:root", "arn:aws:iam::086441151436:root", "arn:aws:iam::388731089494:root", "arn:aws:iam::284668455005:root", "arn:aws:iam::113285607260:root" ]}, "Action": "SNS:Publish", "Resource": "aws:arn:sns:us-east-1:123456789012:myTopic" }]

版本 1.0226

Page 232: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南故障診斷

}

此政策使用根據個人 CloudTrail 帳號 IDs 的許可。 若要交付新區域的 Logs,您必須手動更新政策以包含該區域的 CloudTrail 帳號 ID。例如,因為 CloudTrail 已新增 美國東部 (俄亥俄) 區域 的支援,所以您必須更新政策以新增該區域的帳戶 ID ARN:"arn:aws:iam::475085895292:root".

最佳實務是更新政策以搭配 CloudTrail 服務委託人使用許可。若要執行此作業,請將帳號 ID ARNs 取代為服務主體名稱:"cloudtrail.amazonaws.com"。

這會授予 CloudTrail 許可,傳送目前和新區域的通知。以下是上述政策的更新版本:

Example 主題政策與服務主體名稱

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:123456789012:myTopic" }]}

驗證政策具有正確的值:

• 在 Resource 欄位中,指定主題擁有者的帳戶號碼。對於您建立的主題,指定您的帳戶號碼。• 指定適當的區域和 SNS 主題名稱值。

其他資源如需更多關於 SNS 主題並訂閱這些主題的資訊,請參閱 Amazon Simple Notification Service 開發人員指南.

針對 AWS CloudTrail Identity and Access 進行故障診斷請使用以下資訊來協助您診斷和修復使用 CloudTrail 和 IAM. 時發生的常見問題。

主題• 我未獲得在 中執行動作的授權CloudTrail (p. 227)• 我是管理員,而且我想要允許其他人存取 CloudTrail (p. 228)• 我想要允許我的 AWS 帳戶之外的人存取我的 CloudTrail 資源 (p. 228)

我未獲得在 中執行動作的授權CloudTrail若 AWS 管理主控台 告知您並未獲得執行動作的授權,您必須聯絡您的管理員以取得協助。您的管理員是提供您使用者名稱和密碼的人員。

以下範例錯誤會在 mateojackson 使用者嘗試使用主控台來檢視結尾的詳細資訊,但不具有適當的 IAM受管政策 (CloudTrail_FullAccessAWSCloudTrail 或 <gls id=1>) 或套用到他帳號的同等許可時發生。</gls>AWSCloudTrailReadOnlyAccess

User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: cloudtrail:GetTrailStatus on resource: My-Trail

版本 1.0227

Page 233: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用服務連結角色

在這種情況下,Mateo 會要求管理員更新其政策,以允許該使用者在主控台中存取線索資訊和狀態。

如果您使用具有 IAM_FullAccessAWSCloudTrail 受管政策或其同等許可的 FullAccess 或 整合與 路徑,您可能會缺少與這些服務整合所需的許可。AWS ConfigAmazon CloudWatch Logs如需詳細資訊,請前往 授予在 AWS Config 主控台上檢視 CloudTrail 資訊的許可 (p. 220) 和 授予在 Amazon CloudWatch Logs 主控台上檢視並設定 CloudTrail 資訊的許可 (p. 220)。

我是管理員,而且我想要允許其他人存取 CloudTrail若要允許其他人存取 CloudTrail,您必須針對需要存取的人員或應用程式建立 IAM 實體 (使用者、群組或角色)。他們將使用該實體的登入資料來存取 AWS. 您接著必須將政策連接到實體,在 中授予正確的許可。CloudTrail. 如需如何執行此作業的範例,請參閱 授予 CloudTrail 使用者的自訂許可 (p. 217) 和 授予CloudTrail 管理許可 (p. 215).

我想要允許我的 AWS 帳戶之外的人存取我的 CloudTrail 資源您可以建立角色並和多個 CloudTrail 帳戶之間共享 AWS 資訊。如需詳細資訊,請參閱 在 AWS 帳戶之間共享 CloudTrail 日誌檔案 (p. 170).

您可以建立一個角色,讓其他帳戶中的使用者或您組織外部的人員存取您的資源。您可以指定要允許哪些信任對象取得該角色。針對支援資源類型政策或存取控制清單 (ACL) 的服務,您可以使用那些政策來授予人員存取您資源的權限。

若要進一步了解,請參閱以下內容:

• 若要了解 CloudTrail 是否支援這些功能,請參閱AWS CloudTrail 如何搭配 IAM 運作 (p. 208)。• 若要了解如何對您擁有的所有 AWS 帳戶提供資源的存取,請參閱《IAM 使用者指南》中的在您擁有的另

一個 AWS AWS 帳戶中提供 IAM 使用者存取權。• 若要了解如何將資源的存取權限提供給第三方 AWS 帳戶,請參閱 IAM 使用者指南中的提供由第三方持有

的 AWS 帳戶存取權限。• 若要了解如何透過聯合身份提供存取權限,請參閱《IAM 使用者指南》中的將存取權限提供給在外部進行

身份驗證的使用者 (聯合身份)。• 若要了解針對跨帳戶存取使用角色及資源類型政策的差異,請參閱《IAM 使用者指南》中的 IAM 角色與以

資源為基礎的政策有何差異。

在 使用服務連結角色AWS CloudTrailAWS CloudTrail 使用 AWS Identity and Access Management (IAM) 服務連結角色. 服務連結角色是直接連結至 IAM 的一種特殊 CloudTrail. 角色類型。服務連結角色是由 CloudTrail 預先定義的,包含服務代您呼叫其他 AWS 服務所需要的所有許可。

服務連結的角色可讓設定 CloudTrail 更為簡單,因為您不必手動新增必要的許可。CloudTrail 定義其服務連結角色的許可,除非另有定義,否則僅有 CloudTrail 可以擔任其角色。定義的許可包括信任政策和許可政策,並且該許可政策不能附加到任何其他 IAM 實體。

如需有關支援服務連結角色的其他服務的資訊,請查看使用 IAM 的 AWS 服務,並在服務連結角色欄尋找具有是的服務。選擇包含連結的 Yes (是),以檢視該服務的服務連結角色文件。

服務連結角色許可CloudTrailCloudTrail 使用名為 AWSServiceRoleForCloudTrail – 的服務連結角色。This service linked role is used forsupporting the organization trail feature

AWSServiceRoleForCloudTrail 服務連結角色信任下列服務來擔任該角色:

版本 1.0228

Page 234: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用服務連結角色

• cloudtrail.amazonaws.com

此角色用於支援建立和管理 組織追蹤。CloudTrail. 如需詳細資訊,請參閱 建立組織的路徑 (p. 95).

此角色許可政策允許 CloudTrail 對指定資源完成下列動作:

• 動作:All 於所有 CloudTrail 資源。• 動作:organizations:DescribeAccount 於所有 組織 資源。• 動作:organizations:DescribeOrganizations 於所有 組織 資源。• 動作:organizations:ListAccounts 於所有 組織 資源。• 動作:organizations:ListAWSServiceAccessForOrganization 於所有 組織 資源。

您必須設定許可,IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需更多資訊,請參閱 https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions 中的 IAM 使用者指南服務連結角色許可.

建立 的服務連結角色CloudTrail您不需要手動建立一個服務連結角色。當您在 AWS 管理主控台、AWS CLI、或是 AWS API 中建立組織追蹤,CloudTrail 為您建立服務連結的角色。

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。當您建立組織追蹤,CloudTrail 為您建立服務連結的角色。

為 編輯服務連結角色CloudTrailCloudTrail 不允許您編輯 AWSServiceRoleForCloudTrail 服務連結角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。然而,您可使用 來編輯角色描述。IAM. 如需詳細資訊,請參閱 編輯服務連結角色IAM 使用者指南.

刪除 的服務連結角色CloudTrail您不需要手動刪除 AWSServiceRoleForCloudTrail 角色。如果 AWS 帳號從 組織 組織移除,AWSServiceRoleForCloudTrail 角色會自動從該 AWS 帳號移除。您無法從組織管理帳號中的AWSServiceRoleForCloudTrail 服務連結角色分離或移除政策,除非將帳號從組織中移除。

您也可以使用 IAM 主控台、AWS CLI 或 AWS API 手動刪除服務連結角色。若要執行此操作,您必須先手動清除服務連結角色的資源,然後才能手動刪除它。

Note

當您嘗試移除資源時,如果 CloudTrail 服務仍在使用該角色,則 可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

若要移除 AWSServiceRoleForCloudTrail 角色正在使用的資源,您可以執行下列其中一項:

• 從 AWS 組織中移除 組織. 帳戶 。• 更新追蹤,因此不再是組織追蹤。• 刪除追蹤。

如需詳細資訊,請參閱 建立組織的路徑 (p. 95)、更新路徑 (p. 70) 及 刪除線索 (p. 75).

使用 手動移除服務連結角色 IAM

版本 1.0229

Page 235: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南合規驗證

使用 IAM 主控台、AWS CLI 或 AWS API,來刪除 AWSServiceRoleForCloudTrail 服務連結角色。如需詳細資訊,請參閱 中的 刪除服務連結角色IAM 使用者指南.

CloudTrail 服務連結角色的支援區域CloudTrail 在所有提供 CloudTrail 和 組織 的區域中支援使用服務連結角色。如需詳細資訊,請參閱 AWSRegions and Endpoints.

AWS CloudTrail 的合規驗證在多個 AWS 合規計畫中,第三方稽核人員會評估 AWS CloudTrail 的安全與合規。這些包括SOC、PCI、FedRAMP、HIPAA 等。

如需特定合規計劃範圍內的 AWS 服務清單,請參閱合規計劃內的 AWS 服務。如需一般資訊,請參閱 AWS合規計劃。

您可使用 AWS Artifact 下載第三方稽核報告。如需詳細資訊,請參閱在 AWS Artifact 中下載報告。

您在使用 CloudTrail 時的合規責任,取決於資料的敏感性、您公司的合規目標,以及適用的法律和法規。AWS 會提供以下資源協助您處理合規事宜:

• 安全與合規快速入門指南 – 這些部署指南討論在 AWS 上部署以安全及合規為重心基準環境的架構考量和步驟。

• HIPAA 安全與合規架構白皮書 – 本白皮書說明公司可如何運用 AWS 來建立 HIPAA 合規的應用程式。• AWS 合規資源 – 這組手冊和指南可能適用於您的產業和位置。• AWS Config – 此 AWS 服務可評定資源組態與內部實務、業界準則和法規的合規狀態。• AWS Security Hub – 此 AWS 服務可供您檢視 AWS 中的安全狀態,有助於您檢查是否符合安全產業標準

和最佳實務。• Amazon S3 清查 可協助您稽核和報告您 Amazon S3 儲存貯體的複寫和加密狀態,該儲存貯體用於存放日

誌檔及其業務、合規和法規需求的物件。

AWS CloudTrail 中的恢復能力全球基礎設施是以 AWS 區域與可用區域為中心建置的。AWSAWS區域提供多個分散和隔離的可用區域,它們是以低延遲、高輸送量和高度備援的網路來連接。透過可用區域,您所設計與操作的應用程式和資料庫,就能夠在可用區域之間自動容錯移轉,而不會發生中斷。可用區域的可用性、容錯能力和擴展性都比傳統單一或多個資料中心的基礎設施高。如果您需要在地理距離較遠的情況下複寫 CloudTrail 日誌資料,可以對您的線索 Amazon S3 儲存貯體使用 跨區域複寫,該功能可以非同步方式自動將物件複製到不同 AWS 區域中的儲存貯體。

如需 AWS 區域與可用區域的詳細資訊,請參閱 AWS 全球基礎設施。

除了 AWS 全球基礎設施外,CloudTrail 還提供數種可支援資料復原和備份需求的功能。

在所有 AWS 區域中登入事件的幾條路徑

當您套用線索到所有 AWS 區域,CloudTrail 會在您帳戶中所有其他 AWS 區域建立完全相同的線索組態。當AWS 新增新區域時,線索組態會自動建立於新區域中。

對 CloudTrail Log 資料的版本控制、生命循環組態和物件鎖定保護

由於 CloudTrail 使用 Amazon S3 儲存貯體存放日誌檔,您也可以使用 Amazon S3 提供的功能,協助支援您的資料備援和備份需求。如需詳細資訊,請參閱 Amazon S3 中的恢復能力。

版本 1.0230

Page 236: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南基礎設施安全

AWS CloudTrail 的基礎設施安全為受管服務,受到 AWS CloudTrail 全球網路安全程序的保護,如 AWS 中所述:Amazon Web Services 安全程序概觀白皮書。

您可使用 AWS 發佈的 API 呼叫,透過網路來存取 CloudTrail。用戶端必須支援 Transport Layer Security(TLS) 1.0 或更新版本。建議使用 TLS 1.2 或更新版本。用戶端也必須支援具備完美轉送私密 (PFS) 的密碼套件,例如臨時 Diffie-Hellman (DHE) 或橢圓曲線臨時 Diffie-Hellman (ECDHE)。現代系統 (如 Java 7 和更新版本) 大多會支援這些模式。

此外,請求必須使用存取金鑰 ID 和與 IAM 委託人相關聯的私密存取金鑰來簽署。或者,您可以使用 AWSSecurity Token Service (AWS STS) 來產生暫時安全登入資料來簽署請求。

以下安全最佳實務也可用來解決 CloudTrail 中的基礎設施安全問題:

• 考慮 Amazon VPC 端點存取的線索。 (p. 112)• 考慮 Amazon VPC 端點用於 Amazon S3 儲存貯體的存取。如需詳細資訊,請參閱 Amazon S3 VPC 端點

的儲存貯體政策範例。• 識別和稽核所有包含 CloudTrail 日誌檔的 Amazon S3 儲存貯體。考慮使用標籤以協助您辨識 CloudTrail

線索和包含 CloudTrail 日誌檔的 Amazon S3 儲存貯體。然後,您可以對 CloudTrail 資源使用資源群組。如需詳細資訊,請參閱AWS 資源群組。

的安全最佳實務AWS CloudTrailAWS CloudTrail在您開發和實作自己的安全政策時,可考慮使用 提供的多種安全功能。以下最佳實務為一般準則,並不代表完整的安全解決方案。這些最佳實務可能不適用或無法滿足您的環境需求,因此請將其視為實用建議就好,而不要當作是指示。

主題• CloudTrail 偵測性安全最佳實務 (p. 231)• CloudTrail 預防性安全最佳實務 (p. 232)

CloudTrail 偵測性安全最佳實務建立線索

若要持續記錄 AWS 帳戶中的事件,您必須建立線索。雖然 CloudTrail 提供CloudTrail 主控台 90 天的事件歷史記錄資訊供管理事件且無須建立線索,但這不是永久記錄,而且這不提供所有可能類型事件的資訊。針對持續記錄,以及記錄包含所有您指定的事件類型,您必須建立線索,將日誌檔案傳遞到指定的 Amazon S3儲存貯體。

為了協助管理您的 CloudTrail 資料,請考慮在所有 AWS 區域建立一個線索日誌管理事件,然後建立額外的線索,記錄特定事件類型的資源,例如 Amazon S3 儲存貯體活動或 AWS Lambda 函數。

以下是您可進行的一些步驟:

• 為您的 AWS 帳戶建立線索 (p. 62)• 為組織建立線索 (p. 95)

將線索套用到所有 AWS 區域

為了取得您的 AWS 帳戶中透過使用者、角色或服務完整的記錄事件,每個線索應設定為記錄所有 AWS 區域的事件。透過 AWS 區域中的記錄事件,可以確保在您的 AWS 帳戶中的所有事件都會加以記錄,無論發

版本 1.0231

Page 237: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 預防性安全最佳實務

生的位置的 AWS 區域為何。這包括登入全域服務事件 (p. 9),以登入該服務特定的 AWS 區域。當您建立套用至所有區域的線索時,CloudTrail 會記錄每個區域中的事件,並將 CloudTrail 事件日誌檔案交付至您指定的 S3 儲存貯體。如果在您建立套用至所有區域的線索之後新增 AWS 區域,則會自動包含新的區域,並記錄該區域中的事件。當您在 CloudTrail 主控台中建立線索時,這是預設選項。

以下是您可進行的一些步驟:

• 為您的 AWS 帳戶建立線索 (p. 62)• 更新現有的線索 (p. 70) 來記錄 AWS 區域中所有的事件• 實作持續偵測控制藉由使用 AWS 中的 multi-region-cloud-trail-enabled 規則,協助確保所有建立的線索都

記錄所有 AWS Config. 區域的事件。

啟用 CloudTrail 日誌檔案完整性

驗證過的日誌檔案對於安全和鑑識調查尤其重要。例如,驗證過的日誌檔案可讓您積極宣告日誌檔案本身尚未變更,或該特定使用者登入資料已執行特定 API 活動。CloudTrail 日誌檔完整性驗證程序也可讓您知道日誌檔是否已刪除或變更,或積極宣告在指定的一段期間沒有日誌檔交付至您的帳戶。CloudTrail 日誌檔完整性驗證使用產業標準演算法:適用於雜湊的 SHA-256 和適用於數位簽章的 SHA-256 搭配 RSA。這可讓修改、删除或取代 CloudTrail log 檔案而無須偵測運算能力。如需詳細資訊,請參閱 啟用驗證並驗證檔案 (p. 179).

與 整合 Amazon CloudWatch Logs

CloudWatch Logs 可讓您監控和接收 CloudTrail 擷取的特定事件的警示。傳送到 CloudWatch Logs 的事件是設定為您記錄的線索,因此,請確保您已設定一個或多個線索到事件記錄類型 (管理事件和/或資料事件),也就是您有興趣監控的類型。

例如,您可以監控金鑰安全性和網路相關的管理事件,例如失敗的 AWS 主控台登入事件 (p. 154)。

以下是您可進行的一些步驟:

• 檢視 的 CloudWatch Logs 整合範例。CloudTrail (p. 152)• 將您的路徑設定為傳送事件至 CloudWatch Logs (p. 136)。• 請考慮實作持續偵測控制,以協助確保所有試驗都會使用 CloudWatch Logs 中的 cloud-trail-cloud-watch-

logs-enabled 規則,來將事件傳送到 AWS Config 進行監控。

CloudTrail 預防性安全最佳實務以下 CloudTrail 最佳實務有助於預防安全事件的發生。

記錄到專用和集中式的 Amazon S3 儲存貯體

CloudTrail log 檔案是使用者、角色或 AWS 服務所執行之動作的稽核對數。這些日誌的完整性、完成度和可用性對於趨勢的增長和稽核目的相當重要。透過記錄到專用和集中式的 Amazon S3 儲存貯體,您可以強制執行嚴格的安全控制、存取和職責劃分。

以下是您可進行的一些步驟:

• 建立單獨的 AWS 帳戶作為日誌存檔帳戶。如果您使用 AWS Organizations,將此帳號加入組織,並考慮建立組織尾端 (p. 95),以便對您組織中的所有 AWS 帳號登入資料。

• 如果您不使用 組織,但想要多個 AWS 的登入資料,請建立結尾 (p. 62)來在此 Log 封存帳號中登入活動。限制存取此帳戶為信任的管理使用者,具備帳戶和稽核資料的存取權。

• 作為建立線索的一部分,無論是否為組織的線索或單一 AWS 帳戶的線索,建立專用的 Amazon S3 儲存貯體來存放該線索的日誌檔。

• 如果您想要對多個 AWS 帳號執行登入活動,請修改儲存貯體政策 (p. 168),以允許您想要登入 AWS 帳號活動的所有 AWS 帳號登入和儲存登入檔案。

版本 1.0232

Page 238: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 預防性安全最佳實務

• 如果您不是使用組織線索、為您所有 AWS 帳戶建立線索,從日誌存檔帳戶中指定 Amazon S3 儲存貯體。

使用 AWS KMS 受管金鑰的伺服器端加密

根據預設,CloudTrail 交付至您儲存貯體的日誌檔案是透過 Amazon 伺服器端加密與 Amazon S3 受管加密金鑰 (SSE-S3) 進行加密. 若要提供可直接管理的安全 layer,您可以改為將伺服器端加密與 AWS KMS 受管金鑰 (SSE-KMS) 搭配使用CloudTrail。若要搭配使用 SSE-KMS 與 CloudTrail,您可以建立和管理 KMS金鑰,也稱為客戶主金鑰 (CMK).

Note

如果您使用 SSE-KMS 和日誌檔驗證,而您修改 Amazon S3 儲存貯體政策僅允許 SSE-KMS 加密檔案,您將無法建立利用儲存貯體的線索,除非您修改儲存貯體政策為允許 AES256 加密,如下列範例政策所示。

"StringNotEquals": { "s3:x-amz-server-side-encryption": ["aws:kms", "AES256"] }

以下是您可進行的一些步驟:

• 使用 SSE-KMS 來加密 log 檔案的優點 (p. 234)。• 建立 CMK 以用於加密 log 檔案 (p. 235)。• 設定日誌檔加密您的線索。 (p. 242)• 請考慮實作持續偵測控制,以協助確保所有 log 檔案都是使用 中的 cloud-trail-encryption-enabledAWS

Config 規則來透過 SSE-KMS 加密。

實作最低權限存取到Amazon S3 儲存貯體,就是存放日誌檔的位置

CloudTrail 線索記錄事件到您指定的 Amazon S3 儲存貯體。這些日誌檔包含透過使用者、角色和 AWS 服務採取動作的稽核日誌。這些日誌檔的完整性和完程度對於稽核和鑑定目的相當重要。為了協助確保完整性,當您建立或修改存取任何 Amazon S3 儲存貯體用於存放 CloudTrail 日誌檔時,應該遵循最小權限原則。

以下是您可進行的一些步驟:

• 檢視任何及所有存放 log 檔案之 Amazon S3 Amazon S3 ,並視需要調整,移除任何不必要的存取。 (p. 221)如果您使用 CloudTrail 主控台建立線索,會為您產生此儲存貯體政策,但也可以手動建立和管理。

• 如果您使用相同的 Amazon S3 儲存貯體存放多個 AWS 帳戶的日誌檔,請遵循 接收多個帳戶日誌檔 (p. 167). 的指引。

• 如果您使用組織線索,確保您遵循 組織線索 (p. 95),並檢閱 Amazon S3 中 使用 AWS Command LineInterface 為組織建立路徑 (p. 103). 組織線索儲存貯體的範例政策。

• 檢閱 Amazon S3 安全文件 和 逐步解說保護儲存貯體的範例.

在 Amazon S3 儲存貯體,就是日誌檔存放位置上啟用 MFA Delete

設定多重驗證 (MFA) 可確保任何嘗試變更儲存貯體的版本狀態或永久刪除某個物件版本需要額外的身分驗證。這有助於避免任何可能影響您日誌檔完整性的操作,即便使用者獲得 IAM 使用者密碼具有永久刪除Amazon S3 物件的權限。

以下是您可進行的一些步驟:

• 檢視 MFA Delete 指導。• 新增 Amazon S3 儲存貯體政策需要 MFA.

設定 Amazon S3 儲存儲體上的物件生命週期,也就是存放日誌檔的地方

版本 1.0233

Page 239: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 AWS KMS 受管金鑰 (SSE-KMS) 加密 CloudTrail 日誌檔案

CloudTrail 線索預設是在 Amazon S3 為線索設定的儲存貯體中無限期存放日誌檔。您可以使用 Amazon S3Amazon S3 來定義您自己的保留政策,更符合您的業務和稽核需求。例如,您可能想要存檔一年以上的日誌檔案到 Amazon Glacier,或刪除超過特定時間的日誌檔。

限制對 AWSCloudTrail_FullAccess 政策的存取權

具有 _AWSCloudTrailFullAccessFullAccess 政策的使用者,可以停用或重新設定其 (p. 218) 帳號中最敏感和重要的稽核功能。AWS此政策在您的 AWS 帳戶中不應共用或廣泛套用至使用者和角色。此政策的應用為盡量少數,限制於您希望作為 AWS 帳戶管理員。

使用 AWS KMS 受管金鑰 (SSE-KMS) 加密CloudTrail 日誌檔案

根據預設,CloudTrail 交付至您儲存貯體的日誌檔案是透過 Amazon 伺服器端加密與 Amazon S3 受管加密金鑰 (SSE-S3) 進行加密。若要提供可直接管理的安全層,您可以改為將伺服器端加密與 AWS KMS 受管金鑰 (SSE-KMS) 用於 CloudTrail 日誌檔案。

Note

啟用伺服器端加密可加密日誌檔案,但未使用 SSE-KMS 加密摘要檔案。摘要檔案是使用AmazonS3 受管加密金鑰 (SSE-S3) 進行加密。

若要搭配使用 SSE-KMS 與 CloudTrail,您可以建立和管理 KMS 金鑰,也稱為客戶主金鑰 (CMK)。您可以將政策連接至金鑰,以判定哪些使用者可以使用金鑰來加密和解密 CloudTrail 日誌檔案。解密是透過 S3 無縫進行。金鑰的授權使用者讀取 CloudTrail 日誌檔案時,S3 會管理解密,而且授權使用者可以透過未加密形式讀取日誌檔案。

這種方法具有下列優勢:

• 您可以自行建立和管理 CMK 加密金鑰。• 您可以使用單一 CMK 來加密和解密所有區域之多個帳戶的日誌檔案。• 您可以控制誰可以使用您的金鑰來加密和解密 CloudTrail 日誌檔案。您可以根據需求將金鑰的許可指派給

組織中的使用者。• 您可以增強安全性。若要使用此功能讀取日誌檔時,則需要以下權限:

• 針對包含日誌檔的儲存貯體,使用者必須擁有 S3 讀取權限。• 使用者還必須套用允許 CMK 政策解密權限的政策或角色。

• 因為 S3 會自動解密授權使用 CMK 之使用者請求的日誌檔案,所以 CloudTrail 日誌檔案的 SSE-KMS 加密會與讀取 CloudTrail 日誌資料的應用程式回溯相容。

Note

您選擇的 CMK 必須位在與收到您日誌檔案之 Amazon S3 儲存貯體建立在相同的 AWS 區域中。例如,如果該日誌檔將存放在 美國東部 (俄亥俄) 區域中的儲存貯體,則您必須建立或選擇該區域中建立的 CMK。若要驗證 Amazon S3 儲存貯體的區域,請在 Amazon S3 主控台中檢查其屬性。

啟用日誌檔案加密Note

如果您在 CloudTrail 主控台中建立 CMK,則 CloudTrail 會為您新增必要的 CMK 政策區段。如果您已在 IAM 主控台或 AWS CLI 中建立金鑰,而且需要手動新增所需的政策區段,則請遵循下列程序。

若要啟用 CloudTrail 日誌檔案的 SSE-KMS 加密,請執行下列高階步驟:

版本 1.0234

Page 240: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南授予建立 CMK 的許可

1. 建立 CMK。

• 如需使用 AWS 管理主控台建立 CMK 的資訊,請參閱《https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html》中的AWS Key Management Service Developer Guide建立金鑰。

• 如需使用 AWS CLI 建立 CMK 的資訊,請參閱建立金鑰。

Note

您選擇的 CMK 必須位在與收到您日誌檔案之 S3 儲存貯體相同的區域中。若要驗證 S3 儲存貯體的區域,請在 S3 主控台中檢查儲存貯體的屬性。

2. 將政策區段新增至金鑰,讓 CloudTrail 進行加密,並讓使用者解密日誌檔案。

• 如需政策中所含項目的資訊,請參閱「設定用於CloudTrail 的 AWS KMS 金鑰政策。 (p. 235)」。Warning

請務必在所有需要讀取日誌檔案之使用者的政策中包含解密許可。如果您在將金鑰新增至線索組態之前未先執行此步驟,則沒有解密許可的使用者就無法讀取加密檔案;除非您授與他們那些權限。

• 如需使用 IAM 主控台編輯政策的資訊,請參閱《https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-editing》中的AWS Key Management Service DeveloperGuide編輯金鑰政策。

• 如需使用 AWS CLI 將政策連接至 CMK 的資訊,請參閱 put-key-policy。3. 更新您的線索,以使用您針對 CloudTrail 修改其政策的 CMK。

• 若要使用 CloudTrail 主控台更新線索組態,請參閱 更新線索以使用您的 CMK (p. 242)。• 若要使用 AWS CLI 更新線索組態,請參閱 使用 CloudTrail 啟用和停用 AWS CLI 日誌檔案加

密 (p. 243)。

下節說明您 CMK 政策與 CloudTrail 搭配使用所需的政策區段。

授予建立 CMK 的許可您可以授予使用者許可,使用 AWSKeyManagementServicePowerUser 政策建立使用者主金鑰 (CMK)。

授予建立 CMK 的許可

1. 開啟位於 https://console.aws.amazon.com/iam IAM 主控台。2. 選擇您要授予許可的群組或使用者。3. 選擇 Permissions (許可),然後選擇 Attach Policy (連接政策)。4. 搜尋 AWSKeyManagementServicePowerUser,選擇政策,然後選擇 Attach policy (連接政策)。

使用者現在具備建立 CMK 的許可。如果您想要為使用者建立自訂政策,請參閱《https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html#create-managed-policy-console》中的IAM 使用者指南建立客戶管理政策。

設定用於CloudTrail 的 AWS KMS 金鑰政策。您可透過三種方式建立客戶主金鑰 (CMK):

• CloudTrail 主控台• IAM 主控台• AWS CLI

版本 1.0235

Page 241: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南設定用於CloudTrail 的 AWS KMS 金鑰政策。

Note

如果您在 CloudTrail 主控台中建立 CMK,CloudTrail 會為您新增必要的 CMK 政策。您不需要手動新增政策陳述式。請參閱「在 CloudTrail 主控台中建立的預設金鑰政策 (p. 240)」。

如果您在 IAM 主控台或 AWS CLI 中建立 CMK,您必須為金鑰新增政策區段,才可在 CloudTrail 中使用它。該政策必須允許 CloudTrail 使用金鑰加密您的日誌檔案,並允許您指定的使用者讀取未加密格式的日誌檔案。

請參閱下列資源:

• 若要使用 AWS CLI 建立 CMK,請參閱 create-key。• 若要編輯 CloudTrail 的 CMK 政策,請參閱《https://docs.aws.amazon.com/kms/latest/developerguide/

key-policies.html#key-policy-editing》中的AWS Key Management Service Developer Guide編輯金鑰政策。

• 如需 CloudTrail 使用 AWS KMS 之方法的技術詳細資訊,請參閱AWS CloudTrail 如何在 AWS KeyManagement Service Developer Guide 中使用 AWS KMS。

搭配 CloudTrail 使用所必要的 CMK 政策區段如果您使用 IAM 主控台或 AWS CLI 建立 CMK,您至少必須為您的 CMK 政策新增三個陳述式,才能搭配CloudTrail 使用。您不需要為 CMK 手動新增陳述式,其已使用 CloudTrail 主控台建立。

1. 允許 CloudTrail 日誌加密許可。請參閱「授予加密許可 (p. 236)」。2. 允許 CloudTrail 日誌解密許可。請參閱「授予解密許可 (p. 237)」。3. 允許 CloudTrail 描述 CMK 屬性。請參閱「允許 CloudTrail 描述 CMK 屬性 (p. 240)」。

Note

當您為您的 CMK 政策新增區段時,請勿變更政策中任何現有的區段。

Warning

若追蹤已啟用加密,但 CMK 已停用或 CloudTrail 的 CMK 政策設定不正確,CloudTrail 在 CMK 問題修正前都不會交付日誌。

授予加密許可Example 允許 CloudTrail 代表特定帳戶加密日誌

CloudTrail 需要明確的許可,才能代表特定帳戶使用 CMK 加密日誌。若要指定帳號,請將下列必要陳述式新增至 CMK 政策 (修改) aws-account-id 視需要執行。您可以將其他帳號 IDs 新增到EncryptionContext 區段,讓這些帳號使用 CloudTrail 使用您的 CMK 來加密 log 檔案。

{ "Sid": "Allow CloudTrail to encrypt logs", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": [ "arn:aws:cloudtrail:*:aws-account-id:trail/*" ]

版本 1.0236

Page 242: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南設定用於CloudTrail 的 AWS KMS 金鑰政策。

} }}

Example

下列範例政策陳述式示範另一個帳戶如何使用您的 CMK 加密 CloudTrail 日誌。

Scenario

• 您的 CMK 在帳戶 111111111111 中。• 您和帳戶 222222222222 都要加密日誌。

在政策中,您會新增一或多個使用您的 金鑰加密的項目至 CloudTrail EncryptionContext。 這會限制CloudTrail 只能使用您的金鑰來加密您指定的那些帳號。對 222222222222 帳戶的根授予加密日誌的許可,會委派該帳戶的管理員透過變更帳戶 222222222222 中其他使用者的 IAM 使用者政策,視需要將加密許可分配給他們。

CMK 政策陳述式:

{ "Sid": "Enable CloudTrail Encrypt Permissions", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": [ "arn:aws:cloudtrail:*:111111111111:trail/*", "arn:aws:cloudtrail:*:222222222222:trail/*" ] } }}

如需有關編輯 CMK 政策以搭配 CloudTrail 使用的步驟,請參閱 AWS Key Management Service DeveloperGuide 中的編輯金鑰政策。

授予解密許可在您將自己的 CMK 新增至 CloudTrail 組態之前,請務必將解密許可授予所有需要該許可的使用者。具加密許可但不具解密許可的使用者將無法讀取加密的日誌。

允許 CloudTrail 日誌解密許可

您的金鑰使用者必須擁有明確的許可,才能讀取 CloudTrail 加密的日誌檔案。若要允許使用者讀取加密的日誌,請將下列必要陳述式新增至您的 CMK 政策,並修改 Principal 區段,為您希望可以使用您 CMK 解密的每位委託人 (角色或使用者) 新增程式碼。

{ "Sid": "Enable CloudTrail log decrypt permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::aws-account-id:user/username" }, "Action": "kms:Decrypt",

版本 1.0237

Page 243: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南設定用於CloudTrail 的 AWS KMS 金鑰政策。

"Resource": "*", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } }}

允許您帳戶中的使用者使用您的 CMK 解密

Example

此政策陳述式示範如何允許您帳戶中的 IAM 使用者或角色,使用您的金鑰讀取您帳戶之 S3 儲存貯體中的加密日誌。

Example Scenario

• 您的 CMK、S3 儲存貯體和 IAM 使用者 Bob 都在帳戶 111111111111 中。• 您要授予 IAM 使用者 Bob 解密 S3 儲存貯體中之 CloudTrail 日誌的許可。

在金鑰政策中,您要為 IAM 使用者 Bob 允許 CloudTrail 日誌解密許可。

CMK 政策陳述式:

{ "Sid": "Enable CloudTrail log decrypt permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111111111111:user/Bob" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } }}

允許其他帳戶中的使用者使用您的 CMK 解密

您可以允許其他帳戶中的使用者使用您的 CMK 解密日誌。您金鑰政策所需的變更,取決於 S3 儲存貯體在您的帳戶中或另一個帳戶中。

允許其他帳戶中的儲存貯體使用者解密日誌

Example

此政策陳述式示範如何允許其他帳戶中的 IAM 使用者或角色,使用您的金鑰從另一個帳戶中的 S3 儲存貯體讀取加密日誌。

Scenario

• 您的 CMK 在帳戶 111111111111 中。• IAM 使用者 Alice 和 S3 儲存貯體都在帳戶 222222222222 中。

在此案例中,您要授予在帳戶 222222222222 下解密日誌的 CloudTrail 許可,再授予 Alice 的 IAM 使用者政策使用您金鑰 KeyA (在帳戶 111111111111 中) 的許可。

版本 1.0238

Page 244: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南設定用於CloudTrail 的 AWS KMS 金鑰政策。

CMK 政策陳述式:

{ "Sid": "Enable encrypted CloudTrail log read access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::222222222222:root" ] }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } }}

Alice 的 IAM 使用者政策陳述式:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111111111111:key/keyA" } ]}

允許其他帳戶中的使用者從您的儲存貯體解密日誌

Example

此政策示範另一個帳戶如何使用您的金鑰從您的 S3 儲存貯體讀取加密日誌。

Example Scenario

• 您的 CMK 和 S3 儲存貯體都在帳戶 111111111111 中。• 要從您儲存貯體讀取日誌的使用者位於帳戶 222222222222 中。

若要實現此案例,您可以在帳號中讓 IAM 角色 CloudTrailReadRole 的解密許可,然後授與其他帳號擔任該角色的許可。

CMK 政策陳述式:

{ "Sid": "Enable encrypted CloudTrail log read access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::11111111111:role/CloudTrailReadRole" ] }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "Null": {

版本 1.0239

Page 245: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南設定用於CloudTrail 的 AWS KMS 金鑰政策。

"kms:EncryptionContext:aws:cloudtrail:arn": "false" } }}

CloudTrailReadRole 信任實體政策陳述式:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:root" }, "Action": "sts:AssumeRole" } ] }

如需有關編輯 CMK 政策以搭配 CloudTrail 使用的步驟,請參閱 AWS Key Management Service DeveloperGuide 中的編輯金鑰政策。

允許 CloudTrail 描述 CMK 屬性CloudTrail 需要描述 CMK 屬性的能力。若要啟用此功能,請將下列必要陳述式依原內容新增至您的 CMK 政策。此陳述式不會授予 CloudTrail 您指定之其他許可以外的任何許可。

{ "Sid": "Allow CloudTrail access", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*"}

如需編輯 CMK 政策的詳細資訊,請前往 中的編輯金鑰政策。AWS Key Management Service DeveloperGuide

在 CloudTrail 主控台中建立的預設金鑰政策如果您在 CloudTrail 主控台中建立客戶主金鑰 (CMK),系統會自動為您建立下列政策。此政策允許這些許可:

• 為 AWS 帳戶 (根) 允許 CMK 的許可。• 允許 CloudTrail 在 CMK 下加密日誌檔案及描述 CMK。• 允許指定帳戶中的所有使用者解密日誌檔案。• 允許指定帳戶中的所有使用者建立 CMK 的 KMS 別名。• 已建立線索的帳戶能夠用於帳戶 ID 跨帳戶日誌解密。

{ "Version": "2012-10-17", "Id": "Key policy created by CloudTrail",

版本 1.0240

Page 246: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南設定用於CloudTrail 的 AWS KMS 金鑰政策。

"Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::aws-account-id:root", "arn:aws:iam::aws-account-id:user/username" ]}, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow CloudTrail to encrypt logs", "Effect": "Allow", "Principal": {"Service": ["cloudtrail.amazonaws.com"]}, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": {"StringLike": {"kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:aws-account-id:trail/*"}} }, { "Sid": "Allow CloudTrail to describe key", "Effect": "Allow", "Principal": {"Service": ["cloudtrail.amazonaws.com"]}, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Allow principals in the account to decrypt log files", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": [ "kms:Decrypt", "kms:ReEncryptFrom" ], "Resource": "*", "Condition": { "StringEquals": {"kms:CallerAccount": "aws-account-id"}, "StringLike": {"kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:aws-account-id:trail/*"} } }, { "Sid": "Allow alias creation during setup", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": "kms:CreateAlias", "Resource": "*", "Condition": {"StringEquals": { "kms:ViaService": "ec2.region.amazonaws.com", "kms:CallerAccount": "aws-account-id" }} }, { "Sid": "Enable cross account log decryption", "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": [ "kms:Decrypt", "kms:ReEncryptFrom" ], "Resource": "*", "Condition": { "StringEquals": {"kms:CallerAccount": "aws-account-id"}, "StringLike": {"kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:aws-account-id:trail/*"}

版本 1.0241

Page 247: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南更新線索以使用您的 CMK

} } ]}

Note

此政策的最後一項陳述式允許使用 CMK 跨帳戶解密日誌檔案。

更新線索以使用您的 CMK若要更新線索以使用您針對 CloudTrail 修改的客戶主金鑰 (CMK),請在 CloudTrail 主控台中完成下列步驟。

Note

透過下列程序來更新線索會使用 SSE-KMS 加密日誌檔案,而不是摘要檔案。摘要檔案是使用Amazon S3 受管加密金鑰 (SSE-S3) 進行加密。

若要使用 AWS CLI 來更新線索,請參閱 使用 CloudTrail 啟用和停用 AWS CLI 日誌檔案加密 (p. 243)。

更新線索以使用您的 CMK

1. 登入 AWS 管理主控台並在 https://console.aws.amazon.com/cloudtrail/ 開啟 CloudTrail 主控台。2. 選擇 Trails (路徑),然後選擇路徑名稱。3. 在 General details (一般詳細資訊) 中,選擇 Edit (編輯)。4. 針對 Log file SSE-KMS encryption (Log 檔案 SSE-KMS 加密),如果尚未停用,請選擇 Enabled (Enabled),

使用 SSE-KMS (而非 SSE-S3) 加密您的 log 檔案。預設值為 Enabled (Enabled)。如需此加密類型的詳細資訊,請前往使用伺服器端加密搭配 Amazon S3 受管加密金鑰 (SSE-S3) 保護資料。

選擇 Existing (現有),使用您的 AWS KMS 消費者主金鑰更新 路徑。選擇位在與收到您日誌檔案之 S3 儲存貯體相同區域中的 CMK。若要驗證 S3 儲存貯體的區域,請在 S3 主控台中檢視其屬性。

Note

您也可以從另一個帳戶輸入金鑰的 ARN。如需詳細資訊,請參閱更新線索以使用您的CMK (p. 242)。該金鑰政策必須允許 CloudTrail 使用金鑰加密您的日誌檔案,並允許您指定的使用者讀取未加密格式的日誌檔案。如需手動編輯金鑰政策的資訊,請參閱「設定用於CloudTrail 的 AWS KMS 金鑰政策。 (p. 235)」。

在 AWS KMSAlias 中,以 CloudTrail 格式指定您變更政策以用於 alias/ 的警示。MyAliasName如需詳細資訊,請參閱更新線索以使用您的 CMK (p. 242)。

您可以輸入別名、ARN 或全域唯一金鑰 ID。如果 CMK 屬於其他帳戶,請驗證金鑰政策具備許可,可讓您使用它。此值的格式可為下列其中之一:

• 別名:alias/MyAliasName

• 別名 ARN:arn:aws:kms:region:123456789012:alias/MyAliasName

• 金鑰ARN:arn:aws:kms:region:123456789012:key/12345678-1234-1234-1234-123456789012

• 全域唯一金鑰 ID:12345678-1234-1234-1234-123456789012

5. 選擇 Update bround (更新結尾)。

Note

如果您選擇的 CMK 已停用或待刪除,您將無法使用該 CMK 來儲存線索。您可以啟用 CMK或選擇另一個。如需詳細資訊,請查看 開發人員指南中的金鑰狀態如何影響 Customer MasterKeyAWS Key Management Service。

版本 1.0242

Page 248: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 CloudTrail 啟用和停用 AWS CLI 日誌檔案加密

使用 CloudTrail 啟用和停用 AWS CLI 日誌檔案加密此主題說明如何使用 啟用和停用 的 SSE-KMS 日誌檔案加密。如需背景資訊,請參閱使用 AWS KMS 受管金鑰 (SSE-KMS) 加密 CloudTrail 日誌檔案 (p. 234)。

使用 啟用 日誌檔案加密1. 使用 AWS CLI 建立金鑰。您建立的金鑰必須位在與收到您 CloudTrail 日誌檔案之 S3 儲存貯體相同的區

域中。在此步驟中,您可以使用 KMS create-key 命令。2. 取得現有金鑰政策,讓您可以將其修改以搭配 CloudTrail 使用。您可以使用 KMS get-key-policy 命令擷

取金鑰政策。3. 將必要區段新增至金鑰政策,讓 CloudTrail 可以加密,並讓使用者可以解密日誌檔案。確定將解密許可

授予所有讀取日誌檔案的使用者。請不要修改任何政策的現有區段。如需要包含之政策區段的資訊,請參閱 設定用於CloudTrail 的 AWS KMS 金鑰政策。 (p. 235)。

4. 使用 KMS put-key-policy 命令,將修改過的 .json 政策檔案連接至金鑰。5. 執行具有 參數的 或 命令。此命令將啟用日誌加密。

aws cloudtrail update-trail --name Default --kms-key-id alias/MyKmsKey

--kms-key-id 參數指定您針對 CloudTrail 修改其政策的金鑰。它可以是下列四種格式中的任何一種:

• 別名。範例:alias/MyAliasName• 別名 ARN。範例:arn:aws:kms:us-east-2:123456789012:alias/MyAliasName• 金鑰 ARN。範例:arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

• 全域唯一金鑰 ID。 範例:12345678-1234-1234-1234-123456789012

回應如下所示:

{ "IncludeGlobalServiceEvents": true, "Name": "Default", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Default", "LogFileValidationEnabled": false, "KmsKeyId": "arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012", "S3BucketName": "my-bucket-name"}

KmsKeyId 元素的存在指出已啟用日誌檔案加密。加密日誌檔案應該會在大約 10 分鐘內出現在您的儲存貯體中。

使用 停用 日誌檔案加密若要停止加密日誌,請呼叫 update-trail,並將空白字串傳送至 kms-key-id 參數:

aws cloudtrail update-trail --name Default --kms-key-id ""

回應如下所示:

{ "IncludeGlobalServiceEvents": true,

版本 1.0243

Page 249: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 CloudTrail 啟用和停用 AWS CLI 日誌檔案加密

"Name": "Default", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Default", "LogFileValidationEnabled": false, "S3BucketName": "my-bucket-name"}

沒有 KmsKeyId 元素指出不再啟用日誌檔案加密。

版本 1.0244

Page 250: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

CloudTrail 日誌事件參考CloudTrail 日誌會以 JSON 格式記錄。日誌會包含您帳戶中的資源請求資訊,例如請求的提出者、使用過的服務、執行過的動作,以及動作的參數。事件資料都包含在 Records 陣列中。

以下範例顯示一個事件的單一日誌記錄,該事件的 IAM 使用者名稱為 Mary_Major,從 CloudTrail 主控台呼叫了 CloudTrail StartLogging API 以開始記錄程序。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAJDPLRKLG7UEXAMPLE", "arn": "arn:aws:iam::123456789012:user/Mary_Major", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Mary_Major", "sessionContext": { "sessionIssuer": {}, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2019-06-18T22:28:31Z" } }, "invokedBy": "signin.amazonaws.com" }, "eventTime": "2019-06-19T00:18:31Z", "eventSource": "cloudtrail.amazonaws.com", "eventName": "StartLogging", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.64", "userAgent": "signin.amazonaws.com", "requestParameters": { "name": "arn:aws:cloudtrail:us-east-2:123456789012:trail/My-First-Trail" }, "responseElements": null, "requestID": "ddf5140f-EXAMPLE", "eventID": "7116c6a1-EXAMPLE", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "123456789012"}, ... additional entries ...

有兩種事件登入,以在 CloudTrail Insights 中顯示不尋常的活動:開始事件和結束事件。以下範例顯示在呼叫不常見次數的 Application Auto Scaling API CompleteLifecycleAction 時發生的起始 Insights 事件之單一檔案。對於 Insights 事件,eventCategory 的值為 Insight。 區塊會辨識事件狀態、來源、名稱、Insights類型和上下文,包括統計資料和姓名屬性。insightDetails如需 insightDetails 區塊的詳細資訊,請前往 CloudTrail Insights insightDetails 元素 (p. 259)。

{ "eventVersion": "1.07", "eventTime": "2020-07-21T20:56:00Z", "awsRegion": "us-east-1", "eventID": "abcd00b0-ccfe-422d-961c-98a2198a408x",

版本 1.0245

Page 251: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

"eventType": "AwsCloudTrailInsight", "recipientAccountId": "838185438692", "sharedEventID": "7bb000gg-22b3-4c03-94af-c74tj0c8m7c0", "insightDetails": { "state": "Start", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ],

版本 1.0246

Page 252: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 記錄內容

"baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight"}

下列主題列出 CloudTrail 對每個 AWS API 呼叫和登入事件所擷取的資料欄位。

主題• CloudTrail 記錄內容 (p. 247)• CloudTrail userIdentity 元素 (p. 255)• CloudTrail Insights insightDetails 元素 (p. 259)• CloudTrail 擷取的非 API 事件 (p. 264)

CloudTrail 記錄內容記錄主體所包含的欄位可協助您判斷請求的動作,以及提出請求的時機和位置。Optional (選用) 的值為 True時,欄位只有在套用至服務、API 或事件類型時才會出現。False 的 Optional (選用) 值表示欄位一律存在,或是欄位的存在不相依於服務、API 或事件類型。例如 responseElements,這會存在於進行更改的動作 (建立、更新或删除動作) 事件中。

eventTime

提出請求的日期和時間 (國際標準時間 (UTC))。

來自: 1.0

選用: FalseeventVersion

日誌事件格式的版本。目前版本是 1.08。

此 eventVersion 值是形式為 的主要和次要版本 major_version.minor_version. 例如,您可以有一個 eventVersion 的 1.07 值,其中 1 是主要版本,而 07 是次要版本。

如果對不相容於回溯的事件結構進行變更,CloudTrail 會遞增主要版本。這包括移除已存在的 JSON 欄位,或變更欄位呈現的方式 (例如,日期格式)。如果變更新增欄位至事件結構,CloudTrail 會遞增次要版本。如果部分或所有現有事件有新的資訊,或只有在新事件類型有新的資訊可用時,就會發生此錯誤。應用程式可以忽略新欄位,以便與事件結構的新次要版本保持相容。

如果 CloudTrail 引入新的事件類型,但事件的結構未變更,則事件版本不會變更。

若要確保您的應用程式可以剖析事件結構,我們建議您對主要版本編號執行等於比較。為確保您的應用程式預期的欄位存在,我們建議您對次要版本執行「大於或等於」比較。次要版本中不具有前置零。您可以同時解譯 major_version 和 minor_version 以數字表示,並執行比較操作。

來自: 1.0

選用: False

版本 1.0247

Page 253: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 記錄內容

userIdentity

提出請求之使用者的資訊。如需詳細資訊,請參閱CloudTrail userIdentity 元素 (p. 255)。

來自: 1.0

選用: False

eventSource

要請求的 服務。此名稱通常是簡短形式的服務名稱,不含空格加上 .amazonaws.com。 例如:• AWS CloudFormation 是 cloudformation.amazonaws.com。• Amazon EC2 是 ec2.amazonaws.com。• Amazon Simple Workflow Service 是 swf.amazonaws.com。

此慣例有一些例外狀況。例如,Amazon CloudWatch 的 eventSource 是monitoring.amazonaws.com。

來自: 1.0

選用: False

eventName

請求的動作,這是該服務中之 API 的其中一個動作。

來自: 1.0

選用: False

awsRegion

要請求的 AWS 區域,例如 us-east-2。 請見 CloudTrail 支援的區域 (p. 10)。

來自: 1.0

選用: False

sourceIPAddress

提出請求的 IP 地址。對於源自服務主控台的動作,所報告的地址適用於基礎客戶資源,而非主控台Web 伺服器。對於 AWS 中的服務,只會顯示 DNS 名稱。

來自: 1.0

選用: False

userAgent

用以提出請求的代理程式,例如 AWS 管理主控台、AWS 服務、AWS SDKs 或 AWS CLI。範例值如下:• signin.amazonaws.com – 請求由 IAM 使用者使用 AWS 管理主控台 提出。• console.amazonaws.com – 請求由根使用者使用 AWS 管理主控台 提出。• lambda.amazonaws.com – 請求使用 AWS Lambda 提出。• aws-sdk-java – 請求使用 AWS SDK for Java 提出。• aws-sdk-ruby – 請求使用 適用於 Ruby 的 AWS 開發套件 提出。

版本 1.0248

Page 254: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 記錄內容

• aws-cli/1.3.23 Python/2.7.6 Linux/2.6.18-164.el5 – 請求使用安裝在 Linux 上的 AWSCLI 提出。

Note

對於源自 AWS 的事件,此欄位通常是 AWS Internal/#,其中 # 是用於內部用途的號碼。

來自: 1.0

選用: False

errorCode

請求傳回錯誤時的 AWS 服務錯誤。

來自: 1.0

選用: True

errorMessage

如果請求傳回錯誤,則會是該錯誤的描述。此訊息包括授權失敗的訊息。CloudTrail 會擷取在例外處理中由服務記錄的訊息。如需範例,請參閱 錯誤代碼和訊息日誌範例 (p. 16)。

Note

有些 AWS 服務會以 errorCode 和 errorMessage 做為事件中的最上層欄位。其他 AWS 服務在 responseElements 的部分提供錯誤資訊。

來自: 1.0

選用: True

requestParameters

請求時所傳送的參數 (如果有的話)。這些參數記錄在適當 AWS 服務的 API 參考文件中。

來自: 1.0

選用: False

responseElements

進行變更之動作 (建立、更新或刪除動作) 的回應元素。如果動作未使狀態有所更動 (例如,取得或列出物件的請求),則會省略此元素。這些動作記錄在適當 AWS 服務的 API 參考文件中。

值可協助您以 responseElements 來追查請求。AWS Support和 x-amz-request-id 皆包含可協助您以 x-amz-id-2 來查詢請求的資訊。AWS Support這些值與服務在回應中傳回至初始化事件的請求的值相同,因此您可以使用它們來比對事件與請求。

來自: 1.0

選用: False

additionalEventData

不屬於請求或回應之事件的額外資料。

版本 1.0249

Page 255: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 記錄內容

此欄位自 eventVersion 1.00 開始支援。

來自: 1.0

選用: True

requestID

識別請求的值。所呼叫的服務會產生此值。

此欄位自 eventVersion 1.01 開始支援。

來自: 1.01

選用: False

eventID

CloudTrail 所產生的 GUID 可唯一識別每個事件。您可以使用這個值來識別單一事件。例如,您可以使用此 ID 做為主索引鍵,從可搜尋的資料庫中擷取日誌資料。

來自: 1.01

選用: False

eventType

識別已產生事件記錄的事件類型。這可以是下列其中一個值:• AwsApiCall – 已呼叫 API。• AwsServiceEvent (p. 264) – 服務會產生與線索相關的事件。例如,這可能會在另一個帳戶對您

擁有的資源進行呼叫時發生。• AwsConsoleSignin (p. 265) – 您的 帳號中的使用者 (root、IAM、Selation、SAML 或

SwitchRole) 登入 AWS 管理主控台。

來自: 1.02

選用: False

apiVersion

識別與 AwsApiCall eventType 值相關聯的 API 版本。

來自: 1.01

選用: True

managementEvent

識別事件是否為管理事件的布林值。如果 managementEvent 是 1.06 或更高版本,且事件類型是下列其中一項,則 eventVersion 顯示在事件中:• AwsApiCall

• AwsConsoleAction

• AwsConsoleSignIn

• AwsServiceEvent

版本 1.0250

Page 256: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 記錄內容

來自: 1.06 版

選用: True

readOnly

識別此操作是否為唯讀操作。這可以是下列其中一個值:• true - 此操作是唯讀的 (例如,DescribeTrails)。• false - 此操作是唯寫的 (例如,DeleteTrail)。

來自: 1.01

選用: True

resources

事件中存取之資源的清單。欄位可能包含下列資訊:• 資源 ARNs• 資源擁有者的帳戶 ID• 資源類型識別符,格式為:AWS::aws-service-name::data-type-name

例如,記錄 AssumeRole 事件時,resources 欄位可能顯示如下:• ARN:arn:aws:iam::123456789012:role/myRole

• 帳戶 ID:123456789012

• 資源類型識別符:AWS::IAM::Role

如需含有 resources 欄位的範例日誌,請參閱《AWS STSCloudTrail》中的 日誌檔案中的 IAM 使用者指南 API 事件或《AWS KMS》中的記錄 AWS Key Management Service Developer Guide API 呼叫。

來自: 1.01

選用: True

recipientAccountId

代表收到此事件的帳戶 ID。可能與 recipientAccountID CloudTrail userIdentity 元素 (p. 255)不同。accountId 這可能會發生在跨帳號資源存取。例如,如果個別帳戶使用 KMS 金鑰 (也稱為客戶主金鑰 (CMK)) 呼叫加密 API,則對於交付至提出呼叫之帳戶的事件,accountId 和recipientAccountID 值會相同,但對於交付至擁有 CMK 之帳戶的事件,這些值就會不同。

來自: 1.02

選用: True

serviceEventDetails

識別服務事件,包含觸發事件的項目和結果。如需詳細資訊,請參閱AWS 服務事件 (p. 264)。

來自: 1.05 (1.05)

選用: True

版本 1.0251

Page 257: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 記錄內容

sharedEventID

CloudTrail 所產生的 GUID,可從傳送至不同 AWS 帳戶的同一 AWS 動作來唯一識別 CloudTrail 事件。

例如,帳戶使用屬於另一個帳戶的 KMS 金鑰 (也稱為客戶主金鑰 (CMK)) 時,使用 CMK 的帳戶以及擁有 CMK 的帳戶會收到相同動作的個別 CloudTrail 事件。此 AWS 動作所交付的每個 CloudTrail 事件都會共享相同的 sharedEventID,但也有唯一的 eventID 和 recipientAccountID。

如需詳細資訊,請參閱sharedEventID 範例 (p. 254)。

Note

只有在 CloudTrail 事件交付至多個帳戶時,才會顯示 sharedEventID 欄位。如果發起人和擁有者是相同的 AWS 帳戶,則 CloudTrail 只會傳送一個事件,而且不會顯示 sharedEventID欄位。

來自: 1.03 (1.03)

選用: True

vpcEndpointId

識別從 VPC 向另一個 AWS 服務提出請求的 VPC 端點 (例如 Amazon S3)。

來自: 1.04

選用: TrueeventCategory

顯示 LookupEvents 呼叫中使用的事件類別。• 若為管理事件,值為 management。• 針對資料事件,值為 data。• 對於 Insights 事件,值為 insight。

來自: 1.07 版

選用: Falseaddendum

如果事件交付延遲,或事件登入之後可取得現有事件的其他資訊,則 addendum 欄位會顯示事件延遲的原因資訊。如果現有事件缺少資訊,則 addendum 欄位會包含缺少的資訊和缺少這些資訊的原因。其中包含下列項目:• reason - 遺漏事件或其部分事件的原因。值可以是下列任何一項。

• DELIVERY_DELAY – 傳遞事件發生延遲。這可能是由於網路流量過高、連接問題或 CloudTrail 服務問題所致。

• UPDATED_DATA – 事件檔案中的欄位遺失或值不正確。• SERVICE_OUTAGE – 將事件登入 的服務中斷,且無法將事件登入 CloudTrail。CloudTrail這非常罕

見。• updatedFields - 由 addendum 更新的事件資料欄位。只有當原因是 UPDATED_DATA 時才需提

供。• originalRequestID - 請求的原始唯一 ID。只有當原因是 UPDATED_DATA 時才需提供。• originalEventID - 原始事件 ID。只有當原因是 UPDATED_DATA 時才需提供。

來自: 1.08 版

版本 1.0252

Page 258: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Insights 事件記錄欄位

選用: TruesessionCredentialFromConsole

顯示事件是否源自 AWS 管理主控台 工作階段。除非值為 true,否則此欄位不會顯示,這表示用來進行API 呼叫的使用者端是代理或外部使用者端。如果使用代理端,則不會顯示 tlsDetails 事件欄位。

來自: 1.08 版

選用: TrueedgeDeviceDetails

顯示做為請求目標的邊緣裝置的相關資訊。目前,S3 Outposts 裝置事件包含此欄位。

來自: 1.08 版

選用: TruetlsDetails

顯示服務 API 呼叫之使用者提供之主機名稱的 Transport Layer Security (TLS) 版本、加密套件和 FQDN的相關資訊。如果預期資訊遺失或為空白,則其中包含下列項目。CloudTrail 仍會針對部分 TLS 詳細資訊進行登入。例如,如果 TLS 版本和加密套件存在,但 HOST 標頭為空白,則可用 TLS 詳細資訊仍登入CloudTrail 事件。

如果 sessionCredentialFromConsole 的值為 true,只有在使用外部 Client 發出 API 呼叫時,tlsDetails 才會出現在事件中。• tlsVersion - 請求的 TLS 版本。• cipherSuite - 請求的加密套件 (使用安全演算法的組合)。• clientProvidedHostHeader - 提出請求之 Client 的 FQDN。

來自: 1.08 版

選用: True

Insights 事件記錄欄位以下是顯示在 Insights 事件 JSON 結構中的屬性,這些屬性與管理或資料事件中的屬性不同。

sharedEventId

CloudTrail Insights 事件的 sharedEventID 與 CloudTrail 事件之管理和資料類型的 sharedEventID不同。在 Insights events 中,sharedEventID 是 CloudTrail Insights 建立來唯一辨識 Insights 事件的GUID。sharedEventID 在開始和結束 Insights 事件之間是常見的,有助於連接這兩個事件,以唯一找出不尋常的活動。您可以將 sharedEventID 視為整體 Insights 事件識別碼。

來自: 1.07 版

選用: False

insightDetails

僅限 Insights 事件。顯示 Insights 事件基本觸發程序的相關資訊,例如事件來源、使用者代理程式、統計資料、API 名稱,以及事件是否為 Insights 事件的開始或結束。如需 insightDetails 區塊的詳細資訊,請前往 CloudTrail Insights insightDetails 元素 (p. 259)。

來自: 1.07 版

版本 1.0253

Page 259: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南sharedEventID 範例

選用: False

sharedEventID 範例下列範例說明 CloudTrail 如何傳送交付動作的兩個事件:

1. Alice 擁有AWS 帳戶 (111111111111) 並建立了客戶主金鑰 (CMK)。她是此 CMK 的擁有者。2. Bob 擁有AWS 帳戶 (222222222222)。Alice 會將使用 CMK 的許可授予 Bob。3. 每個帳戶都會有線索和個別儲存貯體。4. Bob 使用 CMK 呼叫 Encrypt API。5. CloudTrail 傳送兩個不同的事件。

• 一個事件會傳送給 Bob。事件顯示他已使用 CMK。• 一個事件會傳送給 Alice。事件顯示 Bob 已使用 CMK。• 兩個事件具有相同的 sharedEventID,但 eventID 和 recipientAccountID 是唯一的。

中的共用事件IDsCloudTrail InsightsCloudTrail Insights 事件的 sharedEventID 與 CloudTrail 事件之管理和資料類型的 sharedEventID 不同。在 Insights events 中,sharedEventID 是 CloudTrail Insights 生成的 GUID,以唯一辨識 Insights 事件的開始和結束配對。sharedEventID 在開始和結束 Insights 事件之間是很常見的,有助於建立這兩個事件之間的關聯,以獨特地找出不尋常的活動。

您可以將 sharedEventID 視為整體 Insights 事件識別碼。

版本 1.0254

Page 260: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail userIdentity 元素

CloudTrail userIdentity 元素AWS Identity and Access Management (IAM) 提供不同的身分類型。userIdentity 元素包含提出請求之IAM 身分類型及所使用之登入資料的詳細資訊。如果使用暫時性登入資料,此元素會說明登入資料的取得方式。

內容• Examples (p. 255)• Fields (p. 255)• 使用 SAML 和 Web 聯合身分之 AWS STS APIs 的值 (p. 258)

ExamplesuserIdentity 使用 IAM 使用者登入資料的

下列範例顯示使用名為 Alice 的 IAM 使用者登入資料提出之簡單請求的 userIdentity 元素。

"userIdentity": { "type": "IAMUser", "principalId": "AIDAJ45Q7YFFAREXAMPLE", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "", "userName": "Alice"}

userIdentity 使用暫時性安全登入資料的

下列範例顯示使用透過擔任 IAM 角色取得的暫時性安全登入資料提出之請求的 userIdentity 元素。此元素包含為取得登入資料所擔任之角色的其他詳細資訊。

"userIdentity": { "type": "AssumedRole", "principalId": "AROAIDPPEZS35WEXAMPLE:AssumedRoleSessionName", "arn": "arn:aws:sts::123456789012:assumed-role/RoleToBeAssumed/MySessionName", "accountId": "123456789012", "accessKeyId": "", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "20131102T010628Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROAIDPPEZS35WEXAMPLE", "arn": "arn:aws:iam::123456789012:role/RoleToBeAssumed", "accountId": "123456789012", "userName": "RoleToBeAssumed" } }}

FieldsuserIdentity 元素中可能會顯示下列欄位。

版本 1.0255

Page 261: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Fields

type

身分類型。可能的值如下:• Root – 使用您的 AWS 帳戶登入資料提出請求。如果 userIdentity 類型為 Root,而且您設定了

帳戶的別名,則 userName 欄位會包含您的帳戶別名。如需詳細資訊,請參閱您的 AWS 帳戶 ID 和其別名。

• IAMUser – 使用 IAM 使用者的登入資料提出請求。• AssumedRole – 使用透過角色或呼叫 AWS Security Token Service (AWS STS) AssumeRole API 取

得的暫時性安全登入資料提出請求。這可以包含 的角色 Amazon EC2 和跨帳戶 API 存取。• FederatedUser – 使用透過呼叫 AWS STSGetFederationToken API 取得的暫時性安全登入資料

提出請求。sessionIssuer 元素指出 API 是以根或 IAM 使用者登入資料來呼叫。

如需暫時安全登入資料的詳細資訊,請參閱《》中的「IAM 使用者指南暫時安全登入資料」。• AWSAccount – 由其他 AWS 帳戶提出請求。• AWSService – 由屬於 AWS 服務的 AWS 帳戶提出請求。例如,AWS Elastic Beanstalk 會擔任您帳

戶中的 IAM 角色,代您呼叫其他 AWS 服務。

如果有使用您擁有之 IAM 角色的跨帳戶存取,您日誌中的 type 會顯示 AWSAccount 和AWSService。

範例:由另一個 AWS 帳號起始的交叉帳號存取

1. 您在帳戶中擁有 IAM 角色。2. 其他 AWS 帳戶切換到該角色以擔任您帳戶中的角色。3. 由於您擁有 IAM 角色,因此會收到日誌,顯示其他帳戶擔任該角色。是 type。AWSAccount 如需

範例 log 項目,請查看 Log FileAWS STS 中的 CloudTrail API 事件。

範例:由 AWS 服務起始的跨帳號存取

1. 您在帳戶中擁有 IAM 角色。2. AWS 服務所擁有的 AWS 帳戶會擔任該角色。3. 由於您擁有 IAM 角色,因此會收到日誌,顯示 AWS 服務擔任該角色。是 type。AWSService

userName

發出呼叫之身分的易記名稱。中所顯示的值是根據 userName 中的值。type 下表顯示 type 和userName 之間的關係:

type userName 描述

Root (未設定別名) 不存在 如果您尚未設定 AWS 帳戶的別名,則不會顯示userName 欄位。如需帳戶別名的詳細資訊,請參閱您的 AWS 帳戶 ID 和其別名。請注意,userName欄位絕不會包含 Root,因為 Root 是身分類型,不是使用者名稱。

Root (已設定別名) 帳戶別名 如需 AWS 帳戶別名的詳細資訊,請參閱您的 AWS 帳戶 ID 和其別名。

IAMUser IAM 使用者的使用者名稱

 

AssumedRole 不存在 針對 AssumedRole 類型,您可以在 sessionContext 中找到屬於

版本 1.0256

Page 262: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Fields

type userName 描述sessionIssuer (p. 257) 元素一部分的userName 欄位。如需範例項目,請參閱「Examples (p. 255)」。

FederatedUser 不存在 sessionContext 和 sessionIssuer 區段包含替聯合身分使用者發出工作階段之身分的相關資訊。

AWSService 不存在  

AWSAccount 不存在  

Note

當紀錄的事件為輸入不正確使用者名稱而導致主控台登入失敗時,userName 欄位包含字串HIDDEN_DUE_TO_SECURITY_REASONS。在此情況下,CloudTrail 不會記錄內容,因為文字可能包含敏感資訊,如以下範例:• 使用者不小心在使用者名稱欄位中輸入密碼。• 使用者按一下某個 AWS 帳戶登入頁面的連結,但接著輸入不同帳戶的帳號。• 使用者不小心輸入個人電子郵件帳戶的帳戶名稱、銀行登入識別符或其他一些私有 ID。

principalId

發出呼叫之實體的唯一識別符。針對使用暫時性安全登入資料提出的請求,這個值會包含傳遞到AssumeRole、AssumeRoleWithWebIdentity 或 GetFederationToken API 呼叫的工作階段名稱。

arn

發出呼叫之主體的 Amazon Resource Name (ARN)。ARN 的最後一個部分包含發出呼叫的使用者或角色。

accountId

擁有授予許可給請求之實體的帳戶。如果使用暫時性安全登入資料提出請求,則此為擁有用來取得登入資料之 IAM 使用者或角色的帳戶。

accessKeyId

用來簽署請求的存取金鑰 ID。如果使用暫時性安全登入資料提出請求,則此為暫時性登入資料的存取金鑰 ID。基於安全考量,accessKeyId 可能不會存在,或者可能顯示為空白字串。

sessionContext

如果使用暫時性安全登入資料提出請求,此元素會提供為這些登入資料所建立之工作階段的相關資訊。呼叫任何 API 以傳回暫時性登入資料時,會建立工作階段。當使用者在主控台中工作時,以及當使用者使用 APIs 發出包含多重驗證的 請求時,也會建立工作階段。此元素的屬性包括:• creationDate – 發出暫時性安全登入資料的日期和時間。以 ISO 8601 基本表示法來表示。• mfaAuthenticated – 如果其登入資料用於請求的超級使用者或 IAM 使用者也會向 MFA 裝置進行身

份驗證,則此值為 true;否則為 false。invokedBy

提出請求之 AWS 服務的名稱,例如 Amazon EC2 Auto Scaling 或 AWS Elastic Beanstalk。sessionIssuer

如果使用暫時性安全登入資料提出請求,此元素會提供登入資料取得方式的相關資訊。例如,如果透過擔任角色來取得暫時性安全登入資料,此元素會提供所擔任角色的相關資訊。如果使用超級或 IAM 使用者登入資料呼叫 AWS STSGetFederationToken 來取得登入資料,此元素會提供根帳戶或 IAM 使用者的相關資訊。此元素的屬性包括:

版本 1.0257

Page 263: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南使用 SAML 和 Web 聯合身分之 AWS STS APIs 的值

• type – 暫時性安全登入資料的來源,例如 Root、IAMUser 或 Role。• userName – 發出工作階段之使用者或角色的易記名稱。顯示的值視 sessionIssuer 身分 type 而

定。 下表顯示 sessionIssuer type 和 userName 之間的關係:

sessionIssuer 類型 userName 描述

Root (未設定別名) 不存在 如果您尚未設定帳戶的別名,則不會顯示 userName欄位。如需 AWS 帳戶別名的詳細資訊,請參閱您的AWS 帳戶 ID 和其別名。請注意,userName 欄位絕不會包含 Root,因為 Root 是身分類型,不是使用者名稱。

Root (已設定別名) 帳戶別名 如需 AWS 帳戶別名的詳細資訊,請參閱您的 AWS帳戶 ID 和其別名。

IAMUser IAM 使用者的使用者名稱

這也適用於聯合身分使用者使用 IAMUser 所發出之工作階段的情況。

Role 角色名稱 IAM 使用者、AWS 服務或 Web 聯合身分使用者在角色工作階段中擔任的角色。

• principalId – 用來取得登入資料之實體的內部 ID。• arn – 用來取得暫時性安全登入資料之來源 (帳戶、IAM 使用者或角色) 的 ARN。• accountId – 擁有用來取得登入資料之實體的帳戶。

webIdFederationData

如果使用由 Web 聯合身分取得的暫時性安全登入資料提出請求,此元素會列出身分供應商的相關資訊。此元素的屬性包括:• federatedProvider – 身份供應商的委託人名稱 (例如 Login with Amazon 的 www.amazon.com

或 Google 的 accounts.google.com)。• attributes – 供應商所回報的應用程式 ID 和使用者 ID (例如 Login with

Amazon 的 www.amazon.com:app_id 和 www.amazon.com:user_id)。如需詳細資訊,請參閱《https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#condition-keys-wif》中的 IAM 使用者指南Web 聯合身分的可用金鑰。

使用 SAML 和 Web 聯合身分之 AWS STS APIs 的值AWS CloudTrail 支援記錄使用安全性聲明標記語言 (SAML) 和 Web 聯合身分所提出之 AWS Security TokenService (AWS STS) API 呼叫的日誌。當對 AssumeRoleWithSAML 和 AssumeRoleWithWebIdentity 進行呼叫時,APIs 會記下呼叫,並將事件交付至 CloudTrail 儲存貯體。Amazon S3

這些 userIdentity 的 APIs 元素包含下列值。

type

身分類型。• SAMLUser – 使用 SAML 聲明提出請求。• WebIdentityUser – 由 Web 聯合身分供應商提出請求。

principalId

發出呼叫之實體的唯一識別符。• 針對 SAMLUser,這是 saml:namequalifier 和 saml:sub 金鑰的組合。

版本 1.0258

Page 264: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Insights insightDetails 元素

• 針對 WebIdentityUser,這是發行者、應用程式 ID 和使用者 ID 的組合。userName

發出呼叫之身分的名稱。• 針對 SAMLUser,這是 saml:sub 金鑰。請參閱 SAML 聯合的可用金鑰。• 針對 WebIdentityUser,這是使用者 ID。請參閱 Web 聯合身分的可用金鑰。

identityProvider

外部身分供應商的主體名稱。只有 SAMLUser 或 WebIdentityUser 類型會顯示此欄位。• 針對 SAMLUser,這是 SAML 聲明的 saml:namequalifier 金鑰。• 針對 WebIdentityUser,這是 Web 聯合身分供應商的發行者名稱。這可以是您設定的供應商,例

如:• 適用於 Amazon Cognito 的 cognito-identity.amazon.com• Login with Amazon 的 www.amazon.com• Google 的 accounts.google.com• Facebook 的 graph.facebook.com

以下是 AssumeRoleWithWebIdentity 動作的範例 userIdentity 元素。

"userIdentity": { "type": "WebIdentityUser", "principalId": "accounts.google.com:application-id.apps.googleusercontent.com:user-id", "userName": "user-id", "identityProvider": "accounts.google.com" }

如需 SAMLUser 和 WebIdentityUser 類型如何顯示 userIdentity 元素的範例日誌,請參閱使用 AWSCloudTrail 記錄 IAM 事件。

CloudTrail Insights insightDetails 元素事件資料包含的欄位與其 JSON 結構中其他 AWS CloudTrail Insights 事件不同的欄位,有時稱為CloudTrail承載。事件資料包含 CloudTrail Insights 區塊,其中包含有關 Insights 事件基本觸發的資訊,例如事件來源、使用者身分、使用者代理程式、歷史平均值或insightDetails基準、統計資料、API 名稱,以及事件是否為Insights 事件的開始或結束。區塊包含下列資訊。insightDetails

• state - 事件是開始或結束 Insights 事件。此值可以為 Start 或 End。

來自: 1.07 版

選用: False• eventSource - 服務端點,這是不尋常活動的來源,例如 AWS。ec2.amazonaws.com

來自: 1.07 版

選用: False• eventName - Insights 事件的名稱,通常是不尋常活動來源 API 的名稱。

來自: 1.07 版

選用: False

版本 1.0259

Page 265: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Insights insightDetails 元素

• insightType - Insights 事件的類型。目前此值為 ApiCallRateInsight。

來自: 1.07 版

選用: False• insightContext -

有關 AWS 工具的資訊 (稱為使用者代理程式)、IAM 使用者和角色 (稱為使用者身分),以及與為了找出Insights 事件而分析之事件相關聯的錯誤代碼。此元素也包含統計資料,顯示 Insights 事件中的不尋常的活動如何與基準或一般活動進行比較。

來自: 1.07 版

選用: False• statistics - 包含有關基準 的資料,或基準期間由計入之主體 API 的典型平均呼叫率、在 Insights 事件

一分鐘間觸發 Insights 事件的平均呼叫率、深入分析事件持續時間 (以分鐘為單位),以及基準測量期間的持續時間 (以分鐘為單位)。

來自: 1.07 版

選用: False• baseline - 在 Insights 事件主旨 API 的基準期間,該帳號的每分鐘 API 呼叫平均次數,會在 Insights 事

件開始的前七天計算。

來自: 1.07 版

選用: False• insight -

對於起始 Insights 事件,此值是在開始不尋常的活動期間,每分鐘 API 呼叫的平均次數。針對結束Insights 事件,此值是在非限定活動持續時間期間的每分鐘 API 呼叫平均次數。

來自: 1.07 版

選用: False• insightDuration - Insights 事件的持續時間 (從開始到主題 API 上不尋常活動結束的期

間)。insightDuration 發生於開始和結束 Insights 事件。

來自: 1.07 版

選用: False• baselineDuration - 基準期間 (在主體 API 上測量正常活動的時間期間) 的持續時間 (以分鐘為單

位)。baselineDuration 在 Insights 事件之前,至少要有七天 (10080 分鐘)。此欄位會同時在開頭和結尾 Insights events 發生。衡量的結束時間一律是 Insights 事件的開始。baselineDuration

來自: 1.07 版

選用: False• attributions - 此區塊包含與不尋常和基準活動相關的使用者身分、使用者代理程式和錯誤代碼的相

關資訊。Insights 事件 attributions 區塊中最多可擷取 5 個使用者身分、5 個使用者代理程式和 5 個錯誤碼,並依活動計數的平均值,依從最高到最低的遞減順序排序。

來自: 1.07 版

選用: True• attribute - 包含屬性類型。值可以是 userIdentityArn、userAgent 或 errorCode。

• userIdentityArn - 最多顯示前 5 名 使用者或 AWS 角色的區塊,會在不尋常的活動和基準期間造成 API 呼叫。IAM亦請查看 userIdentity 中的 CloudTrail 記錄內容 (p. 247)。

版本 1.0260

Page 266: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Insights insightDetails 元素

來自: 1.07 版

選用: False• insight - 最多顯示前 5 個使用者身分的區塊 ARNs,有助於在不尋常的活動期間,按遞減順序從

最大數量到最小的 API 呼叫。它也會顯示使用者身分在不尋常的活動期間發出的平均 API 呼叫數。

來自: 1.07 版

選用: False• value - 前 5 名使用者身分的 ARN,會在不尋常的活動期間造成 API 呼叫。

來自: 1.07 版

選用: False• average - 欄位中使用者身分在不尋常的活動期間每分鐘 API 呼叫次數。value

來自: 1.07 版

選用: False• baseline - 顯示最多前 5 個使用者身分的區塊 ,該身分對正常活動期間進行的 API 呼叫投入最

多。ARNs它也會顯示使用者身分在正常活動期間發出的平均 API 呼叫數。

來自: 1.07 版

選用: False• value - 前 5 名使用者身分的 ARN,會在正常活動期間造成 API 呼叫。

來自: 1.07 版

選用: False• average - Insights 活動開始之前的每分鐘 API 呼叫歷史平均 (適用於 欄位中的使用者身

分)。value

來自: 1.07 版

選用: False• userAgent - 顯示最多前 5 個 工具的區塊,使用者身分會在不尋常的活動和基準期間透過它前往

API 呼叫。AWS這些工具包括 AWS 管理主控台、AWS CLI 或 AWS SDKs。 亦在 userAgent 中查看 CloudTrail 記錄內容 (p. 247)。

來自: 1.07 版

選用: False• insight - 最多顯示前 5 名使用者代理程式的區塊,有助於在不尋常的活動期間,按遞減順序從最

大數量到最小的 API 呼叫。它也會顯示使用者客服人員在不尋常的活動期間所發出的平均 API 呼叫數。

來自: 1.07 版

選用: False• value - 前五個使用者代理程式之一,有助於在不尋常的活動期間進行的 API 呼叫。

來自: 1.07 版

選用: False• average - 欄位中使用者代理程式在不尋常的活動期間每分鐘的 API 呼叫數。value

版本 1.0261

Page 267: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南Insights insightDetails 元素

來自: 1.07 版

選用: False• baseline - 顯示最多前 5 名使用者代理程式的區塊,在正常活動期間針對 API 呼叫發出最多的呼

叫。它也會顯示使用者客服人員在正常活動期間發出的平均 API 呼叫數。

來自: 1.07 版

選用: False• value - 前五個使用者代理程式之一,有助於在正常活動期間進行的 API 呼叫。

來自: 1.07 版

選用: False• average - Insights 活動開始之前的每分鐘 API 呼叫歷史平均 (在 欄位中的使用者代理程

式)。value

來自: 1.07 版

選用: False• errorCode - 顯示最多前 5 個在 API 呼叫在不尋常的活動和基準期間中發生的錯誤代碼的區

塊,從最多數量的 API 呼叫到最小的遞減順序。亦請參見 errorCode 中的 CloudTrail 記錄內容 (p. 247)。

來自: 1.07 版

選用: False• insight - 最多顯示在不尋常的活動期間 API 呼叫中所發生之前五個錯誤代碼的區塊,以從最大數

量的關聯 API 呼叫到最小的遞減順序。其中也會顯示 API 呼叫的平均數量,而該錯誤會在不尋常的活動期間發生。

來自: 1.07 版

選用: False• value - 在不尋常的活動期間所呼叫的 API 呼叫發生的前五個錯誤代碼之一,例如AccessDeniedException。

如果觸發 Insights 事件的呼叫都未導致錯誤,此值為 null。

來自: 1.07 版

選用: False• average - 欄位中錯誤碼在不尋常的活動期間每分鐘的 API 呼叫數。value

如果錯誤碼值是 null,而且 insight 區塊中不存在其他錯誤代碼,則 average 的值與整體Insights 事件的 statistics 區塊中相同。

來自: 1.07 版

選用: False• baseline - 顯示的區塊最多為在正常活動期間 API 呼叫時發生的前五個錯誤代碼。它也會顯示

使用者客服人員在正常活動期間發出的平均 API 呼叫數。

來自: 1.07 版

選用: False 版本 1.0262

Page 268: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南範例 insightDetails 區塊

• value - 在正常活動期間進行的 API 呼叫發生的前五個錯誤代碼之一,例如AccessDeniedException。

來自: 1.07 版

選用: False• average - Insights 活動前 7 天,每分鐘 API 呼叫的歷史平均,適用於 欄位中的錯誤代

碼。value

來自: 1.07 版

選用: False

範例 insightDetails 區塊以下是當呼叫不常見次數的 insightDetails API Application Auto Scaling 時,發生之 Insights 事件CompleteLifecycleAction 區塊的範例。如需完整 Insights 事件的範例,請查看 CloudTrail 日誌事件參考 (p. 245)。

此範例來自起始的 Insights 事件,以 "state": "Start" 表示。 呼叫與 Insights 事件 APIs 相關聯的 CodeDeployRole1、CodeDeployRole2 和 CodeDeployRole3 的主要使用者身分會顯示在 attributions 區塊中,並加上此 Insights 事件的平均 API 呼叫率,以及 CodeDeployRole1角色的基準。區塊也會顯示使用者代理程式為 attributions,表示前一位使用者身分使用codedeploy.amazonaws.com 主控台來執行 API 呼叫。AWS CodeDeploy

由於已分析的事件不會有相關的錯誤代碼可引發 Insights 事件 (值為 null),因此錯誤代碼的 insight 平均值與整個 Insights 事件的整體 insight 平均值相同,如 statistics 區塊所示。

"insightDetails": { "state": "Start", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 }

版本 1.0263

Page 269: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南CloudTrail 擷取的非 API 事件

], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }

CloudTrail 擷取的非 API 事件除了記錄 AWS API 呼叫的日誌之外,CloudTrail 還會擷取其他相關事件,而這些事件可能會影響 AWS 帳戶的安全或合規,也可能協助故障診斷操作問題。

主題• AWS 服務事件 (p. 264)• AWS 主控台登入事件 (p. 265)

AWS 服務事件CloudTrail 支援記錄非 API 服務事件的日誌。這些事件是由 AWS 服務所建立,而不是由公用 AWS API 的請求直接觸發。對於這些事件,eventType 欄位是 AwsServiceEvent。

以下是當客戶受管金鑰 (CMK) 自動在 AWS Key Management Service (AWS KMS) 轉換時 AWS 服務事件的範例案例。如需有關轉換金鑰的詳細資訊,請參閱 轉換客戶主金鑰。

版本 1.0264

Page 270: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS 主控台登入事件

{ "eventVersion": "1.05", "userIdentity": { "accountId": "123456789012", "invokedBy": "AWS Internal" }, "eventTime": "2019-06-02T00:06:08Z", "eventSource": "kms.amazonaws.com", "eventName": "RotateKey", "awsRegion": "us-east-2", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": null, "eventID": "234f004b-EXAMPLE", "readOnly": false, "resources": [ { "ARN": "arn:aws:kms:us-east-2:123456789012:key/7944f0ec-EXAMPLE", "accountId": "123456789012", "type": "AWS::KMS::Key" } ], "eventType": "AwsServiceEvent", "recipientAccountId": "123456789012", "serviceEventDetails": { "keyId": "7944f0ec-EXAMPLE" }}

AWS 主控台登入事件CloudTrail 登入會嘗試登入 AWS 管理主控台、AWS 開發論壇和 AWS 支援中心。所有 IAM 使用者和根使用者登入事件,以及所有聯合身分使用者登入事件,會在 CloudTrail 日誌檔案中產生紀錄。

主題• 使用者的範例IAM (p. 265)• 根使用者的範例事件 (p. 268)

使用者的範例IAM下列範例顯示數個 IAM 使用者登入案例的事件。

主題• IAM 使用者,成功登入 (p. 265)• IAM 使用者,使用 MFA 登入 (p. 266)• IAM 使用者,未成功的登入 (p. 267)• IAM 使用者,用於 MFA 的登入程序檢查 (p. 267)

IAM 使用者,成功登入

下列記錄顯示名為 Anaya 的IAM使用者成功登入AWS 管理主控台,但未使用多重驗證。

{ "Records":[

版本 1.0265

Page 271: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS 主控台登入事件

{ "eventVersion":"1.05", "userIdentity":{ "type":"IAMUser", "principalId":"AIDACKCEVSQ6C2EXAMPLE", "arn":"arn:aws:iam::111122223333:user/anaya", "accountId":"111122223333", "userName":"anaya" }, "eventTime":"2018-08-29T16:24:34Z", "eventSource":"signin.amazonaws.com", "eventName":"ConsoleLogin", "awsRegion":"us-east-2", "sourceIPAddress":"192.0.2.0", "userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:62.0) Gecko/20100101 Firefox/62.0", "requestParameters":null, "responseElements":{ "ConsoleLogin":"Success" }, "additionalEventData":{ "MobileVersion":"No", "LoginTo":"https://console.aws.amazon.com/sns", "MFAUsed":"No" }, "eventID":"3fcfb182-98f8-4744-bd45-10a395ab61cb", "eventType": "AwsConsoleSignin" } ]}

IAM 使用者,使用 MFA 登入

下列記錄顯示名為 Anaya 的 IAMMFA 使用者登入AWS 管理主控台使用多重因素認證 (MFA)。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:user/anaya", "accountId": "111122223333", "userName": "anaya" }, "eventTime": "2018-07-24T18:34:07Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36", "requestParameters": null, "responseElements": { "ConsoleLogin": "Success" }, "additionalEventData": { "LoginTo": "https://console.aws.amazon.com/console/home?state=hashArgs%23&isauthcode=true", "MobileVersion": "No", "MFAUsed": "Yes" }, "eventID": "fed06f42-cb12-4764-8c69-121063dc79b9", "eventType": "AwsConsoleSignIn", "recipientAccountId": "111122223333"

版本 1.0266

Page 272: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS 主控台登入事件

}

IAM 使用者,未成功的登入

下列記錄顯示IAM使用者的失敗登入嘗試。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "accountId": "111122223333", "accessKeyId": "", "userName": "anaya" }, "eventTime": "2018-07-24T18:32:11Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36", "errorMessage": "Failed authentication", "requestParameters": null, "responseElements": { "ConsoleLogin": "Failure" }, "additionalEventData": { "LoginTo": "https://console.aws.amazon.com/console/home?state=hashArgs%23&isauthcode=true", "MobileVersion": "No", "MFAUsed": "Yes" }, "eventID": "d38ce1b3-4575-4cb8-a632-611b8243bfc3", "eventType": "AwsConsoleSignIn", "recipientAccountId": "111122223333"}

IAM 使用者,用於 MFA 的登入程序檢查

以下顯示,登入程序已檢查IAM使用者登入時是否需要多重因素認證 (MFA)。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "accountId": "111122223333", "accessKeyId": "", "userName": "anaya" }, "eventTime": "2018-07-24T18:33:45Z", "eventSource": "signin.amazonaws.com", "eventName": "CheckMfa", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36", "requestParameters": null, "responseElements": { "CheckMfa": "Success"

版本 1.0267

Page 273: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS 主控台登入事件

}, "additionalEventData": { "MfaType": "U2F MFA" }, "eventID": "f8ef8fc5-e3e8-4ee1-9d52-2f412ddf17e3", "eventType": "AwsConsoleSignIn", "recipientAccountId": "111122223333"}

根使用者的範例事件下列範例顯示數個 root 使用者登入案例的事件。

主題• 根使用者,成功登入 (p. 268)• 根使用者、失敗的登入 (p. 268)• 根使用者、MFA 已變更 (p. 269)• 根使用者、密碼已變更 (p. 270)

根使用者,成功登入以下顯示根使用者的成功登入事件並未使用 MFA。

{ "eventVersion": "1.05", "userIdentity": { "type": "Root", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:root", "accountId": "111122223333", "accessKeyId": "" }, "eventTime": "2018-08-29T16:24:34Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:62.0) Gecko/20100101 Firefox/62.0", "requestParameters": null, "responseElements": { "ConsoleLogin": "Success" }, "additionalEventData": { "LoginTo": "https://console.aws.amazon.com/console/home?state=hashArgs%23&isauthcode=true", "MobileVersion": "No", "MFAUsed": "No" }, "eventID": "deb1e1f9-c99b-4612-8e9f-21f93b5d79c0", "eventType": "AwsConsoleSignIn", "recipientAccountId": "111122223333"}

根使用者、失敗的登入以下顯示根使用者的失敗登入事件並未使用 MFA。

{

版本 1.0268

Page 274: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS 主控台登入事件

"eventVersion": "1.05", "userIdentity": { "type": "Root", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:root", "accountId": "111122223333", "accessKeyId": "" }, "eventTime": "2018-08-25T18:10:29Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36", "errorMessage": "Failed authentication", "requestParameters": null, "responseElements": { "ConsoleLogin": "Failure" }, "additionalEventData": { "LoginTo": "https://console.aws.amazon.com/console/home?state=hashArgs%23&isauthcode=true", "MobileVersion": "No", "MFAUsed": "No" }, "eventID": "a4fbbe77-91a0-4238-804a-64314184edb6", "eventType": "AwsConsoleSignIn", "recipientAccountId": "111122223333"}

根使用者、MFA 已變更

以下顯示變更多重驗證 (MFA) 設定之根使用者的範例事件。

{ "eventVersion": "1.05", "userIdentity": { "type": "Root", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:root", "accountId": "111122223333", "accessKeyId": "EXAMPLE", "sessionContext": { "sessionIssuer": {}, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-10-13T21:05:40Z" } } }, "eventTime": "2020-10-13T21:19:09Z", "eventSource": "iam.amazonaws.com", "eventName": "EnableMFADevice", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Coral/Netty4", "requestParameters": { "userName": "AWS ROOT USER", "serialNumber": "arn:aws:iam::111122223333:mfa/root-account-mfa-device" }, "responseElements": null, "requestID": "EXAMPLE4-2cf7-4a44-af00-f61f0EXAMPLE",

版本 1.0269

Page 275: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南AWS 主控台登入事件

"eventID": "EXAMPLEb-7dae-48cb-895f-20e86EXAMPLE", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "111122223333"}

根使用者、密碼已變更

以下顯示根使用者變更密碼的範例事件。

{ "eventVersion": "1.05", "userIdentity": { "type": "Root", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:root", "accountId": "111122223333", "accessKeyId": "" }, "eventTime": "2020-10-13T21:47:13Z", "eventSource": "signin.amazonaws.com", "eventName": "PasswordUpdated", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0", "requestParameters": null, "responseElements": { "PasswordUpdated": "Success" }, "eventID": "EXAMPLEd-244c-4044-abbf-21c64EXAMPLE", "eventType": "AwsConsoleSignIn", "recipientAccountId": "111122223333"}

版本 1.0270

Page 276: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

文件歷史記錄下表說明了對 文件所進行的重要變更。AWS CloudTrail. 如需有關此文件更新的通知,您可以訂閱 RSS 摘要。

• API 版本:2013-11-01• 文件最近更新時間:2021 年 2 月 1 日

update-history-change update-history-description update-history-date

已新增的服務支援 (p. 271) 此版本支援 指標的 AmazonLookout。請參閱 AWS CloudTrail支援的服務和整合.

February 1, 2021

已更新的文件 (p. 271) 此更新支援下列 CloudTrail 處理程式庫修補程式版本:在使用者指南中更新 .jar 檔案引用,使用最新版本:aws-cloudtrail-processing-library-1.4.0.jar。如需詳細資訊,請前往 上的CloudTrail使用 處理程式庫和CloudTrail處理程式庫。GitHub

January 12, 2021

已新增的功能 (p. 271) 您現在可以在 Amazon S3 上的AWS Outposts 上登入資料事件。如需詳細資訊,請前往 Loggingdata events for sunips。

December 21, 2020

已新增的服務支援 (p. 271) 此版本支援設備、AWS Well-Architected Tool 和 AmazonLocation Service 的 AmazonLookout。請參閱 AWS CloudTrail支援的服務和整合.

December 16, 2020

已新增的服務支援 (p. 271) 此版本支援 AWS IoT GreengrassV2。請參閱 AWS CloudTrail 支援的服務和整合.

December 15, 2020

已新增的服務支援 (p. 271) 此版本支援 EKS 上的 AmazonEMR。請參閱 AWS CloudTrail 支援的服務和整合.

December 10, 2020

已新增的服務支援 (p. 271) 此版本支援 AWS Audit Manager和 Amazon HealthLake。 請查看 支援服務與整合AWSCloudTrail。

December 8, 2020

已新增的服務支援 (p. 271) 此版本支援 Amazon Lookout forVision。請參閱 AWS CloudTrail支援的服務和整合.

December 1, 2020

已新增的功能 (p. 271) 事件版本現在為 1.08。AWSCloudTrail1.08 版為 CloudTrail 引進新的欄位。如需詳細資訊,請造訪 CloudTrail record contents。

November 24, 2020

版本 1.0271

Page 277: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

已新增的功能 (p. 271) AWS CloudTrail 針對資料事件引進進階事件選取器。進階事件選取器可讓您更精確地控制您登入 路徑的資料事件。您可以針對特定AWS 資源包含或排除資料事件,並在這些資源上選取特定 APIs 來登入您的 路徑。如需詳細資訊,請前往 Logging data events forsunips。

November 24, 2020

已新增的服務支援 (p. 271) 此版本支援 AWS NetworkFirewall。請參閱 AWS CloudTrail支援的服務和整合.

November 17, 2020

已新增的服務支援 (p. 271) 此版本支援 AWS TrustedAdvisor 。請參閱 AWS CloudTrail支援的服務和整合.

October 22, 2020

已更新的文件 (p. 271) 新增根使用者登入事件的兩個新範例。如需詳細資訊,請前往 主控台登入事件AWS。

October 13, 2020

變更的功能 (p. 271) 政策的許可已縮小。AWSCloudTrail_FullAccess此政策不再允許您移除 AmazonSNS 主題或 Amazon S3 儲存貯體,並且已移除 getObject 動作。如需詳細資訊,請前往授予CloudTrail 使用者的自訂許可。

September 29, 2020

已更新的文件 (p. 271) 此更新支援下列 CloudTrail 處理程式庫修補程式版本:在使用者指南中更新 .jar 檔案引用,使用最新版本:aws-cloudtrail-processing-library-1.3.0.jar。如需詳細資訊,請前往使用 CloudTrail 處理程式庫和 上的CloudTrail處理程式庫。GitHub

August 28, 2020

已新增的服務支援 (p. 271) 此版本支援 AWS Outposts. 請參閱 AWS CloudTrail 支援的服務和整合.

August 28, 2020

已新增的功能 (p. 271) AWS CloudTrail Insights 為CloudTrail Insights 事件引進姓名標示欄位。屬性欄位顯示與觸發Insights 事件之無質活動相關聯的最高使用者身分、使用者代理程式和錯誤代碼。為了進行比較,姓名標示欄位也會顯示與正常或基準活動相關的最高使用者身分、使用者代理程式和錯誤代碼。如需詳細資訊,請查看「落後的 LoggingInsights 事件」。

August 13, 2020

版本 1.0272

Page 278: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

已新增的功能 (p. 271) 主控台具有全新的外觀,設計旨在讓您更輕鬆使用。AWSCloudTrail使用者指南已更新,更新了如何在主控台中執行任務的程序變更,例如建立試驗、更新試驗,以及下載事件歷史。AWSCloudTrail

August 13, 2020

已新增的服務支援 (p. 271) 此版本支援 Amazon InteractiveVideo Service。請參閱 AWSCloudTrail 支援的服務和整合.

July 15, 2020

已新增的服務支援 (p. 271) 此版本支援 AmazonHoneycode。請參閱 AWSCloudTrail 支援的服務和整合.

June 24, 2020

已新增的服務支援 (p. 271) 此版本支援 Amazon Macie。請參閱 AWS CloudTrail 支援的服務和整合.

May 19, 2020

已新增的服務支援 (p. 271) 此版本支援 Amazon Kendra。請參閱 AWS CloudTrail 支援的服務和整合.

May 13, 2020

已新增的服務支援 (p. 271) 此版本支援 AWS IoT SiteWise。請查看 支援服務與整合AWSCloudTrail。

April 29, 2020

已新增的區域支援 (p. 271) 此版本支援額外區域:歐洲 (米蘭). 請參閱 AWS CloudTrail 支援的區域.

April 28, 2020

已新增服務和區域支援 (p. 271) 此版本支援 Amazon AppFlow。請查看 支援服務與整合AWSCloudTrail。另已新增對 的支援。非洲 (開普敦) 區域. 請參閱 AWSCloudTrail 支援的區域.

April 22, 2020

已新增的功能 (p. 271) 大量 AWS KMS 動作 (例如 Encrypt、Decrypt 和GenerateDataKey) 現在以Read (讀取) 事件身分登入。如果您選擇記錄追蹤上的所有AWS KMS 事件,並選擇記錄Write (寫入) 管理事件,則追蹤會記錄相關的 AWS KMS 動作,例如 Disable、Delete 和ScheduleKey.

April 7, 2020

已新增的服務支援 (p. 271) 此版本支援 Amazon CodeGuruReviewer。請參閱 AWSCloudTrail 支援的服務和整合.

February 7, 2020

已新增的服務支援 (p. 271) 此版本支援 Amazon ManagedApache Cassandra Service。請參閱 AWS CloudTrail 支援的服務和整合.

January 17, 2020

版本 1.0273

Page 279: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

已新增的服務支援 (p. 271) 此版本支援 Amazon Connect. 請參閱 AWS CloudTrail 支援的服務和整合.

December 13, 2019

已更新的文件 (p. 271) 此更新支援下列 CloudTrail 處理程式庫修補程式版本:在使用者指南中更新 .jar 檔案引用,使用最新版本:aws-cloudtrail-processing-library-1.2.0.jar。如需詳細資訊,請前往使用 CloudTrail 處理程式庫和 上的CloudTrail處理程式庫。GitHub

November 21, 2019

已新增的功能 (p. 271) 此版本支援 AWS CloudTrailInsights 以協助您偵測帳戶中的異常活動。請參閱記錄線索的Insights events.

November 20, 2019

已新增的功能 (p. 271) 此版本新增了一個選項,用來篩選掉線索中的 AWS KeyManagement Service 事件。請參閱建立線索.

November 20, 2019

已新增的服務支援 (p. 271) 此版本支援 AWS CodeStar 通知。請參閱 AWS CloudTrail 支援的服務和整合.

November 7, 2019

已新增的功能 (p. 271) 無論您使用 CloudTrail 主控台或 API,此版本都會支援使用 CloudTrail 建立追蹤時可新增標籤。此版本新增了兩個新的 APIs,GetTrail 和ListTrails。

November 1, 2019

已新增的服務支援 (p. 271) 此版本支援 AWS App Mesh. 請參閱 AWS CloudTrail 支援的服務和整合.

October 17, 2019

已新增的服務支援 (p. 271) 此版本支援 Amazon Translate. 請參閱 AWS CloudTrail 支援的服務和整合.

October 17, 2019

說明文件更新 (p. 271) 「不支援的服務」主題已還原並更新,僅包含目前未在 AWS 中記錄事件的 CloudTrail. 服務。請參閱CloudTrail不支援的服務.

October 7, 2019

說明文件更新 (p. 271) 文件已隨AWSCloudTrailFullAccess政策的變更而更新。顯示對AWSCloudTrailFullAccess的對等許可的政策範例已更新,以限制 iam:PassRole 動作可對符合下列條件陳述式的資源執行:"iam:PassedToService":"cloudtrail.amazonaws.com"。查看以身分為基礎的政策範例。AWS CloudTrail

September 24, 2019

版本 1.0274

Page 280: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

說明文件更新 (p. 271) 文件已更新,加上新的主題管理CloudTrail 成本,以協助您取得在預算中停留時所需的 CloudTrail登入資料。

September 3, 2019

已新增的服務支援 (p. 271) 此版本支援 AWS Control Tower.請參閱 AWS CloudTrail 支援的服務和整合.

August 13, 2019

已新增的區域支援 (p. 271) 此版本支援額外區域:中東 (巴林). 請參閱 AWS CloudTrail 支援的區域.

July 29, 2019

說明文件更新 (p. 271) 說明文件已更新關於 安全性的相關資訊。CloudTrail. 請參閱 AWSCloudTrail 的安全性.

July 3, 2019

已新增的服務支援 (p. 271) 此版本支援 AWS Ground Station.請參閱 AWS CloudTrail 支援的服務和整合.

June 6, 2019

已新增的服務支援 (p. 271) 此版本支援 AWS IoT ThingsGraph. 請參閱 AWS CloudTrail 支援的服務和整合.

June 4, 2019

已新增的服務支援 (p. 271) 此版本支援 Amazon AppStream2.0. 請參閱 AWS CloudTrail 支援的服務和整合.

April 25, 2019

已新增的區域支援 (p. 271) 此版本支援額外區域:亞太區域(香港). 請參閱 AWS CloudTrail 支援的區域.

April 24, 2019

已新增的服務支援 (p. 271) 此版本支援 Amazon Kinesis DataAnalytics. 請參閱 AWS CloudTrail支援的服務和整合.

March 22, 2019

已新增的服務支援 (p. 271) 此版本支援 AWS Backup. 請參閱AWS CloudTrail 支援的服務和整合.

February 4, 2019

已新增的服務支援 (p. 271) 此版本支援 Amazon WorkLink. 請參閱 AWS CloudTrail 支援的服務和整合.

January 23, 2019

已新增的服務支援 (p. 271) 此版本支援 AWS Cloud9. 請參閱AWS CloudTrail 支援的服務和整合.

January 21, 2019

已新增的服務支援 (p. 271) 此版本支援 AWS ElementalMediaLive. 請參閱 AWSCloudTrail 支援的服務和整合.

January 19, 2019

已新增的服務支援 (p. 271) 此版本支援 AmazonComprehend. 請參閱 AWSCloudTrail 支援的服務和整合.

January 18, 2019

已新增的服務支援 (p. 271) 此版本支援 AWS ElementalMediaPackage. 請參閱 AWSCloudTrail 支援的服務和整合.

December 21, 2018

版本 1.0275

Page 281: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

已新增的區域支援 (p. 271) 此版本支援額外區域:歐洲 (斯德哥爾摩)。請參閱 AWS CloudTrail支援的區域.

December 11, 2018

說明文件更新 (p. 271) 說明文件已經更新關於可支援和不支援服務的資訊。請參閱 AWSCloudTrail 支援的服務和整合.

December 3, 2018

已新增的服務支援 (p. 271) 此版本支援 AWS 資源存取管理員 (AWS RAM)。請參閱 AWSCloudTrail 支援的服務和整合.

November 20, 2018

已更新的功能 (p. 271) 此版本支援在 CloudTrail 中建立線索,用於記錄 AWS 組織中所有 AWS Organizations. 帳戶的事件。請參閱建立組織線索.

November 19, 2018

已新增的服務支援 (p. 271) 此版本支援 Amazon Pinpoint簡訊與語音 API。請參閱 AWSCloudTrail 支援的服務和整合.

November 16, 2018

已新增的服務支援 (p. 271) 此版本支援 AWS IoTGreengrass. 請參閱 AWSCloudTrail 支援的服務和整合.

October 29, 2018

已更新的文件 (p. 271) 此更新支援下列 CloudTrail 處理程式庫修補程式版本:在使用者指南中更新 .jar 檔案引用,使用最新版本:aws-cloudtrail-processing-library-1.1.3.jar。如需詳細資訊,請參閲上的CloudTrail使用 處理程式庫和CloudTrail處理程式庫。GitHub

October 18, 2018

已新增的功能 (p. 271) 此版本支援在 Event history (事件歷史記錄). 使用額外篩選條件。請參閱在 CloudTrail 主控台中檢視CloudTrail 事件.

October 18, 2018

已新增的功能 (p. 271) 此版本支援 Amazon VirtualPrivate Cloud (Amazon VPC) 在您的 VPC 和 AWS CloudTrail. 之間建立私有連線。請參閱以 VPC端點界面使用 AWS CloudTrail.

August 9, 2018

已新增的服務支援 (p. 271) 此版本支援 Amazon Data 生命週期管理員. 請參閱 AWS CloudTrail支援的服務和整合.

July 24, 2018

已新增的服務支援 (p. 271) 此版本支援 Amazon MQ. 請參閱AWS CloudTrail 支援的服務和整合.

July 19, 2018

已新增的服務支援 (p. 271) 此版本支援 AWS Mobile CLI。請參閱 AWS CloudTrail 支援的服務和整合.

June 29, 2018

版本 1.0276

Page 282: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

AWS CloudTrail可透過 RSS訊息獲得 文件歷史記錄通知 (p. 271)

您現在可以訂閱 RSS 訊息,接收AWS CloudTrail 文件更新通知。

June 29, 2018

舊版更新下表說明 2018 年 6 月 29 日前的 AWS CloudTrail 文件版本歷史記錄。

變更 描述 版本日期

已新增的服務支援 此版本支援 Amazon RDS Performance Insights。如需詳細資訊,請參閱 CloudTrail 支援的服務和整合.

2018 年 6 月21 日

已新增的功能 此版本支援在事件歷史記錄中記錄所有 CloudTrail 管理事件。如需詳細資訊,請參閱 使用 CloudTrail 事件歷史記錄檢視事件 (p. 38).

2018 年 6 月14 日

已新增的服務支援 此版本支援 AWS Billing and Cost Management. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 6 月7 日

已新增的服務支援 此版本支援 Amazon Elastic Container Service forKubernetes (Amazon EKS)。請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 6 月5 日

已更新的文件 此更新支援下列 CloudTrail 處理程式庫修補程式版本:

• 在使用者指南中更新 .jar 檔案引用,使用最新版本:aws-cloudtrail-processing-library-1.1.2.jar。

如需詳細資訊,請前往 使用CloudTrail ProcessingLibrary (p. 196) 的 和 CloudTrail 上的 處理程式庫GitHub。

2018 年 5 月16 日

已新增的服務支援 此版本支援 AWS Billing and Cost Management. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 6 月7 日

已新增的服務支援 此版本支援 Amazon Elastic Container Service forKubernetes (Amazon EKS)。請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 6 月5 日

已更新的文件 此更新支援下列 CloudTrail 處理程式庫修補程式版本:

• 在使用者指南中更新 .jar 檔案引用,使用最新版本:aws-cloudtrail-processing-library-1.1.2.jar。

如需詳細資訊,請前往 使用CloudTrail ProcessingLibrary (p. 196) 的 和 CloudTrail 上的 處理程式庫GitHub。

2018 年 5 月16 日

已新增的服務支援 此版本支援 AWS X-Ray. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 4 月25 日

已新增的服務支援 此版本支援 AWS IoT Analytics。請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 4 月23 日

版本 1.0277

Page 283: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

變更 描述 版本日期

已新增的服務支援 此版本支援 Secrets Manager. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 4 月10 日

已新增的服務支援 此版本支援 Amazon Rekognition. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 4 月6 日

已新增的服務支援 此版本支援 AWS 私有憑證授權機構 (PCA)。請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 4 月4 日

已新增的功能 此版本支援使用 CloudTrail 更輕鬆地搜尋 Amazon Athena.日誌檔案。您可以自動建立資料表直接從 CloudTrail 主控台查詢日誌,並使用這些資料表在 Athena. 中執行查詢。如需詳細資訊,請前往 CloudTrail 支援的服務和整合 (p. 17) 主控台查看 CloudTrail 和CloudTrail建立 Logs 的表格。

2018 年 3 月15 日

已新增的服務支援 此版本支援 AWS AppSync. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 2 月13 日

已新增的區域支援 此版本支援額外區域:亞太區域 (大阪當地) (ap-northeast-3)。請參閱CloudTrail 支援的區域 (p. 10).

2018 年 2 月12 日

已新增的服務支援 此版本支援 AWS Shield. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 2 月12 日

已新增的服務支援 此版本支援 Amazon SageMaker. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 1 月11 日

已新增的服務支援 此版本支援 AWS Batch. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2018 年 1 月10 日

已新增的功能 此版本支援將 CloudTrail 事件歷史記錄中可用的帳戶活動數量延伸為 90 天。您也可以自訂欄的顯示以改善您 CloudTrail 事件的檢視。如需詳細資訊,請參閱 使用CloudTrail 事件歷史記錄檢視事件 (p. 38).

2017 年 12月 12 日

已新增的服務支援 此版本支援 Amazon WorkMail. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 12月 12 日

已新增的服務支援 此版本支援 Alexa for Business 、AWS ElementalMediaConvert 和 AWS Elemental MediaStore。 請見CloudTrail 支援的服務和整合 (p. 17)。

2017 年 12月 1 日

新增功能與文件 此版本支援記錄 AWS Lambda 函數之資料事件的日誌。

如需詳細資訊,請參閱 試驗的登入資料事件 (p. 120).

2017 年 11月 30 日

新增功能與文件 此版本支援記錄 AWS Lambda 函數之資料事件的日誌。

如需詳細資訊,請參閱 試驗的登入資料事件 (p. 120).

2017 年 11月 30 日

新增功能與文件 此版本支援下列 CloudTrail 處理程式庫更新:

• 新增管理事件之布林值識別的支援。• 將 CloudTrail 事件版本更新為 1.06。

如需詳細資訊,請前往 使用CloudTrail ProcessingLibrary (p. 196) 上的 和 CloudTrail 處理程式庫。GitHub

2017 年 11月 30 日

版本 1.0278

Page 284: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

變更 描述 版本日期

已新增的服務支援 此版本支援 AWS Glue. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 11月 7 日

新增文件 此版本會新增主題:AWS CloudTrail 中的配額 (p. 28). 2017 年 10月 19 日

已更新的文件 此版本更新 APIs 事件歷史中對 CloudTrail、AmazonAthena、AWS CodeBuild 和 Amazon Elastic ContainerRegistry 支援的 AWS Migration Hub 文件。

2017 年 10月 13 日

已新增的服務支援 此版本支援 Amazon Chime. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 9 月27 日

新增功能與文件 此版本支援設定 Amazon S3 帳戶中所有 AWS 儲存貯體的資料事件記錄日誌。請參閱試驗的登入資料事件 (p. 120).

2017 年 9 月20 日

已新增的服務支援 此版本支援 Amazon Lex. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 8 月15 日

已新增的服務支援 此版本支援 AWS Migration Hub。請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 8 月14 日

新增功能與文件 根據預設,此版本支援針對所有 CloudTrail 帳戶所啟用的AWS CloudTrail 事件歷史記錄中會提供過去 7 天的帳戶活動,而且最新事件會出現在主控台儀表板上。此功能先前稱為 API 活動歷史記錄,已取代為 事件歷史記錄.

如需詳細資訊,請參閱 CloudTrail 運作方式 (p. 1).

2017 年 8 月14 日

新增功能與文件 此版本支援從 CloudTrail 主控台的 API 活動歷史記錄頁面下載事件。您可以下載 JSON 或 CSV 格式的事件。

如需詳細資訊,請參閱 下載事件 (p. 41).

2017 年 7 月27 日

已新增的功能 此版本支援記錄兩個額外區域 (歐洲 (倫敦) 和 加拿大 (中部).) 中 Amazon S3 物件層級 API 操作的日誌。

如需詳細資訊,請參閱 使用 CloudTrail 日誌檔案 (p. 114).

2017 年 7 月19 日

已新增的服務支援 此版本支援在 APIs API 活動歷史功能中查詢 AmazonCloudWatch Events 的 CloudTrail。

2017 年 6 月27 日

新增功能與文件 此版本支援下列服務之 APIs API 活動歷史功能中的其他CloudTrail:

• AWS CloudHSM• Amazon Cognito• Amazon DynamoDB• Amazon EC2• Kinesis• AWS Storage Gateway

2017 年 6 月27 日

已新增的服務支援 此版本支援 AWS CodeStar. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 6 月14 日

版本 1.0279

Page 285: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

變更 描述 版本日期

新增功能與文件 此版本支援下列 CloudTrail 處理程式庫更新:

• 新增相同 SQS 佇列中不同 SQS 訊息格式的支援來識別CloudTrail 日誌檔案。下列是支援的格式:• CloudTrail 傳送至 SNS 主題的通知• Amazon S3 傳送至 SNS 主題的通知• Amazon S3 直接傳送至 SQS 佇列的通知

• 新增 deleteMessageUponFailure 屬性的支援,而您可以使用此屬性刪除無法處理的訊息。

如需詳細資訊,請前往 使用CloudTrail ProcessingLibrary (p. 196) 的 和 CloudTrail 上的 處理程式庫GitHub。

2017 年 6 月1 日

已新增的服務支援 此版本支援 Amazon Athena. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 5 月19 日

已新增的功能 此版本支援將資料事件傳送至 Amazon CloudWatch Logs.

如需設定線索記錄來記錄資料事件日誌的詳細資訊,請參閱「資料事件 (p. 121).

如需將事件傳送至 CloudWatch Logs 的詳細資訊,請參閱使用 監控 日誌檔案 (p. 136).

2017 年 5 月9 日

已新增的服務支援 此版本支援 AWS Marketplace 計量服務。請參閱CloudTrail支援的服務和整合 (p. 17).

2017 年 5 月2 日

已新增的服務支援 此版本支援 Amazon QuickSight. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 4 月28 日

新增功能與文件 此版本支援建立新線索記錄的已更新主控台體驗。您現在可以設定新線索記錄,記錄管理和資料事件的日誌。如需詳細資訊,請參閱 建立路徑 (p. 62).

2017 年 4 月11 日

已新增的文件 如果 CloudTrail 未將日誌傳送至 S3 儲存貯體,或傳送您帳戶中部分區域的 SNS 通知,則您可能需要更新政策。

若要進一步了解如何更新 S3 儲存貯體政策,請參閱「常見的 S3 政策設定錯誤 (p. 223).

若要進一步了解如何更新 SNS 主題政策,請參閱「常見的SNS 政策組態錯誤 (p. 226).

2017 年 3 月31 日

已新增的服務支援 此版本支援 AWS Organizations. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 2 月27 日

新增功能與文件 此版本支援設定記錄管理和資料事件日誌之線索記錄的已更新主控台體驗。如需詳細資訊,請參閱 使用 CloudTrail 日誌檔案 (p. 114).

2017 年 2 月10 日

已新增的服務支援 此版本支援 Amazon Cloud Directory。請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 1 月26 日

版本 1.0280

Page 286: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

變更 描述 版本日期

新增功能與文件 此版本支援在 APIs API 活動歷史中查詢 AWSCodeCommit、Amazon GameLift 和 AWS ManagedServices 的 CloudTrail。

2017 年 1 月26 日

已新增的功能 此版本支援與 整合。AWS Personal Health Dashboard.您可以使用 個人運作狀態儀表板 識別您的線索記錄是否無法將日誌傳送至 SNS 主題或 S3 儲存貯體。S3 儲存貯體或SNS 主題的政策發生問題時,可能會發生這種情況。個人運作狀態儀表板 會通知您有關受影響的線索記錄,並建議政策修正方式。

如需詳細資訊,請參閱 AWS Health 使用者指南.

2017 年 1 月24 日

新增功能與文件 此版本支援在 CloudTrail 主控台中依事件來源進行篩選。事件來源會顯示對其提出請求的 AWS 服務。

如需詳細資訊,請參閱 在 CloudTrail 主控台中檢視CloudTrail 事件 (p. 39).

2017 年 1 月12 日

已新增的服務支援 此版本支援 AWS CodeCommit. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2017 年 1 月11 日

已新增的服務支援 此版本支援 Amazon Lightsail. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 12月 23 日

已新增的服務支援 此版本支援 AWS Managed Services。請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 12月 21 日

已新增的區域支援 此版本支援 歐洲 (倫敦) 區域. 請參閱CloudTrail 支援的區域 (p. 10).

2016 年 12月 13 日

已新增的區域支援 此版本支援 加拿大 (中部) 區域. 請參閱CloudTrail 支援的區域 (p. 10).

2016 年 12月 8 日

已新增的服務支援 此版本支援 AWS CodeBuild。請參閱 CloudTrail 支援的服務和整合 (p. 17).

此版本支援 AWS Health. 請參閱CloudTrail 支援的服務和整合 (p. 17).

此版本支援 AWS Step Functions. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 12月 1 日

已新增的服務支援 此版本支援 Amazon Polly. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 11月 30 日

已新增的服務支援 此版本支援 AWS OpsWorks for Chef Automate. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 11月 23 日

新增功能與文件 此版本支援設定您的線索記錄唯讀、唯寫或所有事件。

CloudTrail 支援登入 Amazon S3 物件層級 API 操作,例如GetObject、PutObject 和 DeleteObject。 您可以設定您的試驗路徑,來對物件層級 API 操作進行登入。

如需詳細資訊,請參閱 使用 CloudTrail 日誌檔案 (p. 114).

2016 年 11月 21 日

版本 1.0281

Page 287: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

變更 描述 版本日期

新增功能與文件 此版本支援 type 元素中的其他 userIdentity 欄位值:AWSAccount 和 AWSService。 如需詳細資訊,請前往 Fields (p. 255) 的 userIdentity。

2016 年 11月 16 日

已新增的服務支援 此版本支援 AWS Server Migration Service. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 11月 14 日

已新增的服務支援 此版本支援 Application Auto Scaling. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 10月 31 日

已新增的區域支援 此版本支援 美國東部 (俄亥俄) 區域. 請參閱CloudTrail 支援的區域 (p. 10).

2016 年 10月 17 日

新增功能與文件 此版本支援記錄非 API AWS 服務事件的日誌。如需詳細資訊,請參閱 AWS 服務事件 (p. 264).

2016 年 9 月23 日

新增功能與文件 此版本支援使用 CloudTrail 主控台檢視 AWS Config. 所支援的資源類型。如需詳細資訊,請參閱 檢視 AWS Config 參考的資源 (p. 42).

2016 年 7 月7 日

已新增的服務支援 此版本支援 AWS Service Catalog. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 7 月6 日

已新增的服務支援 此版本支援 Amazon Elastic File System (Amazon EFS). 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 6 月28 日

已新增的區域支援 此版本支援一個額外區域:ap-south-1 (亞太區域 (孟買))。請參閱CloudTrail 支援的區域 (p. 10).

2016 年 6 月27 日

已新增的服務支援 此版本支援 AWS Application Discovery Service. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 5 月12 日

已新增的服務支援 此版本支援 CloudWatch Logs 區域中的 南美洲 (聖保羅) 如需詳細資訊,請參閱 使用 監控 日誌檔案 (p. 136).

2016 年 5 月6 日

已新增的服務支援 此版本支援 AWS WAF. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 4 月28 日

已新增的服務支援 此版本支援 AWS Support. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 4 月21 日

已新增的服務支援 此版本支援 Amazon Inspector. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 4 月20 日

已新增的服務支援 此版本支援 AWS IoT. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 4 月11 日

新增功能與文件 此版本支援記錄使用安全性聲明標記語言 (SAML) 和 Web聯合身分所提出之 AWS Security Token Service (AWSSTS) API 呼叫的日誌。如需詳細資訊,請參閱 使用 SAML和 Web 聯合身分之 AWS STS APIs 的值 (p. 258).

2016 年 3 月28 日

已新增的服務支援 此版本支援 AWS Certificate Manager. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 3 月25 日

已新增的服務支援 此版本支援 Amazon Kinesis Data Firehose. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 3 月17 日

版本 1.0282

Page 288: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

變更 描述 版本日期

已新增的服務支援 此版本支援 Amazon CloudWatch Logs. 請參閱CloudTrail支援的服務和整合 (p. 17).

2016 年 3 月10 日

已新增的服務支援 此版本支援 Amazon Cognito. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 2 月18 日

已新增的服務支援 此版本支援 AWS Database Migration Service. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 2 月4 日

已新增的服務支援 此版本支援 Amazon GameLift (GameLift). 請參閱CloudTrail 支援的服務和整合 (p. 17).

2016 年 1 月27 日

已新增的服務支援 此版本支援 Amazon CloudWatch Events. 請參閱CloudTrail支援的服務和整合 (p. 17).

2016 年 1 月16 日

已新增的區域支援 此版本支援一個額外區域:ap-northeast-2 (亞太區域 (首爾)). 請參閱CloudTrail 支援的區域 (p. 10).

2016 年 1 月6 日

已新增的服務支援 此版本支援 Amazon Elastic Container Registry (AmazonECR). 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 12月 21 日

新增功能與文件 此版本支援開啟所有區域的 CloudTrail 以及每個區域有多個線索記錄的支援。如需詳細資訊,請參閱 如何在區域與全域執行 CloudTrail? (p. 8).

2015 年 12月 17 日

已新增的服務支援 此版本支援 Amazon Machine Learning. 請參閱CloudTrail支援的服務和整合 (p. 17).

2015 年 12月 10 日

新增功能與文件 此版本支援日誌檔案加密、日誌檔案完整性驗證和標記。如需詳細資訊,請參閱 使用 AWS KMS 受管金鑰 (SSE-KMS)加密 CloudTrail 日誌檔案 (p. 234)、驗證 CloudTrail 日誌檔案完整性 (p. 178) 及 更新路徑 (p. 70).

2015 年 10月 1 日

已新增的服務支援 此版本支援 Amazon Elasticsearch Service. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 10月 1 日

已新增的服務支援 此版本支援 Amazon S3 儲存貯體層級事件。請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 9 月1 日

已新增的服務支援 此版本支援 AWS Device Farm. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 7 月13 日

已新增的服務支援 此版本支援 Amazon API Gateway. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 7 月9 日

已新增的服務支援 此版本支援 CodePipeline. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 7 月9 日

已新增的服務支援 此版本支援 Amazon DynamoDB. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 5 月28 日

已新增的服務支援 此版本支援 CloudWatch Logs 區域中的 美國西部 (加州北部) 請參閱 CloudTrail 版本備註. 如需 CloudTrail 監控之CloudWatch Logs 支援的詳細資訊,請參閱 使用 監控 日誌檔案 (p. 136).

2015 年 5 月19 日

已新增的服務支援 此版本支援 AWS Directory Service. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 5 月14 日

版本 1.0283

Page 289: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

變更 描述 版本日期

已新增的服務支援 此版本支援 Amazon Simple Email Service (Amazon SES).請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 5 月7 日

已新增的服務支援 此版本支援 Amazon Elastic Container Service。請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 4 月9 日

已新增的服務支援 此版本支援 AWS Lambda. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 4 月9 日

已新增的服務支援 此版本支援 Amazon WorkSpaces. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 4 月9 日

此版本支援查詢 CloudTrail (CloudTrail 事件) 所擷取的AWS 活動。您可以查詢和篩選您帳戶中與建立、修改或刪除有關的事件。若要查詢這些事件,您可以使用 CloudTrail主控台、AWS Command Line Interface (AWS CLI) 或AWS 開發套件。如需詳細資訊,請參閱 使用 CloudTrail 事件歷史記錄檢視事件 (p. 38).

2015 年 3 月12 日

已新增的服務支援和新文件 此版本支援 CloudWatch、亞太區域 (新加坡)、亞太區域(雪梨) 和 亞太區域 (東京) 區域中的 Amazon 歐洲 (法蘭克福) Logs。其他 CloudWatch 警示範例已新增至建立CloudWatch 事件的 CloudTrail 警示,並且已新增頁面:使用 AWS CloudFormation 範本建立 CloudWatch 警示。

2015 年 3 月5 日

已新增的 API 支援 此版本支援 Amazon EC2 Systems Manager (SSM)。SSM可讓您設定、管理以及輕鬆地部署自訂 Windows 執行個體組態。如需 SSM 的詳細資訊,請參閱管理 Windows 執行個體組態. 如需 SSM 所記錄的 CloudTrail API 呼叫的相關資訊,請參閱使用 SSM 記錄 AWS CloudTrail. API 呼叫

2015 年 2 月17 日

新增文件 新的小節描述 CloudTrail (AWS Security Token Service)區域性端點的 AWS STS 支援已新增至 概念 CloudTrail 頁面。

2015 年 2 月17 日

已新增的服務支援 此版本支援 Amazon Route 53. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 2 月11 日

已新增的服務支援 此版本支援 AWS Config. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 2 月10 日

已新增的服務支援 此版本支援 AWS CloudHSM. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2015 年 1 月8 日

已新增的服務支援 此版本支援 AWS CodeDeploy. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 12月 17 日

已新增的服務支援 此版本支援 AWS Storage Gateway. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 12月 16 日

已新增的區域支援 此版本支援一個額外區域:us-gov-west-1 (AWS GovCloud(US-West)). 請參閱CloudTrail 支援的區域 (p. 10).

2014 年 12月 16 日

已新增的服務支援 此版本支援 Amazon S3 Glacier. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 12月 11 日

已新增的服務支援 此版本支援 AWS Data Pipeline. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 12月 2 日

版本 1.0284

Page 290: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

變更 描述 版本日期

已新增的服務支援 此版本支援 AWS Key Management Service. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 11月 12 日

新增文件 使用 監控 日誌檔案 (p. 136)」的新小節已新增至指南。它說明如何使用 Amazon CloudWatch Logs 監控 CloudTrail 日誌事件。

2014 年 11月 10 日

新增文件 使用CloudTrail Processing Library (p. 196)」的新小節已新增至指南。其中提供有關如何使用 AWS CloudTrail 處理程式庫以 Java 編寫 CloudTrail Log 處理器的資訊。

2014 年 11月 5 日

已新增的服務支援 此版本支援 Amazon Elastic Transcoder. 請參閱CloudTrail支援的服務和整合 (p. 17).

2014 年 10月 27 日

已新增的區域支援 此版本支援一個額外區域:eu-central-1 (歐洲 (法蘭克福)).請參閱CloudTrail 支援的區域 (p. 10).

2014 年 10月 23 日

已新增的服務支援 此版本支援 Amazon CloudSearch. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 10月 16 日

已新增的服務支援 此版本支援 Amazon Simple Notification Service. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 10月 09 日

已新增的服務支援 此版本支援 Amazon ElastiCache. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 9 月15 日

已新增的服務支援 此版本支援 Amazon WorkDocs. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 8 月27 日

已新增的內容 此版本包含討論記錄日誌登入事件的主題。請參閱AWS 主控台登入事件 (p. 265).

2014 年 7 月24 日

已新增的內容 此版本的 eventVersion 元素已升級至 1.02 版,並且已新增三個新欄位。請參閱CloudTrail 記錄內容 (p. 247).

2014 年 7 月18 日

已新增的服務支援 此版本支援 Auto Scaling (請參閱 CloudTrail 支援的服務和整合 (p. 17)).

2014 年 7 月17 日

已新增的區域支援 此版本支援三個額外區域:ap-southeast-1 (亞太區域 (新加坡))、ap-northeast-1 (亞太區域 (東京))、sa-east-1 (南美洲(聖保羅)). 請參閱CloudTrail 支援的區域 (p. 10).

2014 年 6 月30 日

額外的服務支援 此版本支援 Amazon Redshift. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 6 月10 日

已新增的服務支援 此版本支援 AWS OpsWorks. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 6 月5 日

已新增的服務支援 此版本支援 Amazon CloudFront. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 5 月28 日

已新增的區域支援 此版本支援三個額外區域:us-west-1 (美國西部 (加州北部))、eu-west-1 (歐洲 (愛爾蘭))、ap-southeast-2 (亞太區域(雪梨)). 請參閱CloudTrail 支援的區域 (p. 10).

2014 年 5 月13 日

已新增的服務支援 此版本支援 Amazon Simple Workflow Service. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 5 月9 日

版本 1.0285

Page 291: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南舊版更新

變更 描述 版本日期

已新增的內容 此版本包含討論在帳戶之間共享日誌檔案的主題。請參閱在AWS 帳戶之間共享 CloudTrail 日誌檔案 (p. 170).

2014 年 5 月2 日

已新增的服務支援 此版本支援 Amazon CloudWatch. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 4 月28 日

已新增的服務支援 此版本支援 Amazon Kinesis. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 4 月22 日

已新增的服務支援 此版本支援 AWS Direct Connect. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 4 月11 日

已新增的服務支援 此版本支援 Amazon EMR. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 4 月4 日

已新增的服務支援 此版本支援 Elastic Beanstalk. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 4 月2 日

額外的服務支援 此版本支援 AWS CloudFormation. 請參閱CloudTrail 支援的服務和整合 (p. 17).

2014 年 3 月7 日

新的指南 此版本推出 AWS CloudTrail. 2013 年 11月 13 日

版本 1.0286

Page 292: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

AWS glossaryFor the latest AWS terminology, see the AWS glossary in the AWS General Reference.

版本 1.0287

Page 293: AWS CloudTrail - 使用者指南...AWS CloudTrail 使用者指南 CloudTrail 工作流程 CloudTrail API 建立線索時,這是預設選項。如需更多詳細資訊,請參閱

AWS CloudTrail 使用者指南

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

版本 1.0cclxxxviii