操作场景
本文档介绍如何通过使用访问管理控制台或 CAM API 两种方式创建角色。创建成功后,角色可以在获得的权限范围内管理主账号下的资源。
前提条件
操作步骤
通过控制台创建
为腾讯云主账号创建角色
1. 在角色列表页面,单击新建角色。
2. 在弹出的选择角色载体窗口,选择腾讯云账户作为角色载体,进入角色信息填写页面。
3. 在输入角色载体信息页面,填写以下信息,单击下一步。
云账号类型:选择“当前主账号”或“其他主账号”。
账号 ID:填写您允许其扮演角色来访问您腾讯云资源的主账户 ID,默认键入为您的主账户 ID。
控制台访问:勾选后则允许当前角色访问控制台。
外部 ID:若您要创建的角色要分配给第三方外部平台使用,或账号及角色信息较容易被其他用户获取到,建议您开启外部 ID 校验。开启后需输入外部 ID。
4. 在策略列表内,勾选您想要给当前创建角色赋予的策略,单击下一步。
5. 标记角色的标签键和标签值,单击下一步。
6. 输入您的角色名称,审阅角色载体及策略信息无误后,单击完成后即完成自定义角色创建。
为腾讯云产品服务创建角色
1. 在角色列表页面,单击新建角色。
2. 在弹出的选择角色载体窗口,选择腾讯云产品服务作为角色载体,进入角色信息填写页面。
查询腾讯云产品服务是否支持使用服务角色请参阅 支持 CAM 的产品。 3. 在已支持角色功能的服务产品列表中,勾选您需要的服务作为角色载体,单击下一步。
4. 在策略列表内,勾选您想要给当前角色添加的策略为角色配置策略,单击下一步。
5. 标记角色的标签键和标签值,单击下一步。
6. 输入您的角色名称,审阅您即将创建角色的相关信息无误后,单击完成后即完成自定义角色创建。
为身份提供商创建角色
1. 在角色列表页面,单击新建角色。
2. 在弹出的选择角色载体窗口,选择身份提供商作为角色载体,进入角色信息填写页面。
身份提供商即表示您已成功创建的身份提供商,从中选择本次为哪个身份提供商创建角色。
3. 选择身份提供商类型和具体的身份提供商,并根据需要配置使用条件,单击下一步。
身份提供商类型:支持 SAML 和 OIDC。
选择身份提供商:选择本次为哪个身份提供商创建角色。
控制台访问(可选):管理是否允许角色登录腾讯云管理控制台,角色均默认可通过编程访问腾讯云。
使用条件(可选):管理身份提供商使用该角色的条件。具体可参考 使用条件。 4. 在策略列表内,勾选您想要给当前角色添加的策略,为角色完成权限配置,单击下一步。
5. 标记角色的标签键和标签值,单击下一步。
6. 输入您自定义的角色名称,审阅您即将创建角色的相关信息无误后,单击完成后即完成自定义角色创建。
通过 API 创建
为腾讯云账号创建角色
腾讯云支持您使用 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)完成了角色的创建和授权。
为身份提供商创建角色
在为身份提供商创建角色前,您需要在 CAM 中创建 SAML 身份提供商。关于创建 SAML 身份提供商,请参阅 创建 SAML 身份提供商。 1. 为即将创建的角色准备信任策略。
说明:
信任策略各字段规定如下:
action 字段:定义允许 SAML 联合身份使用当前角色的接口。使用 sts:AssumeRoleWithSAML
。
principal 字段:定义允许使用当前角色的身份提供商。使用 {"federated": [ IdPArn ]}
字符串,例如qcs::cam::uin/10001:saml-provider/idp_name。
condition 字段:定义允许使用当前角色的条件。默认使用 {"StringEquals": {"SAML:aud": "https://cloud.tencent.com/login/saml"}}
。 此条件限制为仅 SAML 联合终端节点为腾讯云的身份提供商才被允许使用此角色。
角色信任策略示例如下:
{
"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:aud | 接收方 | 选填 | SAML 断言提交到的终端节点 URL,此键的值来自断言中的 SAML Recipient 字段,而不是 Audience 字段。 |
saml:iss | 发送方 | 选填 | 以 URN 表示,此键的值来自断言中的 SAML Issuer 字段。 |
saml:sub | 外部账号 ID | 选填 | 这是该陈述的主题,其中包含唯一标识组织中某个用户的值。 此键来自断言中 SAML NameID 字段。 |
saml:sub_type | 外部用户类型 | 选填 | 此键来自断言中 SMAL 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 字段值必须满足该限制条件要求时,角色才允许被扮演。 |
本页内容是否解决了您的问题?