限制用户创建应用程序接口密钥
默认情况下,账户的所有成员都可以创建 IBM Cloud® API 密钥。 不过,可以通过使用 API 密钥创建设置来限制访问权限,这样只有拥有正确访问权限的成员才能创建这些用户 API 密钥。
如果你希望账户中的用户始终以交互方式登录,也就是说你不希望自动化脚本运行时使用 API 密钥自动登录用户,那么限制创建 API 密钥的功能就有意义了。 有关 API 密钥的更多信息,请参阅 管理用户 API 密钥。
如果 API 密钥创建由企业管理,则如果企业管理设置不那么严格或被删除,则账户级定义的设置也适用。
限制在控制台中创建 API 密钥
要打开限制用户创建用户 API 密钥的设置,您必须拥有以下指定权限:
Administrator、Operator或Editor角色的 IAM 策略。IAM Identity Service.
如果打开“限制 API 密钥创建”设置,则账户中的用户(包括账户所有者)需要特定权限才能创建 API 密钥。 要限制谁可以创建 API 密钥,请使用以下步骤:
启用此设置只会影响用户 API 密钥的创建。 它不会影响服务 ID 的 API 密钥。
- 在 IBM Cloud 控制台中,转到管理 > 访问 (IAM),然后选择设置。
- 在“账户”部分,启用“限制 API 密钥创建”设置。
- 单击是以确认。
现在,限制用户创建 API 密钥的设置已启用,您可以分配所需的访问权限,使特定用户能够继续创建用户 API 密钥。 请记住,账户所有者也必须被分配这一明确的访问权限。
使用 Terraform 限制 API 密钥的创建
如果打开 API 密钥创建设置,账户中的用户(包括账户所有者)需要特定权限才能创建 API 密钥。
要打开限制用户创建用户 API 密钥的设置,您必须拥有以下指定权限:
Administrator、Operator或Editor角色的 IAM 策略。IAM Identity Service.
在使用 Terraform 设置登录会话限制之前,请确保已完成以下步骤:
- 安装 Terraform CLI 并为 Terraform 配置 IBM Cloud Provider 插件。 更多信息,请参见 IBM Cloud® 上的 Terraform 入门 教程。 该插件抽象了用于完成这项任务的 IBM Cloud API。
- 创建名为
main.tf的 Terraform 配置文件。 在该文件中,您可以使用 HashiCorp 配置语言定义资源。 更多信息,请参阅 Terraform 文档。
要限制谁可以创建 API 密钥,请使用以下步骤:
启用此设置只会影响用户 API 密钥的创建。 它不会影响服务 ID 的 API 密钥。
-
在
main.tf文件中创建一个参数。 下面的示例通过使用ibm_iam_account_settings和iam_account_settings_instance资源来启用 API 密钥创建设置。 -
定义创建平台 API 密钥是否受访问控制。 支持的有效值为
- 受限 - 应用访问控制
- NOT_RESTRICTED - 取消访问控制
- NOT_SET - 取消先前设置的值。
resource "ibm_iam_account_settings" "iam_account_settings_instance" { restrict_create_platform_apikey = "RESTRICTED" } -
从
main.tf文件调配资源。 如需了解更多信息,请参阅 使用 Terraform 配置基础架构。-
运行
terraform plan生成 Terraform 执行计划,以预览建议的操作。terraform plan -
运行
terraform apply以创建计划中定义的资源。terraform apply
-
更多信息,请参阅 Terraform 文档。
利用 IAM 账户设置模块执行 API 密钥策略,实现集中安全控制。 探索用于账户管理的 Terraform IBM 模块。
现在,限制用户创建 API 密钥的设置已启用,您可以分配所需的访问权限,使特定用户能够继续创建用户 API 密钥。 请记住,账户所有者也必须被分配这一明确的访问权限。
分配创建 API 密钥的权限,并启用限制条件
如果启用了 API 密钥创建设置,则只有在 IAM Identity Service 上分配了 User API key creator 角色的用户(包括账户所有者)才能创建 API 密钥。
要为一组用户分配创建 API 密钥所需的访问权限,最快捷的方法是创建一个访问组并为该组分配所需的角色。 有关分配访问策略的更多信息,请参阅 设置访问组。