背景
日志審計服務是在SLS平台能力基礎上提供的一款審計服務,支援多賬戶場景下實時自動化、中心化地采集阿裡雲上的雲産品日志。具有如下優點:
- 豐富的雲産品支援,目前覆寫基礎(ActionTrail、容器服務Kubernetes版)、存儲(OSS、NAS)、網絡(SLB、API網關)、資料庫(關系型資料庫RDS、雲原生分布式資料庫PolarDB-X 1.0、雲原生資料庫PolarDB)、安全(WAF、DDoS防護、雲防火牆、雲安全中心)。
- 跨賬号:與阿裡雲 資源目錄 內建,支援将多個主賬号下的日志采集到一個中心主賬号下。
- 一鍵式采集:一次性配置采集規則後,即可完成自動實時發現新資源并實時采集日志。
- 中心化存儲:将采集到的日志存儲到某個地域的中心化Project中,友善後續查詢分析、可視化與告警、二次開發等。
- 豐富的 内置告警規則 ,一鍵建立安全防護網。

1.日志審計多賬号管理現狀
跨賬号采集是日志審計服務的一大特色,當進行跨賬号采集雲産品日志時,首先要解決的是中心主賬号和其他主賬号的雙向授權問題。目前日志審計的授信關系建立是基于RAM開發的自定義鑒權機制,但是該機制存在如下不足:
- 需要每個成員賬号,提供具有RAM寫權限的AK用于信任關系的建立。或者針對每個成員賬号,手動建立被中心賬号信任的RAM角色。
- 建立出的RAM角色因為是自定義角色,會被使用者有意或無意修改導緻授權失效等問題。
RD(Resource Directory,資源目錄)作為一套面向企業客戶的多級賬号管理服務,正好解決了日志審計多賬号場景下賬号間授信關系建立的問題。
2.資源目錄簡介
資源目錄RD(Resource Directory)是阿裡雲面向企業客戶提供的一套多級賬号和資源關系管理服務。
名稱 | 說明 |
管理賬号 |
|
資源夾 |
|
Root資源夾 |
|
成員 |
|
委派管理者 |
|
3.日志審計與資源目錄內建後的優勢
- 賬号間信任關系建立 --- 解決審計場景下賬号間信任關系建立問題。
-
- 利用RD體系建立新賬号:省去人工建立賬号并做實名認證的繁瑣流程。
- 邀請已有阿裡雲賬号加入組織:如果企業已經在阿裡雲有賬号,可通過邀請方式将已有賬号加入企業RD組織。
- 依據企業業務環境建構目錄結構 --- 通過訂閱資源目錄分組,可以解決企業内組織多賬号自動發現的問題
-
- 客戶根據自己的業務情況,按照應用程式、環境、團隊或任何其他對業務有意義的業務單元進行賬号分組管理,建立樹狀的組織多賬号結構。
- 為內建産品在組織成員賬号中建立服務關聯角色 --- 解決RAM角色被使用者有意或無意修改問題。
- 支援在雲服務中指定委派管理者 -- 通過委派管理者賬号,可以将組織管理任務與業務管理任務相分離,管理賬号執行資源目錄的組織管理任務。
使用資源目錄采集多帳号日志
要使用資源目錄完成跨賬号中心化采集,需要以下幾個步驟:
- 開通資源目錄,并邀請成員賬号。并設定委派管理者。具體操作,請參考 。
- 将委派管理者作為日志審計的中心賬号,完成日志審計服務的開通。在日志審計服務中,添加要采集的成員賬号(全選或者指定RD中的特定成員賬号)。
- 開啟對應的雲産品采集開關,就可以建立跨賬号采集鍊路了。
需要注意的是:在通過日志審計服務完成日志的中心化采集後,成員賬号還保留單獨采集,比如RDS使用RDS審計中心app,SLB(在SLB控制台)。
以下針對控制台和Terraform分别介紹日志審計如何使用資源目錄管理模式設定多帳号采集。
控制台操作
以下兩種賬号控制台操作需要以子賬号的身份操作,這樣符合最佳實踐。
1. 委派管理者賬号登入
點選日志審計服務-多帳号配置-全局配置tab頁修改可選擇配置賬号的兩種模式:全員、自定義
- 全員模式,會自動采集委派管理者所在資源目錄下的所有成員賬号的日志審計
-
- 新增資源目錄成員,該成員會自動納入委派管理者的日志審計采集賬号
- 移除資源目錄成員,該成員會自動移出委派管理者的日志審計采集賬号
- 自定義模式,隻會采集配置時設定的采集賬号
-
- 新增資源目錄成員,該成員不會納入委派管理者的日志審計采集賬号
- 移除資源目錄成員,若該成員在自定義勾選的賬号内,該成員會自動移出委派管理者的日志審計采集賬号
2. 普通賬号登入
普通賬号僅支援使用自定義鑒權管理模式(需要手動秘鑰授權,在無RD的場景下推薦使用)。通路資源目錄管理模式頁面僅展示多帳号管理的引導步驟,無法勾選設定多帳号采集
Terraform
Terraform是一種開源工具,用于安全高效地預覽、配置和管理雲基礎架構和資源。Terraform的指令行接口(CLI)提供了一種簡單機制,用于将配置檔案部署到阿裡雲或其他任意支援的雲上,并對其進行版本控制。
在使用前請確定已安裝和配置Terraform。請參見
Cloud Shell中使用Terraform連結、
在本地安裝和配置Terraform完成配置操作。
操作步驟準備:
建立一個Terraform工作目錄sls,并在該目錄下執行terraform init初始化工作目錄,完成後建立一個名為terraform.tf的檔案
步驟一、配置身份資訊
使用Terraform進行RD多帳号采集配置的身份認證支援主賬号、子賬号(環境變量、靜态aksk設定)、ECS Role以及AssumeRole,下面圍繞這幾種方式分開介紹,詳情可參考
Terraform認證方式設定:
方式一、環境變量中配置使用者身份以及日志審計服務的中心Project所在地域
export ALICLOUD_ACCESS_KEY="AK****"
export ALICLOUD_SECRET_KEY="SK****"
export ALICLOUD_REGION="cn-huhehaote"
方式二、 靜态AKSK設定
terraform.tf中配置provider資訊
provider "alicloud" {
access_key = "AK****"
secret_key = "SK****"
region = "cn-huhehaote"
}
方式三、 ECS Role
借助執行個體RAM角色,可将角色和ECS執行個體關聯起來,使用STS臨時憑證通路阿裡雲的日志審計服務,并且無需自行在執行個體中儲存AccessKey。
- 雲賬号登入RAM控制台,在左側導航欄,單擊RAM角色管理->建立RAM角色,目前可信實體類型選擇為阿裡雲服務,單擊下一步;選擇角色類型為普通服務角色,輸入角色名稱,受信服務為雲伺服器,點選完成
- 為建立的RAM角色授予通路日志服務SLS的權限,參見權限附錄說明日志審計所需最小權限
- 為ECS綁定RAM角色,登入 ECS管理控制台 ,在左側導航欄點選執行個體與鏡像->執行個體,找到要操作的ECS執行個體,選擇更多->執行個體設定->授予/收回RAM角色,在彈窗重,選擇建立前面步驟中建立好的執行個體RAM角色,點選确定完成授予。
也可以在建立ECS執行個體時,在系統配置頁面的RAM角色屬性中為執行個體選擇已建立好的執行個體RAM角色
provider "alicloud" {
ecs_role_name = "建立的RAM角色名"
region = "cn-huhehaote"
}
方式四、AssumeRole
主賬号給子賬号授予
AliyunSTSAssumeRoleAccess權限,并建立RAM角色(RAM角色需添加自定義的日志審計所需最小寫權限),為受信賬号下的RAM使用者授予AssumeRole權限、擷取RAM使用者角色的臨時安全令牌,參見
授予使用者角色provider "alicloud" {
assume_role {
role_arn = "acs:ram::主賬号uid:role/sls-test"
session_name = "AuditRoleSession"
session_expiration = 999
}
}
步驟二、配置日志審計采集
terraform.tf檔案中配置日志審計采集參數如下,日志審計采集配置的完整參數說明請檢視
Terraform-Aliyun Log Audit參數 | |
display_name | 采集配置名稱。自定義配置。 |
aliuid | 阿裡雲賬号ID。 |
multi_account | 多賬号采集時,需配置多個阿裡雲賬号ID。 |
resource_directory_type | 資源目錄管理模式:
|
actiontrail_enabled | 是否開啟操作審計(Actiontrail)日志的采集,取值:
|
actiontrail_ttl | 設定操作審計日志的存儲時間。 |
terraform.tf配置示例:
resource "alicloud_log_audit" "rdtest" {
display_name = "tf-audit-rd-test"
aliuid = "主賬号uid"
variable_map = {
"actiontrail_enabled" = "false",
"actiontrail_ttl" = "180"
}
multi_account = ["11212279087***"]
resource_directory_type="custom"
}
步驟三、使terraform.tf檔案中的采集配置生效
- 執行如下指令。terraform apply
- 輸入yes。如果傳回結果中提示Apply complete!,表示應用采集配置成功,日志審計服務将按照采集配置進行日志采集和存儲。
多帳号采集模式切換說明
委派管理者設定資源目錄管理模式以及自定義鑒權模式這兩種模式之前的切換注意點:
- 委派管理者設定過資源目錄管理模式後前端頁面會顯示無法切換至自定義鑒權管理模式,如需切換,需清除所有的采集賬号才可切換使用自定義鑒權管理模式。
- 自定義鑒權管理模式可覆寫切換成資源目錄管理模式
附錄
日志審計所需最小寫權限
該配置也是控制台和terraform操作開通配置的最小權限
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"log:GetApp",
"log:CreateApp"
],
"Resource": [
"acs:log:*:*:app/audit"
]
},
{
"Effect": "Allow",
"Action": [
"log:Get*",
"log:List*",
"log:CreateJob",
"log:UpdateJob",
"log:CreateProject"
],
"Resource": [
"acs:log:*:*:project/slsaudit-*"
]
}
]
}
參考
- 日志審計
- 歡迎掃群加入阿裡雲-日志服務(SLS)技術交流(集團同學請直接搜尋群号11702236加入), 獲得第一手資料與支援
- 後續系列直播與教育訓練視訊會同步到B站,敬請留意