赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 查询与分析
  6. 定时SQL
  7. 授权
  8. 使用自定义角色创建定时SQL任务

使用自定义角色创建定时SQL任务

  • 授权
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

日志服务支持使用默认角色AliyunLogETLRole或自定义角色创建定时SQL任务。本文介绍如何授权自定义RAM角色分析和写入Logstore。

授予自定义RAM角色分析源Logstore的权限

  1. 使用阿里云账号(主账号)或RAM管理员登录源Logstore所在阿里云的RAM控制台。

  2. 创建一个RAM角色,例如命名为:QueryLogstoreRole。具体操作,请参见创建可信实体为阿里云服务的RAM角色。

    重要
    • 创建RAM角色时,信任主体类型应选择云服务,且信任主体名称应选择日志服务。

    • 请检查角色的信任策略如下,Service内容至少包含"log.aliyuncs.com"。

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "log.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
  3. 创建一个自定义权限策略,例如命名为:QueryLogstorePolicy。该策略具备分析源Logstore日志的权限。具体操作,请参见通过脚本编辑模式创建自定义权限策略。

    其中在脚本编辑页签,您可选择使用精确授权或模糊匹配授权脚本替换配置框中的原有内容。

    精确授权

    脚本中的{project-name}和{logstore-name}请根据实际情况替换。

    重要

    权限策略中的Logstore包括了Logstore和MetricStore。当您的操作对象为MetricStore时,如下策略同样适用。

    {
        "Version":"1",
        "Statement":[
            {
                "Action":[
                    "log:PostProjectQuery"
                ],
                "Resource":[
                    "acs:log:*:*:project/{project-name}/logstore/{logstore-name}"
                ],
                "Effect":"Allow"
            },
            {
                "Action":[
                    "log:GetProjectQuery",
                    "log:PutProjectQuery",
                    "log:DeleteProjectQuery"
                ],
                "Resource":[
                    "acs:log:*:*:project/{project-name}"
                ],
                "Effect":"Allow"
            }
        ]
    }

    模糊匹配授权

    例如源Project名称为log-project-dev-a、log-project-dev-b、log-project-dev-c等,源Logstore名称为website_a_log、website_b_log、website_c_log等,则您可以使用模糊匹配授权。在实际场景中,请根据实际情况替换Project名称和Logstore名称。

    {
        "Version":"1",
        "Statement":[
            {
                "Action":[
                    "log:PostProjectQuery"
                ],
                "Resource":[
                    "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log"
                ],
                "Effect":"Allow"
            },
            {
                "Action":[
                    "log:GetProjectQuery",
                    "log:PutProjectQuery",
                    "log:DeleteProjectQuery"
                ],
                "Resource":[
                    "acs:log:*:*:project/log-project-dev-*"
                ],
                "Effect":"Allow"
            }
        ]
    }
  4. 为RAM角色QueryLogstoreRole授予自定义权限策略QueryLogstorePolicy。具体操作,请参见为RAM角色授权。

后续操作

  1. 获取RAM角色标识(ARN),具体操作,请参见查看RAM角色。

  2. 在创建定时SQL任务时,选择执行SQL授权为自定义角色。并输入RAM角色QueryLogstoreRole的标识(ARN)。更多信息,请参见创建定时SQL任务。image

授予自定义RAM角色写目标Logstore的权限

  1. 使用阿里云账号(主账号)或RAM管理员登录目标Logstore所在阿里云的RAM控制台。

  2. 创建一个RAM角色,例如命名为:WriteLogstoreRole。具体操作,请参见创建可信实体为阿里云服务的RAM角色。

    重要
    • 创建RAM角色时,信任主体类型应选择云服务,且信任主体名称应选择日志服务。

    • 请检查角色的信任策略如下,Service内容至少包含"log.aliyuncs.com"。

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "log.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
  3. 创建一个自定义权限策略,例如命名为:WriteLogstorePolicy。该策略具备写入数据到目标Logstore的权限。具体操作,请参见通过脚本编辑模式创建自定义权限策略。

    其中在脚本编辑页签,您可选择使用精确授权或模糊匹配授权脚本替换配置框中的原有内容。

    精确授权

    脚本中的{project-name}和{logstore-name}请根据实际情况替换。

    重要

    权限策略中的Logstore包括了Logstore和MetricStore。当您的操作对象为MetricStore时,如下策略同样适用。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:PostLogStoreLogs",
            "log:PostProjectQuery"
          ],
           "Resource": "acs:log:*:*:project/{project-name}/logstore/{logstore-name}",
          "Effect": "Allow"
        }
      ]
    }

    模糊匹配授权

    例如目标Project名称为log-project-dev-a、log-project-dev-b、log-project-dev-c等,目标Logstore名称为website_a_log_output、website_b_log_output、website_c_log_output等,则您可以使用模糊匹配授权。在实际场景中,请根据实际情况替换Project名称和Logstore名称。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*",
            "log:BatchPost*"
          ],
           "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log_output",
          "Effect": "Allow"
        }
      ]
    }
  4. 为RAM角色WriteLogstoreRole授予自定义权限策略WriteLogstorePolicy。具体操作,请参见为RAM角色授权。

  5. (可选)如果源Logstore和目标Logstore不在同一个阿里云账号,您还需要修改RAM角色WriteLogstoreRole的信任策略。

    1. 在RAM角色列表中,单击RAM角色WriteLogstoreRole。

    2. 在信任策略页签中,单击编辑信任策略。并使用以下脚本替换配置框中的原有内容。

      重要

      请根据实际情况替换{源Logstore所属阿里云账号的ID}。您可以在账号中心查看阿里云账号ID。

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "log.aliyuncs.com",
                "{源Logstore所属阿里云账号的ID}@log.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }

后续操作

  1. 获取RAM角色标识(ARN),具体操作,请参见查看RAM角色。

  2. 在创建定时SQL任务时,选择写目标授权为自定义角色。并输入RAM角色WriteLogstoreRole的标识(ARN)。更多信息,请参见创建定时SQL任务。image

相关文章

授权RAM用户操作定时SQL 2025-04-22 10:56

本文介绍如何为RAM用户授予操作定时SQL的权限。 前提条件 已创建RAM用户。具体操作,请参见创建RAM用户。

使用默认角色创建定时SQL任务 2025-04-22 10:56

日志服务支持使用默认角色AliyunLogETLRole或自定义角色创建定时SQL任务。本文介绍如何创建并使用默认角色AliyunLogETLRole。

使用自定义角色创建定时SQL任务 2025-04-22 10:56

日志服务支持使用默认角色AliyunLogETLRole或自定义角色创建定时SQL任务。本文介绍如何授权自定义RAM角色分析和写入Logstore。 授予自定义RAM角色分析源Logstore的权限

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号