操作審計默認僅為每個阿里云賬號記錄最近90天的事件。為了滿足長期存儲操作事件,對云資源進行安全監控、合規審計和故障診斷等,您可以創建跟蹤,將新產生的事件投遞到日志服務SLS、對象存儲OSS或大數據計算服務MaxCompute中。本文以Python開發工具PyCharm創建單賬號跟蹤,并將操作事件投遞到日志服務為例進行介紹。
前提條件
請確保您已開通日志服務。具體操作,請參見開通日志服務。
重要開通日志服務不收費,操作審計將操作事件投遞到日志服務后,存儲操作事件需要收費。具體計費標準,請參見計費概述。
請確保您已安裝Python且已搭建Python開發環境(即安裝PyCharm)。具體操作,請參見安裝Python和在Windows搭建Python開發環境。
請確保您已獲取阿里云賬號的AccessKey,且已配置好環境變量。具體操作,請參見創建AccessKey和在Windows系統環境變量中設置阿里云AccessKey。
背景信息
通過Python SDK創建單賬號跟蹤時,您需要先在日志服務中創建日志項目(LogProject),才能在操作審計中創建跟蹤。新創建跟蹤的默認狀態為已關閉,您需要開啟跟蹤,才能通過日志服務查詢和分析操作事件。
步驟一:在日志服務中創建日志項目
本文以在杭州地域創建日志項目cloud-trail-project-test
為例進行介紹。
在PyCharm中創建一個項目,例如:
actiontrail
。您會得到一個文件
main.py
,用于運行Python SDK代碼。在PyCharm中單擊Terminal或按
Alt + F12
,打開Terminal。執行以下命令,安裝SDK依賴包。
pip install alibabacloud_sls20201230
在
main.py
中運行以下代碼,在杭州地域創建日志項目cloud-trail-project-test
。代碼中需要替換的信息如下:
config.endpoint = f'cn-hangzhou.log.aliyuncs.com'
中的hangzhou
為日志項目歸屬地域,您可以根據實際需求進行修改。關于日志服務支持的地域,請參見服務接入點。project_name='cloud-trail-project-test'
中的cloud-trail-project-test
為日志項目名稱,您可以根據實際需求進行修改。關于日志項目名稱的輸入要求,請參見CreateProject中的請求參數projectName
。
import os import sys from typing import List from alibabacloud_sls20201230.client import Client as Sls20201230Client from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_sls20201230 import models as sls_20201230_models from alibabacloud_tea_util import models as util_models class Sample: def __init__(self): pass @staticmethod def create_client() -> Sls20201230Client: config = open_api_models.Config( access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'] ) config.endpoint = f'cn-hangzhou.log.aliyuncs.com' return Sls20201230Client(config) @staticmethod def main(args: List[str],) -> None: client = Sample.create_client() create_project_request = sls_20201230_models.CreateProjectRequest( project_name='cloud-trail-project-test' ) runtime = util_models.RuntimeOptions() headers = {} try: client.create_project_with_options(create_project_request, headers, runtime) except Exception as error: print(error.message) if __name__ == '__main__': Sample.main(sys.argv[1:])
查看新創建的日志項目
cloud-trail-project-test
。登錄日志服務控制臺,在Project列表區域,查看新創建的日志項目。
步驟二:在操作審計中創建并啟用跟蹤
本文以在杭州地域創建跟蹤cloud_trail_test
為例進行介紹。
在PyCharm的正下方單擊Terminal或按
Alt + F12
,打開Terminal。執行以下命令,安裝SDK依賴。
pip install alibabacloud_actiontrail20200706
在
main.py
中運行以下代碼,創建跟蹤cloud_trail_test
。代碼中需要替換的信息如下:
name='cloud_trail_test'
中的cloud_trail_test
為跟蹤名稱,您可以根據實際需求進行修改。關于跟蹤名稱的輸入要求,請參見CreateTrail中的請求參數Name
。sls_project_arn='acs:log:cn-hangzhou:141339776561****:project/cloud-trail-project-test'
中的acs:log:cn-hangzhou:141339776561****:project/cloud-trail-project-test
為跟蹤投遞的日志項目的ARN,其中141339776561****
為當前賬號ID,cloud-trail-project-test
和cn-hangzhou
為步驟一創建的日志項目及其歸屬地域,您可以根據實際需求進行修改。
import os import sys from typing import List from alibabacloud_actiontrail20200706.client import Client as Actiontrail20200706Client from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_actiontrail20200706 import models as actiontrail_20200706_models from alibabacloud_tea_util import models as util_models class Sample: def __init__(self): pass @staticmethod def create_client() -> Actiontrail20200706Client: config = open_api_models.Config( access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'] ) config.endpoint = f'actiontrail.cn-hangzhou.aliyuncs.com' return Actiontrail20200706Client(config) @staticmethod def main(args: List[str], ) -> None: client = Sample.create_client() create_trail_request = actiontrail_20200706_models.CreateTrailRequest( name='cloud_trail_test', sls_project_arn='acs:log:cn-hangzhou:141339776561****:project/cloud-trail-project-test' ) runtime = util_models.RuntimeOptions() try: client.create_trail_with_options(create_trail_request, runtime) except Exception as error: print(error.message) if __name__ == '__main__': Sample.main(sys.argv[1:])
在
main.py
中運行以下代碼,開啟跟蹤cloud_trail_test
。代碼中需要替換的信息如下:
name='cloud_trail_test'
為本步驟中創建的跟蹤名稱,您可以根據實際需求進行修改。import os import sys from typing import List from alibabacloud_actiontrail20200706.client import Client as Actiontrail20200706Client from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_actiontrail20200706 import models as actiontrail_20200706_models from alibabacloud_tea_util import models as util_models class Sample: def __init__(self): pass @staticmethod def create_client() -> Actiontrail20200706Client: config = open_api_models.Config( access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'] ) config.endpoint = f'actiontrail.cn-hangzhou.aliyuncs.com' return Actiontrail20200706Client(config) @staticmethod def main(args: List[str],) -> None: client = Sample.create_client() start_logging_request = actiontrail_20200706_models.StartLoggingRequest( name='cloud_trail_test' ) runtime = util_models.RuntimeOptions() try: client.start_logging_with_options(start_logging_request, runtime) except Exception as error: print(error.message) if __name__ == '__main__': Sample.main(sys.argv[1:])
查看新創建的跟蹤
cloud_trail_test
及其狀態(跟蹤狀態為已開啟)。登錄操作審計控制臺。
在左側導航欄,單擊跟蹤。
在跟蹤頁面,查看新創建的跟蹤及其狀態。
步驟三:在日志服務中查看操作事件
在日志服務控制臺,查看操作審計投遞到日志服務的操作事件,并對其進行查詢和分析。
相關文檔
在日志服務中查詢和分析操作事件的具體操作,請參見查詢和分析日志。
在日志服務中查詢和分析操作事件的典型場景,請參見在日志服務SLS中分析操作事件。
通過操作審計控制臺創建跟蹤的具體操作,請參見創建單賬號跟蹤。