IBM Cloud Docs
限制用户创建 API 密钥

限制用户创建 API 密钥

缺省情况下,帐户的所有成员都可以创建 IBM Cloud® API 密钥。 但是,可以限制该访问权,以便只有具有正确访问权的成员才能使用 API 密钥创建设置来创建这些用户 API 密钥。

如果您希望帐户中的用户始终以交互方式登录,那么限制创建 API 密钥的能力是有意义的,这意味着您不希望通过使用 API 密钥来运行可自动登录用户的自动化脚本。 有关 API 密钥的更多信息,请参阅 管理用户 API 密钥

如果 API 密钥创建由企业管理,则如果企业管理设置不那么严格或被删除,则账户级定义的设置也适用。

限制在控制台中创建 API 密钥

要开启此设置以限制用户创建用户 API 密钥,您必须具有以下已分配的访问权:

如果打开“限制 API 密钥创建”设置,则账户中的用户(包括账户所有者)需要特定权限才能创建 API 密钥。 要限制可以创建 API 密钥的人员,请使用以下步骤:

启用此设置仅影响用户 API 密钥的创建。 它不会影响服务标识的 API 密钥。

  1. 在 IBM Cloud 控制台中,转至 管理 > 访问权 (IAM),然后选择 设置
  2. 在“账户”部分,启用“限制 API 密钥创建”设置。
  3. 单击以确认。

现在,已启用此设置以限制用户创建 API 密钥,您可以分配必需的访问权,以使特定用户能够继续创建用户 API 密钥。 请记住,还需要为帐户所有者分配此显式访问权。

使用 Terraform 限制 API 密钥的创建

如果开启 API 密钥创建设置,那么帐户中的用户需要特定访问权才能创建 API 密钥,包括帐户所有者。

要开启此设置以限制用户创建用户 API 密钥,您必须具有以下已分配的访问权:

在使用 Terraform 设置登录会话限制之前,请确保已完成以下操作:

  • 安装 Terraform CLI 并为 Terraform 配置 IBM Cloud 提供程序插件。 有关更多信息,请参阅 Terraform on IBM Cloud®入门 教程。 该插件对用于完成此任务的 IBM Cloud API 进行抽象。
  • 创建名为 main.tf 的 Terraform 配置文件。 在此文件中,您使用 HashiCorp 配置语言来定义资源。 有关更多信息,请参阅 Terraform 文档

要限制可以创建 API 密钥的人员,请使用以下步骤:

启用此设置仅影响用户 API 密钥的创建。 它不会影响服务标识的 API 密钥。

  1. main.tf 文件中创建自变量。 以下示例通过使用 ibm_iam_account_settingsiam_account_settings_instance 资源来启用 API 密钥创建设置。

  2. 定义是否对创建平台 API 密钥进行访问控制。 支持的有效值为:

    • RESTRICTED-应用访问控制
    • NOT_RESTRICTED-除去访问控制
    • NOT_SET-取消设置先前的集合值。
    resource "ibm_iam_account_settings" "iam_account_settings_instance" {
    restrict_create_platform_apikey  = "RESTRICTED"
    }
    
  3. main.tf 文件供应资源。 有关更多信息,请参阅 使用 Terraform 供应基础架构

    1. 运行 terraform plan 以生成 Terraform 执行计划来预览建议的操作。

      terraform plan
      
    2. 运行 terraform apply 以创建计划中定义的资源。

      terraform apply
      

有关更多信息,请参阅 Terraform 文档

现在,已启用此设置以限制用户创建 API 密钥,您可以分配必需的访问权,以使特定用户能够继续创建用户 API 密钥。 请记住,还需要为帐户所有者分配此显式访问权。

分配访问权以创建已启用限制的 API 密钥

如果启用了 API 密钥创建设置,那么只有在 IAM Identity Service 上分配了 User API key creator 角色的用户 (包括帐户所有者) 才能创建 API 密钥。

向一组用户分配创建 API 密钥所需的访问权的最快方法是创建访问组并向该组分配所需的角色。 有关分配访问策略的更多信息,请参阅 设置访问组