访问管理 创建角色

这篇档介绍如何通过使用访问管理控制台或 CAM API 两种方式创建角色。创建成功后,角色可以在获得的权限范围内管理主账号下的资源。

相关产品
访问管理 产品页,含版本规格、价格与购买入口。

一、前提条件

已登录访问管理控制台,进入 角色 列表页面。

二、为腾讯云主账号创建角色

1. 在角色列表页面,单击新建角色。

2. 在弹出的选择角色载体窗口,选择腾讯云账户作为角色载体,进入角色信息填写页面。

3. 在输入角色载体信息页面,填写以下信息,单击下一步。

·云账号类型:选择当前主账号或其他主账号。

·账号 ID:填写你允许其扮演角色来访问你腾讯云资源的主账户 ID。

·当前主账号:如果云账号类型选择当前主账号选项,则默认输入为你的主账户 ID。

·其他主账号:如果你允许其他主账号跨服务访问你的资源,请在云账号类型选择其他主账号选项,并填写该账号 ID。其他主账号支持指定细粒度身份:所有身份/CAM 子用户/CAM 角色,主体身份默认选择所有身份,你也可以按需设置:

注意:说明:

注意:如需添加多个子用户/角色身份,可创建角色后,修改角色添加其他子用户/角色,具体请参见 修改角色。

·所有身份:支持其他主账号下所有身份扮演该角色。

·CAM 子用户:支持指定具体子用户 UIN。

·CAM 角色:支持指定具体角色 ID。

·控制台访问:使用腾讯云主账号为角色载体创建角色时,可编辑是否允许当前角色访问控制台权限。

·外部 ID:若你要创建的角色要分配给第三方外部平台使用,或账号及角色信息较容易被其他用户获取到,建议你开启外部 ID 校验。开启后需输入外部 ID。

4. 在配置角色策略步骤,勾选你想要给当前创建的角色赋予的策略,单击下一步。

5. 在配置角色标签步骤(可选),输入角色的标签键和标签值,单击下一步。

6. 在审阅步骤,输入你的角色名称,审阅角色载体及策略信息无误后,单击完成,即可完成自定义角色创建。

注意:如果你想为其他腾讯云子账号授予角色,请参见 为子账号赋予扮演角色策略。

三、为腾讯云产品服务创建角色

1. 在 角色 页面,单击新建角色。

2. 在弹出的选择角色载体窗口,选择腾讯云产品服务作为角色载体,进入新建自定义角色页面。

注意:说明:

3. 在输入角色载体信息步骤,勾选你需要的服务作为角色载体并按需勾选可选择的使用案例,单击下一步。

4. 在配置角色策略步骤,勾选你想要给当前角色添加的策略为角色配置策略,单击下一步。若无匹配的策略,你可以通过策略生成器创建自定义策略后再进行操作。

5. 在配置角色标签步骤(可选),输入角色的标签键和标签值,单击下一步。

6. 在审阅步骤,输入你的角色名称,审阅你即将创建角色的相关信息无误后,单击完成后即完成自定义角色创建。

四、为身份提供商创建角色

1. 在 角色 页面,单击新建角色。

2. 在弹出的选择角色载体窗口,选择身份提供商作为角色载体,进入新建自定义角色页面。

注意:说明:

注意:身份提供商即表示你已成功创建的身份提供商,从中选择本次为哪个身份提供商创建角色。

3. 在新建自定义角色页面,选择身份提供商类型和具体的身份提供商,并根据需要配置使用条件,单击下一步。

·身份提供商类型:支持 SAML 和 OIDC。

·选择身份提供商:选择本次为哪个身份提供商创建角色。

·控制台访问(可选):使用身份提供商为角色载体创建角色时,若角色类型为 SAML,则可以选择是否允许其登录控制台;若角色类型为 OIDC,则不允许访问控制台。具体请参见 SSO 概览。

·使用条件(可选):管理身份提供商使用该角色的条件。具体可参见 使用条件。

4. 在配置角色策略步骤,勾选你想要给当前角色添加的策略,为角色完成权限配置,单击下一步。

5. 在配置角色标签步骤(可选),输入角色的标签键和标签值,单击下一步。

6. 在审阅步骤,输入你自定义的角色名称,审阅你即将创建角色的相关信息无误后,单击完成后即完成自定义角色创建。

五、为腾讯云账号创建角色

腾讯云支持你使用 CAM API 进行新建角色,我们以一个典型案例让你轻松了解如何使用 API 来创建角色。

假设如下场景,公司 A 有一个运维工程师的职位,并且希望将该职位外包给公司 B,该职位需要操作公司 A 广州地域所有云服务器资源。

公司 A 企业账号 CompanyExampleA(ownerUin 为 12345),创建一个角色并将角色载体设置为公司 B 的企业账号 CompanyExampleB(ownerUin 为 67890)。

基础授权

1. 公司 A 企业账号 CompanyExampleA(ownerUin 为 12345) 调用 CreateRole 接口创建一个 roleName 为 DevOpsRole 的角色,policyDocument(角色信任策略)参数设为:

{ "version": "2.0", "statement": [ { "action": "name/sts:AssumeRole", "effect": "allow", "principal": { "qcs": ["qcs::cam::uin/67890:root"] } }]}

2. 公司 A 企业账号 CompanyExampleA(ownerUin 为 12345) 需要为刚才创建的角色附加权限。

3. 公司 A 企业账号 CompanyExampleA(ownerUin 为 12345) 创建策略 DevOpsPolicy,策略语法如下:

{ "version": "2.0", "statement": [ { "effect": "allow", "action": "cvm:*", "resource": "qcs::cvm:ap-guangzhou::*" }]}

4. 公司 A 企业账号 CompanyExampleA(ownerUin 为 12345)调用 AttachRolePolicy 将 step1 中创建的策略绑定到角色 DevOpsRole,入参 policyName=DevOpsPolicy,roleName=DevOpsRole。

经过上面的步骤,公司 A 企业账号 CompanyExampleA(ownerUin 为 12345)完成了角色的创建和授权。

更细粒度授权

如需更细粒度授权,希望将该职位外包给公司 B 主账号下的子用户 B1和角色 B2,不允许 B 下的其他身份扮演,可参考以下内容:

公司 A 企业账号 CompanyExampleA(ownerUin 为 12345) 调用 CreateRole 接口创建一个 roleName 为 DevOpsRole 的角色,policyDocument(角色信任策略)参数设为:

{ "version": "2.0", "statement": [ { "action": "name/sts:AssumeRole", "effect": "allow", "principal": { "qcs": [ "qcs::cam::uin/67890:root" ] }, "condition": { "string_equal": { "qcs:assume_principal_arn": [ "qcs::cam::uin/67890:uin/123456789", "qcs::cam::uin/67890:role/987654321" ] } } } ]}

六、为身份提供商创建角色

在为身份提供商创建角色前,你需要在 CAM 中创建 SAML 身份提供商。关于创建 SAML 身份提供商,请参见 创建 SAML 身份提供商。

1. 为即将创建的角色准备信任策略。

注意:信任策略各字段规定如下:

角色信任策略示例如下:

{ "version": "2.0", "statement": [ { "action": "name/sts:AssumeRoleWithSAML", "effect": "allow", "principal": { "federated": [ "qcs::cam::uin/10001:saml-provider/idp_name" ] }, "condition": { "string_equal": { "saml:aud": "https://cloud.tencent.com/login/saml" } } } ]}

2. 为即将创建的角色准备权限策略。关于权限策略请参见 策略。

3. 调用 cam:CreateRole 接口创建身份提供商角色。

七、使用条件

SAML 目前支持的条件如下:

条件键 含义 是否必填 说明
saml:aud 接收方 选填 SAML 断言提交到的终端节点 URL,此键的值来自断言中的 SAML Recipient 字段,而不是 Audience 字段。
saml:iss 发送方 选填 以 URN 表示,此键的值来自断言中的 SAML Issuer 字段。
saml:sub 外部账号 ID 选填 这是该陈述的主题,其中包含唯一标识组织中某个用户的值。 此键来自断言中 SAML NameID 字段。
saml:sub_type 外部用户类型 选填 此键来自断言中 SAML NameID 的 Format 属性。

OIDC 目前支持的条件如下:

条件键 含义 是否必填 说明
oidc:iss OIDC 颁发者(Issuer) 必填 该限定条件必须使用 string_equal,条件值只能是你在 OIDC 身份提供商中填写的身份提供商 URL。用来扮演角色的 OIDC 令牌中的 iss 字段值必须满足该限制条件要求,角色才允许被扮演。
oidc:aud OIDC 受众(Audience) 必填 该限定条件必须使用 string_equal,条件值只能使用在 OIDC 身份提供商中配置的一个或多个客户端 ID。用来扮演角色的 OIDC 令牌中的 aud 字段值必须满足该限制条件要求,角色才允许被扮演。
oidc:sub OIDC 主体(Subject) 选填 该限定条件可以使用任何 string 类的条件操作类型,且条件值最多可以设置10个 OIDC 主体。用来扮演角色的 OIDC 令牌中的 sub 字段值必须满足该限制条件要求时,角色才允许被扮演。
赞 (0)
上一篇 4天前
下一篇 4天前