本文指導如何為阿里雲RAM使用者授予警示操作許可權,並介紹在配置跨Project、地區和阿里雲帳號監控日誌時,如何配置授權。
前提條件
已建立RAM使用者。具體操作,請參見建立RAM使用者。
授予RAM使用者警示唯讀許可權
方式一:授予系統權限原則
使用阿里雲帳號(主帳號)登入RAM控制台,為RAM使用者授予警示唯讀系統管理權限(AliyunLogReadOnlyAccess)。具體操作,請參見為RAM使用者授權。
方式二:建立自訂權限原則進行授權
使用阿里雲帳號(主帳號)或Resource Access Management員登入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使用者,單擊添加許可權。
在新增授權面板的權限原則地區,在下拉式清單選擇自訂策略,然後選中您在步驟2中建立的權限原則,然後單擊確認新增授權。
授予RAM使用者警示系統管理權限
方式一:授予系統權限原則
使用阿里雲帳號(主帳號)登入RAM控制台,為RAM使用者授予Log Service系統管理權限(AliyunLogFullAccess)。具體操作,請參見為RAM使用者授權。
方式二:建立自訂權限原則進行授權
使用阿里雲帳號(主帳號)或Resource Access Management員登入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使用者,單擊添加許可權。
在新增授權面板的權限原則地區,在下拉式清單選擇自訂策略,然後選中您在步驟2中建立的權限原則,然後單擊確認新增授權。
跨Project警示監控日誌
配置授權
如果使用RAM使用者配置監控規則,必須使用阿里雲帳號(主帳號)授予RAM使用者警示系統管理權限。
添加查詢統計。具體步驟,請參見建立警示監控規則。
授權方式支援三種配置,說明如下:
授權方式
說明
預設
預設授權支援警示監控規則對所屬同一個Project下的日誌庫或指標庫進行查詢統計。
內建角色
內建角色授權支援警示監控規則對當前主帳號下其他任意Project下的日誌庫或指標庫進行查詢統計。
自訂角色
自訂角色授權支援警示監控規則對當前或其他主帳號下的特定Project下的日誌庫或指標庫進行查詢統計。
具體配置如下:
預設授權
在進階配置頁簽中,選擇授權方式為預設。
內建角色授權
在進階配置頁簽中,將授權方式配置為內建角色。如果是首次配置,需要使用阿里雲主帳號按照頁面提示完成授權。授權後,Log Service將建立名稱為
AliyunSLSAlertMonitorRole
的RAM角色,Log Service將扮演此角色以讀取源日誌庫中的資料。自訂角色授權(同帳號)
對同一個阿里雲帳號下的不同日誌庫或指標庫進行警示監控時,您可以通過自訂角色實現警示監控。
使用阿里雲主帳號
輸入以下指令碼。其中,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角色標識。
自訂角色授權(跨帳號)
對跨阿里雲帳號下的不同日誌庫或指標庫進行警示監控時,您可以通過自訂角色實現警示監控。例如在阿里雲帳號A中建立警示,監控阿里雲帳號B下的日誌庫或指標庫。
使用阿里雲主帳號。
修改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角色標識。
RAM使用者授權
當警示監控規則跨Project、地區和阿里雲帳號監控目標時,如果需要使用RAM使用者查詢日誌庫或指標庫,必須使用阿里雲主帳號為RAM使用者添加如下權限原則,用於扮演相應的角色。為RAM使用者授權的操作步驟,請參見為RAM使用者授權。
{
"Version": "1",
"Statement": [
{
"Action": "ram:PassRole",
"Effect": "Allow",
"Resource": "*"
}
]
}