创建定制角色
每个服务将可在服务上下文中执行的特定操作映射到平台或服务角色。 从IBM Cloud®中的“角色”页面Identity and Access Management(IAM)中的“角色”页面,查看账户中的所有可用角色和特定服务的所有角色,包括映射到每个角色的操作。 您可以从特定服务的所有角色中选取和选择操作,以组合成您选择的定制角色。
许多服务将不同的操作集映射到不同的平台或服务角色。 但是,您可能希望将当前分布在服务的多个角色中的一些操作组合在一起,以使分配符合您的定制用例。 通过定制角色,您可以选取并选择映射到不同角色的操作,以便下次分配对服务的访问权时,不必选择三个不同的角色,例如。
作为唯一的使用方案,您可以创建自己的定制角色来控制访问权管理标记。 可以将用于附加和拆离资源上的访问管理标记的许可权分开。 例如,您可以创建定制角色,用户可以在该角色中将访问权管理标记附加到资源,但这不允许他们从这些资源中除去这些标记,反之亦然。
必需的访问权
任何人都可以在“角色”页面上的帐户中查看可用角色,但要创建,编辑或删除定制角色,必须为您分配角色管理帐户管理服务的特定访问权。
角色 | 操作 |
---|---|
编辑者 | 可以编辑和更新角色显示名称,描述以及映射到该角色的操作。 |
管理员 | 创建,编辑,更新和删除定制角色,并为帐户中的其他用户分配对角色管理服务的访问权 |
在控制台中创建定制角色
您可以创建作用域限定为单个服务的新角色。 这意味着您无法在定制角色中组合两个不同服务的操作,但可以将所需数量的操作组合到单个服务的新角色中。 创建具有所选名称的定制角色后,帐户中可将访问权分配给特定服务的任何人都可以在分配访问权时使用该角色。
只能为支持 IAM 的单个服务创建定制角色。 无法为所有帐户管理服务或所有启用 IAM 的服务的选项创建定制角色。
-
在 IBM Cloud® 控制台中,转至 管理 > 访问权 (IAM),然后选择 角色。
-
单击创建。
-
输入角色的名称。 此名称在帐户中必须唯一。 用户在分配服务访问权时,会在控制台中看到此角色名称。
-
输入角色的标识。 此标识在使用 API 分配访问权时所使用的 CRN 中使用。 角色标识必须以大写字母开头,并且仅使用字母数字字符。
-
可选:输入简明且有用的描述,用于帮助要分配访问权的用户了解此角色分配授予用户的访问级别。 当用户分配服务访问权时,在控制台中也会显示此描述。
-
选择要为其创建角色的服务。
-
查看可用的操作,然后选择 “添加” 以添加新角色所需的所有操作。
您必须至少添加一项服务定义的操作才能成功创建新角色。 如果您不确定服务定义了哪些操作,请查看“类型”列。
-
添加完操作后,点击 “创建”。
如果服务除去了您在定制角色中使用的操作,那么不会更新该定制角色,如果该角色仅包含已除去的操作,那么该定制角色可能不再有效。
如果您计划删除定制角色,因为不再需要该定制角色,那么必须为您分配角色管理服务上的管理员角色。 删除定制角色会自动更新为任何用户,访问组或服务标识分配的访问权,方法是使用该角色将其从任何现有策略中除去。
使用 Terraform 创建定制角色
在使用 Terraform 创建定制角色之前,请确保已完成以下操作:
- 安装 Terraform CLI 并为 Terraform 配置 IBM Cloud 提供程序插件。 有关更多信息,请参阅 Terraform on IBM Cloud®入门 教程。 该插件对用于完成此任务的 IBM Cloud API 进行抽象。
- 创建一个名为
main.tf
的Terraform配置文件。 在此文件中,您使用 HashiCorp 配置语言来定义资源。 有关更多信息,请参阅 Terraform 文档。
请按照以下步骤创建自定义角色:
-
在
main.tf
文件中创建自变量。 以下示例使用ibm_iam_custom_role
资源创建定制角色,其中name
是用于标识定制角色的唯一名称。 您必须至少添加一个服务定义的action
才能成功创建新角色。resource "ibm_iam_custom_role" "customrole" { name = "Role1" display_name = "Role1" description = "This is a custom role" service = "kms" actions = ["kms.secrets.rotate"] }
您可以在
service
选项上指定要为其创建定制角色的服务的名称。 有关更多信息,请参阅 Terraform Identity and Access Management(IAM) 页面上的参数参考详细信息。 -
完成构建配置文件后,初始化 Terraform CLI。 有关更多信息,请参阅 初始化工作目录。
terraform init
-
从
main.tf
文件供应资源。 有关更多信息,请参阅 使用 Terraform 供应基础架构。-
运行
terraform plan
以生成 Terraform 执行计划来预览建议的操作。terraform plan
-
运行
terraform apply
以创建计划中定义的资源。terraform apply
-