全部产品
Search
文档中心

日志服务:跨Project监控数据

更新时间:Feb 22, 2024

当告警监控规则跨Project、地域和阿里云账号监控目标时,日志服务需要通过扮演RAM角色的方式访问日志库或时序库,您需要进行相应的授权。

前提条件

为RAM用户授予告警的管理权限,操作步骤请参见授予RAM用户告警操作权限

使用场景

授权方式

适用场景

默认

对告警监控规则所在的同一个Project内,不同日志库和时序库进行协同告警监控。

内置角色

对告警监控规则所在同一个阿里云账号内,不同Project的日志库和时序库进行协同告警监控。

自定义角色

对告警监控规则所在不同阿里云账号进行监控,或者对RAM角色的访问控制权限有更精细的要求。

步骤一:配置授权

  1. 添加查询统计。具体步骤,请参见创建日志告警监控规则

  2. 配置授权方式。

    默认授权

    对同一个Project内的不同日志库和时序库进行告警监控时,使用默认授权方式。

    高级配置页签中,选择授权方式默认

    image

    内置角色授权

    对同一个阿里云账号的不同日志库和时序库进行告警监控时,使用内置角色授权。

    1. 高级配置页签中,授权方式配置为内置角色。如果是首次配置,需要使用阿里云主账号按照页面提示完成授权

      image

    2. 授权后,日志服务将创建名称为AliyunSLSAlertMonitorRole的RAM角色,日志服务将扮演此角色以读取源日志库中的数据。

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

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

    1. 使用阿里云主账号

      1. 创建可信实体为日志服务的RAM角色

      2. 通过脚本编辑模式创建自定义权限策略。参数配置如下:

        参数

        描述

        策略名称

        配置策略名称。例如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"
        }
      3. 为RAM角色授予创建的自定义权限策略。授权操作,请参见为RAM角色授权

      4. 查看获取RAM角色标识(ARN)

    2. 在使用自定义角色授权时,使用该RAM角色标识。

      image

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

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

    1. 使用阿里云主账号。

      1. 创建可信实体为日志服务的RAM角色

      2. 修改RAM角色的信任策略。修改RAM角色的信任策略为如下,其中请根据实际情况替换阿里云账号A的ID。您可以在账号中心中查看阿里云账号ID。

        {
            "Statement": [
                {
                    "Action": "sts:AssumeRole",
                    "Effect": "Allow",
                    "Principal": {
                        "Service": [
                            "阿里云账号A的ID@log.aliyuncs.com",
                            "log.aliyuncs.com"
                        ]
                    }
                }
            ],
            "Version": "1"
        }
      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. 为RAM角色授予创建的自定义权限策略。授权操作,请参见为RAM角色授权

      5. 查看获取RAM角色标识(ARN)

    2. 在使用自定义角色授权时,使用该RAM角色标识。

      image

步骤二:为RAM用户授权

设置内置角色自定义角色后,如果需要使用RAM用户查询时序库或日志库,必须使用阿里云主账号为RAM用户添加如下权限策略,用于扮演相应的角色。为RAM用户授权的操作步骤,请参见为RAM用户授权

{
     "Action": "ram:PassRole",
     "Effect": "Allow",
     "Resource": "acs:ram::阿里云账号ID:角色ARN"
 }