多用户访问控制
所有文档
menu

内容分发网络 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的域名。

相关文档

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

上一篇
资源账单
下一篇
云监控