RAM用户默认不支持开通及管理日志转存服务,如果您希望RAM用户可以开通或管理日志转存服务,您需要为RAM用户授权,通过创建自定义权限策略实现精细化的权限管理。

背景信息

  • 访问控制RAM(Resource Access Management)是阿里云提供的一项管理用户身份与资源访问权限的服务。通过RAM您可以创建、管理RAM用户(例如员工、系统或应用程序),并可以控制RAM用户对资源的操作权限。
  • 日志转存服务仅支持主账户或者子账户登录后授权,暂不支持AssumeRole用户(什么是AssumeRole?)方式登录及开通。

适用场景

通过本文的授权策略,您可以为RAM用户授予日志转存服务的所有权限,包含开通、管理、查询、编辑和关闭日志转存服务。
说明 由于日志转存服务的整体接口逻辑较复杂,涉及多个产品的联动授权操作,因此本文涉及的API接口未对外开放调用,建议您通过控制台进行操作。

步骤一:创建自定义权限策略

  1. 登录RAM控制台
  2. 在左侧导航栏,选择权限管理 > 权限策略
  3. 单击创建权限策略
  4. 单击脚本编辑页签,输入权限策略内容。
    图 1. 脚本编辑
    创建自定义策略
    为RAM用户授予日志转存服务的所有权限,包含开通、管理、查询、编辑和关闭日志转存服务。自定义权限策略如下:
    说明 如果您只希望授予RAM用户部分权限,授权时仅添加需要的接口权限即可。
    {
        "Statement": [
            {
                "Action": "ram:CreateServiceLinkedRole",
                "Resource": "acs:ram:*:*:role/*",
                "Effect": "Allow",
                "Condition": {
                    "StringEquals": {
                        "ram:ServiceName": [
                            "logdelivery.cdn.aliyuncs.com"
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": [
                    "cdn:DescribeUserDomains",
                    "cdn:CreateCdnDomainOfflineLogDelivery",
                    "cdn:DescribeCdnOfflineLogDeliveryStatus",
                    "cdn:DescribeCdnOfflineLogDelivery",
                    "cdn:DescribeCdnOfflineLogDeliveryField",
                    "cdn:DescribeCdnOfflineLogDeliveryRegions",
                    "cdn:DisableCdnDomainOfflineLogDelivery",
                    "cdn:DisableCdnOfflineLogDelivery",
                    "cdn:EnableCdnDomainOfflineLogDelivery"
                ],
                "Resource": "acs:cdn:*:*:*"
            }
        ],
        "Version": "1"
    }
    下表为您列出了自定义权限策略中涉及的各API接口的详细信息。
    API是否必须用途说明
    DescribeUserDomains查询所有域名为RAM用户授予该接口权限后,RAM用户可以查询CDN上的所有域名,并且对阿里云账号下的所有域名拥有配置日志转存服务的权限。
    CreateCdnDomainOfflineLogDelivery开通日志转存服务如果您不希望RAM用户拥有开通日志转存服务的权限,请勿授权该接口。
    DescribeCdnOfflineLogDeliveryStatus查询是否已开通日志转存服务RAM用户查询日志转存服务的开通状态和开通日志转存服务,均需要授权该接口权限。
    DescribeCdnOfflineLogDelivery查询日志转存服务的域名相关信息为RAM用户授予该接口权限后,RAM用户可以查询已经开通了日志转存服务的所有域名的信息。
    DescribeCdnOfflineLogDeliveryField查询支持的日志转存字段RAM用户查询和开通日志转存服务过程中均需要具备该接口权限。
    DescribeCdnOfflineLogDeliveryRegions查询日志转存服务支持的地域
    DisableCdnDomainOfflineLogDelivery关闭已开通日志转存服务的域名为RAM用户授予该接口权限后,RAM用户可以关闭已经开通了日志转存服务的全部域名,请谨慎授权。
    EnableCdnDomainOfflineLogDelivery为新域名开通日志转存服务为RAM用户授予该接口权限后,RAM用户可以在日志转存服务中新增域名,为新域名开通日志转存服务,请谨慎授权。
    DisableCdnOfflineLogDelivery关闭日志转存服务为RAM用户授予该接口权限后,RAM用户拥有关闭整个日志转存服务的权限。服务被关闭后需重新开启及配置,请谨慎授权。
  5. 输入权限策略内容,然后单击继续编辑基本信息
    关于权限策略语法结构的详情,请参见权限策略语法和结构
  6. 输入权限策略名称备注
  7. 检查并优化权限策略内容。
    • 基础权限策略优化

      系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:

      • 删除不必要的条件。
      • 删除不必要的数组。
    • 可选:高级权限策略优化

      您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:

      • 拆分不兼容操作的资源或条件。
      • 收缩资源到更小范围。
      • 去重或合并语句。
  8. 单击确定

步骤二:为RAM用户授权

  1. 登录RAM控制台
  2. 创建RAM用户
    说明 如果您已经创建了RAM用户,可跳过该步骤。
  3. 在左侧导航栏,选择身份管理 > 用户
  4. 找到目标RAM用户,单击操作列的添加权限
  5. 添加权限面板,配置授权信息。
    图 2. 添加自定义权限
    添加自定义权限
    配置项说明
    授权范围必须选择为整个云账号,表示对应的权限应用范围为全局权限。不能选择指定资源组
    授权主体系统根据您之前选择的目标RAM用户,已自动填充。
    选择权限选择权限为自定义策略,找到您在步骤一:创建自定义权限策略中创建的权限策略名称,并将其添加到已选择区域框中。
    说明 如果RAM用户需要开通日志转存功能,则还需要授予RAM用户AliyunDLAFullAccess系统策略授权。如果未授权,RAM用户将无法开通日志转存功能。
  6. 单击确定
  7. 单击完成

后续步骤

RAM用户登录阿里云控制台