当告警监控规则跨Project、地域和阿里云账号监控目标时,您需要使用阿里云账号或者具备RAM操作权限的RAM用户授予日志服务读取日志库或时序库的权限。

授权方式

日志服务提供默认、内置角色和自定义角色方式获取日志库或时序库的访问权限。

授权方式 适用场景
默认 对告警监控规则所在的同一个Project内的不同日志库和时序库进行协同告警监控。
内置角色 同一个阿里云账号,对告警监控规则所在Project外的不同日志库和时序库进行协同告警监控,包含跨Project和跨地域两个场景。
自定义角色 对跨账号或者同一阿里云账号下跨Project、跨地域监控的访问控制权限有更细粒度要求。

默认授权方式

对同一个Project内的不同日志库和时序库进行告警监控时,使用默认授权方式。创建日志告警规则时,在查询统计高级配置中,从授权方式列表选择默认即可。

内置角色授权方式

对同一个阿里云账号的不同日志库和时序库进行告警监控时,您需要授予系统角色AliyunSLSAlertMonitorRole权限来读取源日志库中的数据。

创建日志告警规则中,授予系统角色AliyunSLSAlertMonitorRole权限的操作如下。

  1. 告警规则页面,单击查询统计中的编辑框。
  2. 查询统计对话框,单击高级配置
  3. 授权方式列表中,选择内置角色
  4. 如果是首次配置,单击前往授权
    说明 如果您是RAM用户,需要由阿里云账号完成授权。
    neizih
  5. 云资源访问授权页面,单击同意授权

同账号自定义角色授权方式

对同一阿里云账号的不同日志库和时序库进行告警监控时,您可以通过创建自定义角色实现协同告警监控。

  1. 登录RAM 控制台
  2. 创建具备监控告警权限的策略。
    1. 在左侧导航栏中,选择权限管理 > 权限策略管理
    2. 单击创建权限策略
    3. 新建自定义权限策略页面中,配置如下参数,并单击确定
      参数 描述
      策略名称 配置策略名称。例如sls-alert-monitor-1-policy。
      配置模式 选择脚本配置
      策略内容 将配置框中的原有脚本替换为如下内容。
      {   "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "log:ListProject",
                      "log:GetLogStore",
                      "log:ListLogStores",
                      "log:GetLogStoreLogs",
                      "log:GetResourceRecord",
                      "log:ListResourceRecords",
                      "log:ListResources",
                      "log:GetResource"
                  ],
                  "Resource": [
                      "acs:log:*:*:*" 
                 ]
              }
          ]
      }

      如果您想要更细粒度的授权,例如只授权在某个Project下创建监控规则,则可以在上述策略的resource中指定具体Project(例如acs:log:*:*:project/Project名称)。

    4. 单击确定
  3. 如果没有可用的RAM角色,创建一个用于执行告警监控的RAM角色。
    具体操作,请参见创建RAM角色
  4. 为RAM角色授予监控告警权限策略。
    1. 在左侧导航栏中,单击RAM角色管理
    2. 找到目标RAM角色,单击添加权限
    3. 自定义策略页签,选中步骤2中创建的策略(例如sls-alert-monitor-1-policy),单击确定
    4. 确认授权结果,单击完成
    5. 信任策略管理页签中,单击修改信任策略
      Service配置项中添加log.aliyuncs.com。该策略表示允许日志服务获取临时Token来操作其账号下的资源。
      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "Service": [
                          "log.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
  5. 获取RAM角色标识(ARN)。
    1. 找到目标RAM角色,单击RAM角色名称。
    2. 在该角色的基本信息中获取ARN。例如 acs:ram::13234:role/logrole
  6. 查询统计对话框中,输入RAM角色标识。
    同账号自定义角色

跨账号自定义角色授权方式

对跨阿里云账号的不同日志库和时序库进行告警监控时,您可以通过创建自定义角色实现告警监控。例如在阿里云账号A创建告警,监控阿里云账号B下的日志库和时序库。授权操作步骤如下:

  1. 使用阿里云账号B,登录RAM 控制台
  2. 创建自定义角色的权限策略。
    具体操作方法与同账号自定义角色授权方式中步骤2相同,例如您创建的权限策略为sls-alert-monitor-2-policy。
  3. 如果没有可用的RAM角色,创建一个用于执行告警监控的RAM角色。
    具体操作,请参见创建RAM角色
  4. 为RAM角色授予监控告警权限策略。
    1. 在左侧导航栏中,单击RAM角色管理
    2. 找到目标RAM角色,单击添加权限
    3. 自定义策略页签,选中步骤2中创建的策略(例如sls-alert-monitor-2-policy),单击确定
    4. 确认授权结果,单击完成
    5. 信任策略管理页签中,单击修改信任策略
      Service配置项中添加阿里云账号A的ID@log.aliyuncs.com,其中请根据实际情况替换阿里云账号A的ID。您可以在账号管理 > 安全设置中查看阿里云账号ID。该策略表示阿里云账号A有权限通过日志服务获取临时Token来监控阿里云账号B下的日志库和时序库。
      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "Service": [
                          "阿里云账号A的ID@log.aliyuncs.com",
                          "log.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
  5. 获取RAM角色标识(ARN)。
    在该角色的基本信息中查看,例如acs:ram::13234:role/logrole。
  6. 查询统计对话框中,输入RAM角色标识。
    同账号自定义角色