创建角色

最近更新时间:2018-11-08 10:56:48

创建角色有两种方式:可以使用访问管理控制台或 CAM API。创建角色的具体步骤根据您是为腾讯云账号、腾讯云产品服务还是身份提供商创建角色而稍有不同。

通过控制台创建

为腾讯云主账号创建角色

  1. 登录访问管理(CAM)控制台 ,进入 角色管理 页面。
  2. 单击【新建角色】,进行【选择角色载体】,选择【腾讯云账号】作为角色载体。
  3. 在【账户 ID】框中键入您允许其扮演角色来访问您腾讯云资源的主账户 ID,默认键入为您的主账户 ID。
    如果您想为其他腾讯云子账号授予角色,请参阅 给子用户赋予角色扮演策略
  4. 在策略列表内勾选您想要给当前创建角色赋予的策略为角色完成权限配置。
  5. 输入您的角色名称,审阅您即将创建角色的相关信息,单击【完成】后即完成自定义角色创建。

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

  1. 登录访问管理(CAM)控制台 ,进入 角色管理 页面。
  2. 单击【新建角色】,进行【选择角色载体】,选择【腾讯云产品服务】作为角色载体。
    查询腾讯云产品服务是否支持使用服务角色请参阅 支持使用 CAM 的云服务
  3. 在已支持角色功能的服务产品列表中勾选您需要的服务作为角色载体。
  4. 在策略列表内勾选您想要给当前角色添加的策略为角色配置策略。
  5. 输入您的角色名称,审阅您即将创建角色的相关信息,单击【完成】后即完成自定义角色创建。

为身份提供商创建角色

  1. 登录访问管理(CAM)控制台 ,进入 角色管理 页面。
  2. 单击【新建角色】,进行【选择角色载体】,选择【身份提供商】作为角色载体。
    【身份提供商】即表示您已成功创建的身份提供商,从中选择本次为哪个身份提供商创建角色。
  3. (可选)您可以在【控制台访问】管理是否允许角色登录腾讯云管理控制台,角色均默认可通过编程访问腾讯云。
  4. (可选)您可以在【使用条件】管理身份提供商使用该角色的条件。

    目前支持的条件为:

    • saml:aud:接收方。SAML 断言提交到的终端节点 URL,此键的值来自断言中的 SAML Recipient 字段,而不是 Audience 字段。
    • saml:iss:发送方。以 URN 表示,此键的值来自断言中的 SAML Issuer 字段。
    • saml:sub:外部账号 ID。这是该陈述的主题,其中包含唯一标识组织中某个用户的值。 此键来自断言中 SAML NameID 字段。
    • saml:sub_type:外部用户类型。此键来自断言中 SMAL NameID 的 Format 属性。
  5. 在策略列表内,勾选您想要给当前角色添加的策略,为角色完成权限配置。
  6. 输入您自定义的角色名称,您可以在【备注】键入对此角色的备忘信息。
  7. 审阅您即将创建角色的相关信息,单击【完成】,即完成自定义角色创建。

通过 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) 需要为刚才创建的角色附加权限。

    1. 公司 A 企业账号 CompanyExampleA(ownerUin 为 12345) 创建策略 DevOpsPolicy,策略语法如下:
      {
      "version": "2.0",
      "statement": [{
        "effect": "allow",
        "action": "cvm:*",
        "resource": "qcs::cvm:ap-guangzhou::*"
      }]
      }
    2. 公司 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 接口创建身份提供商角色。