本文介紹如何為RAM用戶授予操作告警權限,并介紹在配置跨Project、地域和阿里云賬號監控日志時,如何配置授權。
前提條件
已創建RAM用戶。具體操作,請參見創建RAM用戶。
授權RAM用戶只讀訪問告警
方式一:授予系統權限策略
為RAM用戶授予告警只讀管理權限(AliyunLogReadOnlyAccess)。具體操作,請參見為RAM用戶授權。
方式二:創建自定義權限策略進行授權
使用阿里云賬號(主賬號)或RAM管理員登錄RAM控制臺。
創建一個自定義權限策略,其中在腳本編輯頁簽,請使用以下腳本替換配置框中的原有內容。具體操作,請參見通過腳本編輯模式創建自定義權限策略。
重要Project名稱表示用于只讀告警數據的Project,請根據實際情況替換。
sls-alert-*表示當前阿里云賬號下所有的全局告警中心Project。全局告警中心Project中包含該賬號下所有告警規則的評估數據、發送的日志和告警相關的全局報表等。如果您不需要查看全局報表信息,可以在資源列表中刪除
acs:log:*:*:project/sls-alert-*/*
。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:GetLogStore" ], "Resource": [ "acs:log:*:*:project/Project名稱/logstore/internal-alert-history", "acs:log:*:*:project/sls-alert-*/logstore/internal-alert-center-log" ] }, { "Effect": "Allow", "Action": [ "log:GetJob", "log:ListJobs" ], "Resource": "acs:log:*:*:project/Project名稱/job/*" }, { "Effect": "Allow", "Action": [ "log:GetProject" ], "Resource": [ "acs:log:*:*:project/sls-alert-*" ] }, { "Effect": "Allow", "Action": [ "log:GetLogStoreLogs", "log:ListLogStores", "log:GetIndex", "log:GetDashboard", "log:ListDashboard" ], "Resource": [ "acs:log:*:*:project/Project名稱/*", "acs:log:*:*:project/sls-alert-*/*" ] }, { "Effect": "Allow", "Action": [ "log:GetResource", "log:ListResources", "log:GetResourceRecord", "log:ListResourceRecords" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] }
為RAM用戶添加創建的自定義權限策略。具體操作,請參見為RAM用戶授權。
授權RAM用戶管理告警
方式一:授予系統權限策略
為RAM用戶授予日志服務管理權限(AliyunLogFullAccess)。具體操作,請參見為RAM用戶授權。
方式二:創建自定義權限策略進行授權
使用阿里云賬號(主賬號)或RAM管理員登錄RAM控制臺。
創建一個自定義權限策略,其中在腳本編輯頁簽,請使用以下腳本替換配置框中的原有內容。具體操作,請參見通過腳本編輯模式創建自定義權限策略。
重要Project名稱表示用于管理告警數據的Project,請根據實際情況替換。
sls-alert-*表示當前阿里云賬號下所有的全局告警中心Project。全局告警中心Project中包含該賬號下所有告警規則的評估數據、發送的日志和告警相關的全局報表等。如果您只想授權RAM用戶操作單個全局告警中心Project的權限,您可以將sls-alert-*配置為單個Project的名稱,格式為
sls-alert-${uid}-${region}
,例如sls-alert-148****6461-cn-hangzhou
。創建Logstore、創建索引及更新索引的權限策略,用于RAM用戶操作告警相關的系統日志庫(告警歷史日志庫、全局告警中心日志庫),從而進行告警歷史等報表的查看。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:GetLogStore", "log:UpdateLogStore", "log:CreateLogStore", "log:CreateIndex", "log:UpdateIndex" ], "Resource": [ "acs:log:*:*:project/Project名稱/logstore/internal-alert-history", "acs:log:*:*:project/sls-alert-*/logstore/internal-alert-center-log" ] }, { "Effect": "Allow", "Action": [ "log:*" ], "Resource": "acs:log:*:*:project/Project名稱/job/*" }, { "Effect": "Allow", "Action": [ "log:GetProject", "log:CreateProject" ], "Resource": [ "acs:log:*:*:project/sls-alert-*" ] }, { "Effect": "Allow", "Action": [ "log:GetLogStoreLogs", "log:ListLogStores", "log:GetIndex", "log:GetDashboard", "log:CreateDashboard", "log:UpdateDashboard", "log:ListDashboard" ], "Resource": [ "acs:log:*:*:project/Project名稱/*", "acs:log:*:*:project/sls-alert-*/*" ] }, { "Effect": "Allow", "Action": [ "log:*" ], "Resource": [ "acs:log:*:*:resource/*" ] } ] }
為RAM用戶添加創建的自定義權限策略。具體操作,請參見為RAM用戶授權。
跨Project告警監控日志
配置授權
如果使用RAM用戶配置監控規則,必須授權RAM用戶操作告警。
添加查詢統計。具體步驟,請參見創建告警監控規則。
授權方式支持三種配置,說明如下:
授權方式
說明
默認
默認授權支持告警監控規則對所屬同一個Project下的日志庫或指標庫進行查詢統計。
內置角色
內置角色授權支持告警監控規則對當前主賬號下其他任意Project下的日志庫或指標庫進行查詢統計。
自定義角色
自定義角色授權支持告警監控規則對當前或其他主賬號下的特定Project下的日志庫或指標庫進行查詢統計。
具體配置如下:
默認授權
在高級配置頁簽中,選擇授權方式為默認。
內置角色授權
在高級配置頁簽中,將授權方式配置為內置角色。如果是首次配置,需要使用阿里云主賬號按照頁面提示完成授權。授權后,日志服務將創建名稱為
AliyunSLSAlertMonitorRole
的RAM角色,日志服務將扮演此角色以讀取源日志庫中的數據。自定義角色授權(同賬號)
對同一個阿里云賬號下的不同日志庫或指標庫進行告警監控時,您可以通過自定義角色實現告警監控。
創建可信實體為阿里云服務的RAM角色,其中受信服務請選擇日志服務。
創建一個自定義權限策略,其中在腳本編輯頁簽,請使用以下腳本替換配置框中的原有內容。具體操作,請參見通過腳本編輯模式創建自定義權限策略。
重要Project名稱需根據實際情況替換。如果您需要更細粒度的授權,例如只允許在指定Project下創建監控規則,則可以在下述策略的
Resource
中指定具體的Project,例如acs:log:*:*:project/my-project
。{ "Statement": [ { "Action": [ "log:ListProject" ], "Effect": "Allow", "Resource": [ "acs:log:*:*:*" ] }, { "Action": [ "log:ListLogStores", "log:GetLogStoreLogs", "log:GetIndex" ], "Effect": "Allow", "Resource": [ "acs:log:*:*:project/Project名稱/*" ] } ], "Version": "1" }
為RAM角色添加創建的自定義權限。具體操作,請參見為RAM角色授權。
后續操作
自定義角色授權(跨賬號)
對跨阿里云賬號下的不同日志庫或指標庫進行告警監控時,您可以通過自定義角色實現告警監控。例如在阿里云賬號A中創建告警,監控阿里云賬號B下的日志庫或指標庫。
在阿里云賬號B進行以下操作:
創建可信實體為阿里云服務的RAM角色,其中受信服務請選擇日志服務。
修改RAM角色的信任策略。具體操作,請參見修改RAM角色的信任策略。
重要請根據實際情況替換
阿里云賬號A的ID
。您可以在賬號中心中查看阿里云賬號ID。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "阿里云賬號A的ID@log.aliyuncs.com", "log.aliyuncs.com" ] } } ], "Version": "1" }
創建一個自定義權限策略,其中在腳本編輯頁簽,請使用以下腳本替換配置框中的原有內容。具體操作,請參見通過腳本編輯模式創建自定義權限策略。
重要將配置框中的原有腳本替換為如下內容。其中,Project名稱需根據實際情況替換。如果您想要更細粒度的授權,例如只允許在指定Project下創建監控規則,則可以在下述策略的
Resource
中指定具體的Project,例如acs:log:*:*:project/my-project
。{ "Statement": [ { "Action": [ "log:ListProject" ], "Effect": "Allow", "Resource": [ "acs:log:*:*:*" ] }, { "Action": [ "log:ListLogStores", "log:GetLogStoreLogs", "log:GetIndex" ], "Effect": "Allow", "Resource": [ "acs:log:*:*:project/Project名稱/*" ] } ], "Version": "1" }
為RAM角色添加創建的自定義權限。具體操作,請參見為RAM角色授權。
獲取RAM角色標識(ARN),具體操作,請參見查看RAM角色。
后續操作
RAM用戶授權
當告警監控規則跨Project、地域和阿里云賬號監控目標時,如果需要使用RAM用戶查詢日志庫或指標庫,必須使用阿里云主賬號為RAM用戶添加如下權限策略,用于扮演相應的角色。為RAM用戶授權的操作步驟,請參見為RAM用戶授權。
{
"Version": "1",
"Statement": [
{
"Action": "ram:PassRole",
"Effect": "Allow",
"Resource": "*"
}
]
}