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

授权方式

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

授权方式 适用场景
默认 对告警监控规则所在的同一个Project内的不同日志库和时序库进行协同告警监控。
内置角色 同一个阿里云账号,对告警监控规则所在Project外的不同日志库和时序库进行协同告警监控,包含跨Project和跨地域两个场景。
自定义角色 对跨账号或者同一阿里云账号下跨Project、跨地域监控的访问控制权限有更细粒度要求。
说明 如果允许RAM用户使用内置角色或者自定义角色查询时序库或日志库,还需要给RAM用户授予角色对应的ram:PassRole权限,权限策略如下。具体操作,请参见授予RAM用户告警操作权限
{
     "Action": "ram:PassRole",
     "Effect": "Allow",
     "Resource": "acs:ram::阿里云账号ID:角色ARN"
 }

默认授权方式

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

内置角色授权方式

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

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

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

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

在执行如下操作时,您需要先准备一个可用的RAM角色。具体操作,请参见步骤一:创建RAM角色

  1. 登录RAM 控制台
  2. 创建具备监控告警权限的策略。
    1. 在左侧导航栏中,选择权限管理 > 权限策略管理
    2. 单击创建权限策略
    3. 新建自定义权限策略页面中,配置如下参数,并单击确定
      参数 描述
      策略名称 配置策略名称。例如sls-alert-monitor-1-policy。
      配置模式 选择脚本配置
      策略内容 将配置框中的原有脚本替换为如下内容。其中,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"
      }
    4. 单击确定
  3. 为RAM角色授予监控告警权限策略。
    1. 在左侧导航栏中,选择身份管理 > 角色
    2. RAM角色列表中,找到目标RAM角色,单击添加权限
    3. 自定义策略页签,选中步骤2中创建的策略(例如sls-alert-monitor-1-policy),单击确定
    4. 确认授权结果,单击完成
    5. 在RAM角色列表中,单击目标RAM角色。
    6. 信任策略管理页签中,单击修改信任策略
      Service配置项中添加log.aliyuncs.com。该策略表示允许日志服务获取临时Token来操作其账号下的资源。
      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "Service": [
                          "log.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
  4. 在RAM角色详情页面的基本信息区域,获取RAM角色标识(ARN)。
    授权完成后,您可以在创建日志告警监控规则时,使用该RAM角色标识。具体操作,请参见创建日志告警监控规则同账号自定义角色

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

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

在执行如下操作时,您需要先准备一个可用的RAM角色。具体操作,请参见步骤一:创建RAM角色

  1. 使用阿里云账号B,登录RAM 控制台
  2. 创建具备监控告警权限的策略。
    1. 在左侧导航栏中,选择权限管理 > 权限策略管理
    2. 单击创建权限策略
    3. 新建自定义权限策略页面中,配置如下参数,并单击确定
      参数 描述
      策略名称 配置策略名称。例如sls-alert-monitor-2-policy。
      配置模式 选择脚本配置
      策略内容 将配置框中的原有脚本替换为如下内容。其中,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"
      }
    4. 单击确定
  3. 为RAM角色授予监控告警权限策略。
    1. 在左侧导航栏中,选择身份管理 > 角色
    2. 在RAM角色列表中,找到目标RAM角色,单击添加权限
    3. 自定义策略页签,选中步骤2中创建的策略(例如sls-alert-monitor-2-policy),单击确定
    4. 确认授权结果,单击完成
    5. 在RAM角色列表中,单击目标RAM角色。
    6. 信任策略管理页签中,单击修改信任策略
      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"
      }
  4. 在RAM角色详情页面的基本信息区域,获取RAM角色标识(ARN)。
    授权完成后,您可以在创建日志告警监控规则时,使用该RAM角色标识。具体操作,请参见创建日志告警监控规则同账号自定义角色