创建委托指导
背景
若您的企业组织存在多个租户账号,您可以使用COC的跨账号能力在创建CES告警规则、执行作业等场景通过一个账号完成多账号多区域的运维任务配置、下发,在此过程中,您需要创建和使用相应的委托,在本章节中,我们将以跨账号创建CES告警规则场景为例,详述如何创建相关委托。
在COC服务快速配置中心-云服务配置板块使用跨账号配置功能,如下图示例。
委托功能说明
跨账号功能的使用需要两个委托:组织管理员委托和执行账号委托。
组织管理员委托:组织管理员或组织内COC服务委托管理员(以下统称管理员)信任COC服务的委托。委托用于支持COC服务切换到管理员身份,即保证COC服务可以通过该委托获取到管理员租户的临时安全凭证;
执行账号委托:执行账号(组织中的成员租户)信任COC服务和管理员的委托,必须是IAM 5.0版本的信任委托。委托用于支持管理员切换到执行账号身份进行作业工单创建以及跨账号实际目的操作,以跨账号创建CES告警规则为例,跨账号实际目的操作有三个:创建SMN主题、SMN主题添加订阅和创建CES告警规则,所以实际创建的执行账号委托除了需要支持管理员能够切换到执行账号身份进行作业工单创建外,还需要支持以上三个操作。
执行账号委托授权策略内容
{ "Version": "5.0", "Statement": [ { "Effect": "Allow", "Action": [ "ces:alarms:create" ] }, { "Effect": "Allow", "Action": [ "smn:topic:create", "smn:topic:subscribe" ] }, { "Effect": "Allow", "Action": [ "sts:agencies:assume", "sts::setSourceIdentity", "sts::tagSession" ] }, { "Effect": "Allow", "Action": [ "coc:instance:executeDocument", "coc:job:get", "coc:job:list" ] }, { "Effect": "Allow", "Action": [ "iam:projects:list" ] } ] }
1. 委托需要支持的操作就代表了委托的授权。
2. 当前创建CES告警规则中包含了告警通知功能,通知功能受限于周边服务对外开放能力,故当前仅开放了主题订阅一种通知方式;
3. 在配置CES告警规则参数时,通知主题是依托于登录的管理员租户(组织管理员或组织COC服务委托管理员)拥有的通知主题进行选择的,服务不支持提前查询执行账号(目标跨账号租户)拥有的通知主题,故在执行快速配置工单时,服务会为执行账号创建与配置CES告警规则参数时选择的管理员租户的通知主题具有相同订阅方式(订阅方式中welink、feishu、dingding因为订阅方式特殊,不会自动添加到新创建的主题订阅中)相同名称的主题。通知根据通知数量等情形可能存在收费,因此请使用跨账号创建CES告警规则的用户注意,如不需要发送通知功能,可在配置CES告警规则时关闭发送通知功能。
组织管理员委托
- 使用组织管理员租户账号登录IAM-新版控制台;
- 在左侧菜单栏单击“身份策略”,进入“身份策略”列表页,单击右上角“创建自定义身份策略”,为委托创建授权策略;
图3 创建授权策略
- 进入身份策略创建页面,填写“策略名称”;
图4 自定义身份策略名称
- 在“策略内容”中点击“云服务”,搜索“安全令牌服务”,选中后跳转至操作选择区;
图5 选择云服务
- 在操作选择区分别搜索“sts:agencies:assume”、“sts::tagSession”、“sts::setSourceIdentity”三个action,选中,点击页面右下角“确定”,用于切换身份的策略即创建成功。
图6 完成切换身份的身份策略创建
- 在左侧菜单栏单击“委托”,进入“委托”列表页,单击右上角“创建信任委托”;
图7 创建委托
- 进入创建信任委托页面,自定义“委托名称”,信任主体类型选择“云服务”,云服务选择“云运维中心”,最大会话持续时长推荐选择“12小时”;
- 点击页面最下方的“完成”,即完成委托创建,之后点击弹窗中的“立即授权”,进入委托授权页面;
图8 完成信任委托创建
- 在授权列表右上角搜索步骤3-5中创建的策略的名称,选中,点击确定,即完成授权。
图9 委托授权
执行账号委托
- 以组织成员租户(执行账号)身份登录IAM-新版控制台;
- 在左侧菜单栏单击“身份策略”,进入“身份策略”列表页,点击右上角“创建自定义身份策略”,为委托创建授权策略;
图10 创建授权策略
- 进入身份策略创建页面,填写“策略名称”;
图11 自定义身份策略名称
- 在“策略内容”中点击“云服务”,搜索“安全令牌服务”,选中后跳转至操作选择区;
图12 选择云服务1
- 在操作选择区分别搜索“sts:agencies:assume”、“sts::tagSession”、“sts::setSourceIdentity”三个action,选中;
图13 选择相关action1
- 点击“添加权限”,云服务选中“云服务操作中心”(COC);
图14 选择云服务2
- 操作分别搜索选择“coc:instance:executeDocument”、“coc:job:action”、“coc:job:get”、“coc:job:list”四个action,用于授予组织管理员租户跨账号创建快速配置工单的权限;
- 继续点击“添加权限”,云服务选中“统一身份认证服务”(IAM);
- 操作搜索选择“iam:projects:list”,用于授予组织管理员租户跨账号查询成员账号在某个区域的项目ID的权限;
- 继续点击“添加权限”,云服务选中“消息通知服务”(SMN);
- 操作分别搜索选择“smn:topic:create”、“smn:topic:subscribe”两个action,用于授予组织管理员租户跨账号自动创建主题通知,并订阅与管理员主题相同的通知方式的权限;
- 继续点击“添加权限”,云服务选中“云监控服务”(CES);
- 操作搜索选择“ces:alarms:create”,用于授予组织管理员租户跨账号创建CES告警规则的权限,之后点击页面右下角“确定”,完成执行租户委托的身份策略创建;
图15 执行租户委托身份策略创建
- 之后在IAM-新版控制台页面左侧菜单栏单击“委托”,进入“委托”列表,点击页面右上角“创建信任委托”,创建执行账号委托组织管理员权限的委托身份;
- 进入创建信任委托页面,自定义“委托名称”,信任主体类型选择“云服务”,云服务选择“云运维中心”,最大会话持续时长推荐选择“12小时”;
- 点击页面最下方的“完成”,即完成委托创建,之后点击弹窗中的“立即授权”,进入委托授权页面;
图16 创建委托
- 在授权列表右上角搜索步骤3-13中创建的策略的名称,选中,点击确定,即完成授权。
图17 委托授权
- 之后在“委托”列表页找到步骤14-17创建的委托,点击该委托一栏右侧“操作”列中的“编辑”按钮,进入委托编辑页面;
图18 编辑执行租户委托的信任策略1
- 在“信任委托”tab页点击“编辑信任策略”,在Pricipal中添加以下json数据:
"IAM": [ "${目标组织管理员租户的租户ID}" ],
- 点击右下角的“确定”按钮,信任策略编辑完成,继续点击页面右下角的“确定”按钮,执行账户信任COC同时信任组织管理员的委托即创建完成。
图19 编辑执行租户委托的信任策略2
图20 编辑执行租户委托的信任策略3
组织管理员委托和执行账号委托的创建都是基于跨账号的两个租户(委托租户和和被委托租户)在一个组织中这个前提条件。