多用户访问控制
所有文档

          内容分发网络 CDN

          多用户访问控制

          概述

          多用户访问控制,主要用于帮助用户管理云账户下资源的访问权限,适用于企业内的不同角色,可以对不同的工作人员赋予使用产品的不同权限,当您的企业存在多用户协同操作资源时,推荐您使用多用户访问控制。

          使用场景

          • 中大型企业客户:对公司内多个员工授权管理;
          • 偏技术型vendor或SAAS的平台商:对代理客户进行资源和权限管理;
          • 中小开发者或小企业:添加项目成员或协作者,进行资源管理。

          创建用户

          1. 主账号用户登录后在控制台选择“多用户访问控制”进入用户管理页面。

          2. 在左侧导航栏点击“用户管理”,在“子用户管理列表”页,点击“新建用户”。
          3. 在弹出的“新建用户”对话框中,完成填写“用户名”和确认,返回“子用户管理列表”区可以查看到刚刚创建的子用户。

          配置策略

          CDN支持系统策略和用户自定义策略两种,分别实现CDN的产品级权限和域名级权限控制。

          • 系统策略:百度智能云系统为管理资源而预定义的权限集,这类策略可直接为子用户授权,用户只能使用而不能修改。
          • 自定义策略:由用户自己创建,更细化的管理资源的权限集,可以针对单个域名配置权限,更加灵活的满足账户对不同用户的差异化权限管理。

          系统策略

          CDN有CdnReadAccessPolicy、CdnOperateAccessPolicy和CdnFullAccessPolicy三种系统策略,三种系统策略的权限范围说明如下:

          策略名称 说明 备注
          CdnReadAccessPolicy 只读访问百度智能云内容分发网络(CDN)的权限 CDN 只读策略:
          - 查看CDN域名
          - 查看域名配置
          - 查看缓存刷新的操作记录
          - 统计分析中数据(除了“WAF防护”“服务月报”功能)
          CdnOperateAccessPolicy 运维操作百度智能云内容分发网络(CDN)的权限,运维权限包含只读权限。 CDN运维策略:
          - CDN修改域名配置
          - 刷新缓存
          - 日志转储和下载
          - IP检测等操作
          CdnFullAccessPolicy 管理百度智能云内容分发网络(CDN)的权限,管理权限包含只读和运维权限。 CDN管理策略:
          - CDN所有操作权限
          - 计费变更
          - 添加域名
          - 停止域名加速
          - 删除域名

          注:子账户所支持功能的操作步骤均与对应主账户功能的操作步骤相同。

          自定义策略

          在策略管理 -> 自定义策略中,你可以为你的账户定义业务相关的自定义策略,以实现细粒度地权限管控。

          您也可以基于标签为相同类型的资源(加了相同标签的资源)快速构建一条自定义策略,常适用于解决大量不同产品或服务组合授权的问题。

          自定义策略的添加有"按策略生成器创建"、"按标签创建"和"按策略语法创建"三种方式,用户可以根据具体的权限设置修改策略内容。具体配置方法可以参见创建自定义策略

          API使用鉴权

          子用户使用API有更为细粒度的鉴权控制,需要创建策略语法分配给子用户。以下列出的为需要鉴权的API。下面有策略语法示例(domain/* 表示所有域名,domain/{domainName} 表示某个域名)。

          接口名称 API 策略语法 permission 策略语法 resource
          域名列表查询 GET /v2/domain QueryDomainList domain/*
          查询用户名下所有域名 GET /v2/user/domains QueryDomainList domain/*
          创建加速域名 PUT /v2/domain/{domain} CreateDomain domain/*
          启用加速域名 POST /v2/domain/{domain}?enable StartDomain domain/{domainName}
          停用加速域名 POST /v2/domain/{domain}?disable StopDomain domain/{domainName}
          删除加速域名 DELETE /v2/domain/{domain} DeleteDomain domain/{domainName}
          查询加速域名详情 GET /v2/domain/{domain}/config QueryDomainConfig domain/{domainName}
          域名配置设置变更 PUT /v2/domain/{domain}/config?xxx UpdateDomain domain/{domainName}
          增加&修改域名证书 PUT /v2/{domain}/certificates UpsertDomainCerts domain/{domainName}
          查询域名证书 GET /v2/{domain}/certificates QueryDomainCerts domain/{domainName}
          删除域名证书 DELETE /v2/{domain}/certificates DeleteDomainCerts domain/{domainName}
          统计接口 POST /v2/stat/query QueryStat domain/*
          刷新缓存 POST /v2/cache/purge PurgeCache domain/*
          预加载缓存 POST /v2/cache/prefetch PrefetchCache domain/*
          查询刷新状态 GET /v2/cache/purge QueryCacheTasks domain/*
          查询预加载状态 GET /v2/cache/prefetch QueryCacheTasks domain/*
          查询操作记录 GET /v2/cache/records QueryCacheTasks domain/*
          查询限额 GET /v2/cache/quota QueryQuota domain/*
          配置开关动态加速服务 PUT /v2/dsa/ OpenDSA domain/*
          查询动态加速域名列表 GET /v2/dsa/domain QueryDomainList domain/*
          配置域名动态加速规则 PUT /v2/domain/{domain}/config?dsa UpdateDomain domain/{domainName}
          获取单个域名日志 GET /v2/log/{domain}/log QueryDomainLogs domain/{domainName}
          获取多个域名日志 POST /v2/log/list QueryDomainsLogs domain/*
          回源IP地址段查询 GET /v2/nodes/list QueryNodeList domain/*

          API授权策略语法举例

          1. 给某子用户授权域名 a.mydomain.com,b.mydomain.com 配置变更
          {
              "accessControlList":[
                  {
                      "service":"bce:cdn",
                      "region":"*",
                      "resource":[
                          "domain/a.mydomain.com",
                          "domain/b.mydomain.com"
                      ],
                      "effect":"Allow",
                      "permission":[
                          "UpdateDomain"
                      ]
                  }
              ]
          }
          1. 给某子用户授权缓存刷新预热
          {
              "accessControlList":[
                  {
                      "service":"bce:cdn",
                      "region":"*",
                      "resource":[
                           "domain/*"
                      ],
                      "effect":"Allow",
                      "permission":[
                          "PrefetchCache",
                          "PurgeCache",
                          "QueryCacheTasks",
                          "QueryQuota"
                      ]
                  }
              ]
          }

          用户授权

          在“用户管理->子用户管理列表页”的对应子用户的“操作”列选择“添加权限”,并为用户选择系统权限或自定义策略进行授权。

          说明:如果在不修改已有策略规则的情况下修改某子用户的权限,只能通过删除已有的策略并添加新的策略来实现,不能取消勾选已经添加过的策略权限。

          子用户登录

          主账号完成对子用户的授权后,可以将链接发送给子用户;子用户可以通过IAM用户登录链接登录主账号的管理控制台,根据被授权的策略对主账户资源进行操作和查看。

          基于标签创建自定义策略的典型应用


          主用户为子用户A授予可添加域名且自动获得该域名的管理权限

          1. 主用户规划标签,比如给用户A规划标签 Key: department/Value: 123,并在标签管理中建立对应标签;
          2. 主用户进入IAM多用户访问控制 -> 策略管理,点击创建策略,选择创建策略的方式为基于标签创建

            image.png

          3. 主用户 填写策略的基本信息,如命名策略为 policy_for_user_A_with_tag123,在权限配置内选择标签 Key: department/Value: 123,选择服务 “内容分发网络 CDN”,选择操作“管理权限”,资源范围默认展示拥有该标签属性的所有资源,点击完成保存;
          4. 主用户创建子用户A,如UserA,并为UserA授予策略 policy_for_user_A_with_tag123 的权限;
          5. 子用户UserA 登录控制台,进入CDN,选择域名管理 > 新添加域名,如添加域名为“cloud.test.com”, 在添加“标签”处,默认绑定标签 Key: department/Value: 123,点击完成即完成域名创建,并且子用户UserA 拥有了管理域名 cloud.test.com 权限,且子用户UserA 无其他域名任何权限,如需给子用户UserA 其他域名的访问权限,需要主用户在IAM中额外授权。

          主用户为子用户A授予某一类域名的管理权限,且授予另一类域名的查看权限

          1. 主用户规划标签,比如给用户A规划标签 Key: department/Value: 123,并在标签管理中建立对应标签;
          2. 主用户进入IAM多用户访问控制 -> 策略管理,点击创建策略,选择创建策略的方式为基于标签创建

            image.png

          3. 主用户 填写策略的基本信息,如命名策略为 policy_for_user_A_with_tag123,在权限配置内选择标签 Key: department/Value: 123,选择服务 “内容分发网络 CDN”,选择操作“管理权限”,资源范围默认展示拥有该标签属性的所有资源,点击完成保存;
          4. 主用户 创建策略 ReadOnlyPolicy_with_tag456, 在权限配置内选择标签 Key: department/Value: 456,选择服务 “内容分发网络 CDN”,选择操作“只读权限”,资源范围默认展示拥有该标签属性的所有资源,点击完成保存;
          5. 主用户 创建子用户A,如UserA,并为UserA授予策略 policy_for_user_A_with_tag123 和 ReadOnlyPolicy_with_tag456的权限;
          6. 子用户UserA 在域名管理列表中,即可看到绑定了标签 Key:department/value:123的域名,也可以看到绑定了标签 Key:department/value:456的域名,但只能修改绑定了标签Key:department/value:123的域名,不能修改绑定了标签 Key:department/value:456的域名。

          相关文档

          其他操作请参考多用户访问控制

          上一篇
          资源账单
          下一篇
          API参考