雲計算

如何將操作日誌持續投遞到 SLS/OSS

操作審計(ActionTrail)幫助您監控並記錄阿里雲賬號的活動,包括通過阿里雲控制檯、OpenAPI、開發者工具對雲上產品和服務的訪問和使用行為,記錄為操作日誌。
操作審計支持所有阿里雲賬號的免開通服務,默認為所有賬號記錄並存儲近 90 天的日誌。但在實際應用中,受法律法規和企業審計標準的要求,企業往往需要保留 180 天及以上的審計日誌,還需要對這些日誌進行復雜的行為分析、安全分析、運維監控,以應對企業的審計合規要求。此時就需要您在操作審計,通過創建跟蹤來記錄更長時間的日誌,並保存到雲上存儲空間。

什麼是跟蹤

跟蹤,即持續持續且實時地把您的雲賬號在阿里雲上的操作事件投遞到您的存儲服務,如 SLS 或 OSS。

操作事件,即用戶在阿里雲控制檯、OpenAPI、開發者工具訪問和管控雲上服務所產生的事件記錄。

目前跟蹤是自動持續地投遞新產生的操作事件。歷史 90 天的事件暫不支持補投,我們會盡快支持。所以建議您先創建跟蹤,以免找不到歷史事件。

跟蹤適用但不限於以下場景:
• 將您的雲賬號下所有操作日誌導出
• 將操作日誌保存更長時間
• 對操作日誌進行分析統計

創建跟蹤

登陸[操作審計控制檯](https://actiontrail.console.aliyun.com/cn-hangzhou/event-list,點擊【跟蹤列表】-【創建跟蹤】。
下面對一些重要配置做詳細說明。

跟蹤名稱

跟蹤名稱在賬號中唯一。跟蹤名稱必須以小寫字母開頭,只能包括小寫字母、數字、連字符(-)和下劃線(_), 長度在6~32位。

推薦

推薦取一個有意義的名字,方便管理。

跟蹤地域

即要投遞哪些地域的數據。默認是所有地域。
您的雲賬號可能在阿里雲所有地域都會產生操作事件,您可以選擇投遞所有地域的事件,也可以僅投遞部分地域的事件。

比較容易混淆的是“跟蹤地域”和“Home地域”,“Home地域”指的是 ”創建跟蹤的地域“。比如您在操作審計杭州地域( https://actiontrail.console.aliyun.com/cn-hangzhou )創建一個跟蹤,則 “Home地域” 是杭州。該跟蹤可以投遞所有地域的數據,也可以僅投遞部分地域,例如只投遞杭州、上海,則“跟蹤地域”是杭州和上海。

操作審計的事件可分為全局事件和非全局事件。全局事件是全局服務的操作事件,如控制檯登陸,RAM 產品的操作事件等。非全局事件則是各個地域單獨產生的事件,比如在杭州調用 ECS 的 API。

操作審計在阿里雲各個地域都有部署,針對全局事件,需要注意的是:

• 如果在操作審計杭州( https://actiontrail.console.aliyun.com/cn-hangzhou )創建跟蹤,跟蹤地域設置為上海(或其他除杭州外的地域),則該跟蹤只會投遞上海的事件,您的 OSS/SLS 中只會接收到上海地域的非全局事件。
• 如果在操作審計上海( https://actiontrail.console.aliyun.com/cn-shanghai )創建跟蹤,跟蹤地域設置為杭州,則該跟蹤只會只投遞杭州的事件,但您的 OSS/SLS 中可能會接收到杭州的非全局事件和全局事件。這是因為全局事件一般在杭州地域產生。

所以為了簡單起見,建議您如果只想使用跟蹤投遞部分地域的事件,就對應地域創建跟蹤。例如跟蹤地域為上海,就在操作審計上海( https://actiontrail.console.aliyun.com/cn-shanghai )創建跟蹤。

推薦

除明確需要跟蹤某個地域,推薦選擇“所有地域”。
跟蹤部分地域時,建議“跟蹤地域”和“Home地域”保持一致。例如:
• 跟蹤地域為 “上海”,則在操作審計上海( https://actiontrail.console.aliyun.com/cn-shanghai )創建跟蹤。
• 跟蹤地域為 “上海” 和 “杭州”,有兩種方式:
• a. 在操作審計上海( https://actiontrail.console.aliyun.com/cn-shanghai )和杭州(https://actiontrail.console.aliyun.com/cn-hangzhou )各創建一個跟蹤
• b. 在操作審計上海( https://actiontrail.console.aliyun.com/cn-shanghai )或杭州(https://actiontrail.console.aliyun.com/cn-hangzhou )創建一個跟蹤

事件類型

阿里雲操作事件分為寫事件和讀事件。
• 寫事件:指可能增加、刪除或修改雲上資源,或修改雲資源配置的操作 。如 CreateInstance (創建一臺包年包月或者按量付費ECS實例)等。
• 讀事件:指本身沒有在雲上增加、刪除或修改配置的操作意圖,也不會對雲上配置造成變更,僅讀取雲上產品和資源的信息。例如:DescribeInstances(查詢一臺或多臺ECS實例的詳細信息)等。

如果選擇“寫事件“,則只會導出寫事件。如果選擇所有事件,則會投遞所有事件,包括 “讀事件” 和 “寫事件”。

建議

如果您需要投遞雲賬號下所有的操作事件,則選擇“所有事件”。

如果您導出操作事件是為了進行自定義分析,並且您只關注會影響雲資源的事件,則可以選擇“寫事件”。

審計事件投遞

“審計事件投遞”,指的是將操作事件投遞到您指定的存儲服務,操作審計支持投遞到 SLS 或 OSS。這裡是多選,您可以僅投遞到 SLS 或 OSS,也可以同時投遞到 SLS 及 OSS。

建議

如果您只是對操作事件進行歸檔,以後也不需要對事件進行復雜分析,則推薦 OSS。OSS 存儲成本比 SLS 低。

如果您需要對操作事件進行分析,或需要再將操作事件導出到 MaxCompute、EMR 等其他產品,則需要選擇 SLS。

將事件投遞到日誌服務SLS

即把阿里雲上的操作事件投遞到您的 SLS 中。
您可以選擇已有的 LogProject(日誌項目),也可以讓操作審計幫您創建一個新的 LogProject。
無論是選擇已有日誌項目還是創建新的 LogProject,操作審計都將在對應 LogProject 中創建一個 LogStore,LogStore 的名稱為 actiontrail_{trail_name},其中 trail_name 是您的跟蹤名稱。例如跟蹤名為 trail-all,則對應 LogStore 名稱為actiontrail_trail-all

如果使用 OpenAPI 創建跟蹤,則必須事先已有logstore,且名稱規則為actiontrail_{trail_name}

日誌庫所屬地域

操作審計支持將事件投遞到任意地域的日誌項目。但建議日誌庫所屬地域和當前操作審計的地域保持一致。

建議

日誌庫所屬地域和當前操作審計的地域保持一致。比如當前操作審計地域是杭州,則建議使用杭州的日誌項目。因為同地域投遞可以降低網絡延遲。

將事件投遞到對象存儲 OSS

即把阿里雲上的操作事件投遞到您的 OSS 中。

您可以選擇已有的 OSS Bucket(存儲桶),也可以讓操作審計幫您創建一個新的 OSS Bucket。

操作事件在 OSS 中以文件形式存放。默認沒有前綴,文件名示例: AliyunLogs/Actiontrail/cn-hangzhou/2020/08/03/Actiontrail_cn-hangzhou_20200803040208_1002_2_613_xxx.gz。您也可以指定前綴,如前綴為 my-data,則日誌文件為 my-data/AliyunLogs/Actiontrail/cn-hangzhou/2020/08/03/Actiontrail_cn-hangzhou_20200803040208_1002_2_613_xxx.gz

如果使用 OpenAPI 創建跟蹤,則必須事先已有 OSS Bucket。

開啟服務端加密

將事件投遞到 OSS 時支持 OSS 服務端加密,加密算法有 AES256 和 KMS

使 KMS 加密需要先開通 KMS 服務。只有控制檯創建跟蹤並選擇新建 OSS Bucket 時支持設置加密方式,如果使用已有的 OSS Bucket,則需要提前設置 Bucket 的加密方式。

常用場景的跟蹤配置示例

《等保2.0》要求雲上信息系統的日誌至少保存180天

操作審計僅支持在線查詢 90 天內的操作日誌,但《等保2.0》(即《網絡安全等級保護2.0制度》)要求雲上信息系統的日誌至少保存 180 天。所以您需要使用“跟蹤”將數據投遞到您的存儲服務,以保存 180 天以上或永久存儲。
如果您確定不需要自定義分析日誌,那麼為了節省成本,推薦使用成本更低的 OSS 存儲;否則選擇 SLS。示例配置如下:
• 適用跟蹤到所有的地域:
• 事件類型:所有類型
• 選擇投遞服務: OSS

將操作事件導出到 MaxCompute

為了分析操作事件,您可能需要將數據導入到 MaxCompute。您可以先創建跟蹤,使用跟蹤將操作事件投遞到 SLS,然後通過 SLS 將數據導出到 MaxCompute

跟蹤配置如下:
• 適用跟蹤到所有的地域:
• 事件類型:所有類型
• 選擇投遞服務:SLS
然後在操作審計控制檯【跟蹤列表】頁面,可以看到您創建的跟蹤,點擊【日誌服務】可以跳轉到 SLS 控制檯,查看跟蹤的操作事件。
在 SLS 控制檯,選擇 Logstore 中選擇 【數據處理】-【導出】-【MaxCompute】,即可將數據導出到 MaxCompute。參考文檔:通過日誌服務投遞日誌到MaxCompute

對敏感操作進行分析、報警

在某些場景下,您可以要分析賬號中的敏感操作,比如產生訂單、刪除資源等操作,並針對這些操作進行報警,這時推薦您使用跟蹤將操作事件投遞到您的 SLS,然後再利用 SLS 進行分析報警。
跟蹤配置如下:
• 適用跟蹤到所有的地域:
• 事件類型:寫類型。一般敏感操作都是 “寫類型”,這樣可以減少數據量節省成本。如果您也關注“讀類型”的事件,則需要選擇“所有類型”。
• 選擇投遞服務:勾選 SLS
跟蹤創建完畢後,在 SLS 中就可以針對操作事件進行分析、報警。參考文檔: 設置告警

既要分析日誌也想要低成本永久存儲日誌

可以先將數據導出到 SLS,再通過 SLS 導出到 MaxCompute 或 OSS。然後 SLS 中的數據存儲時長可以設置短一點,例如一個月甚至一週,再定時將 SLS 中的數據導入到 MaxCompute 或 OSS 進行永久存儲。
• 存儲成本:SLS > MaxCompute > OSS。

FAQ

如何查看導出的操作事件?

在[操作審計控制檯]
(https://actiontrail.console.aliyun.com/cn-hangzhou/event-list)【跟蹤列表】頁面,可以看到您創建的跟蹤。然後可以點擊 “OSS Bucket名稱” 或 “日誌服務” 進行跳轉,在 OSS 或 SLS 控制檯查看操作事件數據。

圖1.png

如何選擇投遞服務

圖2.png

如何更改 SLS 日誌存儲時長?

創建投遞服務時,如果選擇了新建 SLS,則操作審計會幫您創建一個 SLS Project,和一個以名為 actiontrail_{trail_name} 開頭的 logtail,logtail 默認永久保存日誌。

actiontrail_{trail_name}trail_name 為跟蹤名稱。

如果您想要更改 SLS 日誌存儲時長,則可以在 SLS 控制檯,找到對應的 SLS Project 以及 logtail,修改存儲時長。

圖3.png

Leave a Reply

Your email address will not be published. Required fields are marked *