日志服务数据加工:源与目标访问秘钥配置-阿里云开发者社区

开发者社区> 阿里云存储服务> 正文

日志服务数据加工:源与目标访问秘钥配置

简介: 日志服务数据加工上线,介绍了配置数据数据加工时从源logstore到目标logstore进行分发的权限配置细节与样例

作者:唐恺

日志服务的数据加工功能,在任务运行过程中重复如下动作:

  • 读取源LogStore数据
  • 对源数据做一系列加工得到结果数据
  • 将结果数据写到目标LogStore

如上第一步和第三步涉及对LogStore的访问权限:

  • 您可以使用主账号AccessKey,不需要额外配置权限,过程简单,这里不做介绍
  • 为了账号安全,强烈建议使用子账号配置细粒度权限,下文做详述

请登录RAM控制台进行子账号及权限配置。

  1. 创建读源LogStore子账号

源Project所属主账号操作:

image

保存子账号的AccessKey ID/Secret备用:

image

  1. 设置源LogStore读权限

源Project所属主账号操作:

image

  • 举例一:精确授权

源:Project(log-project-prod), LogStore(access_log)

策略内容:

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:ListShards",
        "log:GetCursorOrData",
        "log:GetConsumerGroupCheckPoint",
        "log:UpdateConsumerGroup",
        "log:ConsumerGroupHeartBeat",
        "log:ConsumerGroupUpdateCheckPoint",
        "log:ListConsumerGroup",
        "log:CreateConsumerGroup"
      ],
      "Resource": [
        "acs:log:*:*:project/log-project-prod/logstore/access_log",
        "acs:log:*:*:project/log-project-prod/logstore/access_log/*"
      ],
      "Effect": "Allow"
    }
  ]
}
  • 举例二:模糊匹配授权

源:Project(log-project-dev-a、log-project-dev-b、log-project-dev-c等),LogStore(app_a_log、app_b_log、app_c_log等)

策略内容:

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:ListShards",
        "log:GetCursorOrData",
        "log:GetConsumerGroupCheckPoint",
        "log:UpdateConsumerGroup",
        "log:ConsumerGroupHeartBeat",
        "log:ConsumerGroupUpdateCheckPoint",
        "log:ListConsumerGroup",
        "log:CreateConsumerGroup"
      ],
      "Resource": [
        "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log",
        "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log/*"
      ],
      "Effect": "Allow"
    }
  ]
}

更多授权场景请参考文档

  1. 将读源权限应用到读源子账号

源Project所属主账号操作:

image

image

  1. 创建写目标LogStore子账号

目标Project所属主账号操作,方式同步骤1。

保存子账号的AccessKey ID/Secret备用。

  1. 配置目标LogStore写权限

目标Project所属主账号操作,方式同步骤2。

  • 举例一:精确授权

目标:Project(log-project-prod), LogStore(access_log_output)

策略内容:

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:Post*"
      ],
       "Resource": "acs:log:*:*:project/log-project-prod/logstore/access_log_output",
      "Effect": "Allow"
    }
  ]
}
  • 举例二:模糊匹配授权

目标:Project(log-project-dev-a、log-project-dev-b、log-project-dev-c等),LogStore(app_a_log_output、app_b_log_output、app_c_log_output等)

策略内容:

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:Post*"
      ],
       "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output",
      "Effect": "Allow"
    }
  ]
}

更多授权场景请参考文档

  1. 将写目标权限应用到写目标子账号

目标Project所属主账号操作,方式同步骤4。

  1. 在数据加工中使用子账号AccessKey

image

源Project所属账号登录日志服务控制台操作,步骤1子账号AccessKey ID/Secret填入上方框内,步骤4子账号AccessKey ID/Secret填入下方框内。

进一步参考

欢迎扫码加入官方钉钉群获得实时更新与阿里云工程师的及时直接的支持:
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

官方博客
链接