场景说明
有些客户在开通天翼云云点播产品后,出于分工管理或者多部门共用的需要,希望可以开通多个子用户共同使用云点播。其中的角色分工可能包含管理员、各项目的运营方等。其中各角色的主要职能如下:
- 管理员:拥有全局权力。
- 运营方:负责配置转码工作流,上传媒资内容,并获取播放链接地址发布在点播网站上。但运营方只能操作自己存储桶的文件,配置自己的专属工作流,不能修改其他运营方的转码配置。
多人开发如果使用同样的权限和账号密码,很容易造成误删、误操作的动作影响整体的业务安全。同时多人分享账号密码也容易造成密码泄露。因此需要有一套主子账号机制,给每个角色分配不同的权限,以实现各自职能并保障安全。
前提条件
- 已经在天翼云完成实名注册认证,获得了天翼云账号。
- 已经开通天翼云云点播和媒体存储产品。
- 当前配置人员具备主账号权限。
- 已通过工单联系产品开通托管服务功能。
总体实施步骤
总体实施步骤一共分为三步:
- 创建资源。
- 创建子用户。
- 为子用户赋予相对应的权限。
创建资源
- 首先,具备主账号权限的管理员(以下简称“管理员”)需要首先登陆云点播控制台。新建一个点播区域。
- 进入媒体存储(原 对象存储融合版)控制台,在【对象存储】-【Bucket列表】页面,选择与云点播点播区域相同的资源池,然后点击【新建Bucket】,新建一个存储桶,例如名称为“userbucket”。
- 进入云点播控制台,选择左侧导航栏的【托管模式】-【桶授权】可打开桶授权页面。点击【新增桶授权】即可将刚才在媒体存储(原 对象存储融合版)建立的存储桶Bucket加入到桶授权列表。
创建子用户
-
打开天翼云统一身份认证服务,使用您在天翼云官网注册的登陆凭证作为主账号进行登陆。如下图所示:
-
在进入CTIAM控制台后,在左侧的导航页内找到【用户】页。点击【创建用户】可创建一个新的子用户。如下图所示:
-
在创建用户的页面,您可根据界面提示设置子用户的名称、联系方式等。需要注意的是:(1)如您需要后续授权该子用户使用云点播控制台,则应将【控制台访问】的选项选中。(2)子用户可使用手机号码、邮箱(如有)作为登陆凭证,请确保这两项凭证在当前天翼云租户下的唯一性。(3)云点播尚未对接CTIAM的用户组能力,建议在创建新的子用户时,暂不要将该子用户纳入用户组,以免造成后续不可预知的问题。相关要点如下图所示:
-
至此,您已在CTIAM下创建了一个新的子用户。关于创建子用户的更多详细操作可以查看教程创建IAM用户。
为子用户授权
- 在进入CTIAM控制台后,在左侧的导航页内找到【用户】页。选择需要授权的子用户(注意,该用户不要归属于任意用户组)。
- 在【操作】栏点击【查看】,可进入子用户授权配置页面。在此页点击【访问方式】,确认该子用户的【管理控制台访问】选项已经勾选上。然后在【权限管理】标签页,找到【新增权限】按钮。
- 在【新增授权】的页面,利用组合搜索框依次选择【系统策略】【全局】【云点播】,点击搜索按钮,可以找到一条名为【云点播-产品侧授权】的系统全局策略。如下图所示:
- 勾选当前策略,并点击【下一步】,在【设置最小授权范围】这一页无需做任何配置,直接点击【确定】,完成本次权限配置。至此,当前子用户具备了使用云点播产品控制台的权限。
- 点击【新增子用户授权】,在【工作区】选择上一步在CDN+IAM控制台创建的工作区。在【所有子用户】列表栏,可以看到该工作区下的所有未授权子用户。勾选需要授权的子用户列表,选择【>】按钮,点击【保存】按钮。即完成子用户授权操作。
- 以此类推,再为当前子用户赋予【媒体存储-产品侧授权】的系统全局权限。
- 由于我们希望子用户只对特定的存储桶有操作权限,这里我们使用媒体存储(原 对象存储融合版)的Policy权限,为这个子用户配置约束策略。在媒体存储(原 对象存储融合版)控制台【对象存储】-【策略管理】页面,新增一条策略,假设命名为“BucketOnly”。【策略名称】和【策略描述】可以自定义,策略内容示例如下:
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "Stmt1689671285654",
"Action": ["s3:ListAllMyBuckets"],
"Effect": "Allow",
"Resource": "*"
}, {
"Sid": "Stmt1689671283754",
"Action": ["s3:AbortMultipartUpload", "s3:GetBucketAcl", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::[BUCKETNAME]"]
},
{
"Sid": "Stmt1689670987754",
"Action": ["*"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::[BUCKETNAME]/*"]
}
]
}
这里需要根据用户想要限制的桶名,把[BUCKETNAME]部分替换掉(包含中括号[])。例如上文我们创建的的桶名称为userbucket,则替换后的Policy为:
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "Stmt1689671285654",
"Action": ["s3:ListAllMyBuckets"],
"Effect": "Allow",
"Resource": "*"
}, {
"Sid": "Stmt1689671283754",
"Action": ["s3:AbortMultipartUpload", "s3:GetBucketAcl", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::userbucket"]
},
{
"Sid": "Stmt1689670987754",
"Action": ["*"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::userbucket/*"]
}
]
}
- 登陆媒体存储(原 对象存储融合版)控制台,进入【对象存储】-【子用户授权】页面,把上一步写好的“BucketOnly”的策略附加到该子用户上面。如果存在多个存储区域,需要仔细确认。点击确认后,该子用户的授权就完成了。如果后续需要更改权限,在该界面点击【修改策略内容】,保存后在【授权管理】标签卡点击【更新授权】即可(重要!)。
验证子用户权限
- 使用上文为子用户创建的【登陆凭证】,分别访问媒体存储(原 对象存储融合版)控制台和云点播控制台。
- 在登陆云点播控制台后,子用户可以在【托管模式】-【工作流设置】界面,自行新建工作流。需要注意的是,子用户需要事先从主账号管理员处获得存储桶的名称,并填入工作流配置界面。同时需认真检查工作流的配置是否正常,一旦工作流创建成功将无权限删除(管理员可以删除)。
- 在完成上一步的工作流配置并启用后,在登陆媒体存储(原 对象存储融合版)控制台后,子用户可以通过控制台往授权的工作流输入路径上传文件触发转码。如需要通过SDK触发,可以在CTIAM控制台获得子用户的专属AK/SK。