IBM Cloud Docs
为访问组创建动态规则

为访问组创建动态规则

您可以创建动态规则,以根据特定身份属性自动将联合用户添加到访问组。 当您的用户使用联合身份登录时,身份提供商( IdP )的数据会根据您设置的规则将您的用户动态映射到访问组。

用户已经在您公司的域中拥有特定的身份信息,并且他们使用联合标识登录时,可以使用 SAML 断言来传递此数据。 在 IdP 中配置的SAML断言或属性声明提供了用于创建每个规则的数据。 例如,您可能有将用户定义为管理者的 true 或 false 属性语句。 此信息可用于将作为管理者的所有用户添加到 IBM Cloud® 帐户中已创建的特定管理者访问组。 更多信息,请参阅有关如何 控制云资源访问权限的教程和 示例规则

只有已受邀加入帐户的用户才能使用动态规则映射到访问组。

使用控制台设置规则

动态规则是通过设置条件创建的,这些条件必须与 IdP 中配置的数据相匹配,并在登录时与用户的联合ID一起传递。 可以为一个规则添加多个条件。 必须满足规则中设置的所有条件才能将用户添加到访问组。

要创建规则,请执行以下步骤:

  1. 在 IBM Cloud 控制台中,点击管理 > 访问(IAM ),然后选择访问组
  2. 选择要为其创建规则的访问组的名称。 此操作将打开“组 详细信息”页面。
  3. 选择 动态规则
  4. 单击添加规则
  5. 在添加规则页面上输入您的 IdP,系统将为您动态提供相关信息。 以下列表提供了各个必填字段的详细信息。

您可以将访问组规则视为键/值对。 键是您在 Add users when 字段中添加的内容,值是您在 Values 字段中输入的内容。

有关用于创建动态规则的字段的更多信息,请参阅 IAM 条件属性

使用 Terraform 设置规则

在使用 Terraform 设置规则之前,请确保已完成以下操作:

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

动态规则是通过设置条件创建的,这些条件必须与 IdP 中配置的数据相匹配,并在登录时与用户的联合ID一起传递。 可以为一个规则添加多个条件。 必须满足规则中设置的所有条件才能将用户添加到访问组。

要使用 Terraform 创建规则,请执行以下步骤:

  1. main.tf 文件中创建自变量。 以下示例通过使用 ibm_iam_access_group_dynamic_rule 资源为访问组创建新的动态规则,其中 name 是用于标识动态规则的唯一名称。

     resource "ibm_iam_access_group_dynamic_rule" "rule1" {
       name              = "newrule"
       access_group_id   = "AccessGroupId-dsnd4bvsaf"
       expiration        = 4
       identity_provider = "test-idp.com"
       conditions {
         claim    = "blueGroups"
         operator = "CONTAINS"
         value    = "\"test-bluegroup-saml\""
       }
     }
    

    有关更多信息,请参阅 Terraform 文档 页面中的参数参考详细信息。

  2. 完成构建配置文件后,初始化 Terraform CLI。 有关更多信息,请参阅 初始化工作目录

    terraform init
    
  3. main.tf 文件供应资源。 有关更多信息,请参阅 使用 Terraform 供应基础架构

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

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

      terraform apply
      

有关用于创建动态规则的字段的更多信息,请参阅 IAM 条件属性

查看访问组的动态成员

您可以使用动态规则来查看添加到访问组的用户。 要查看访问组的动态成员,请转至 IBM Cloud 控制台中的 管理 > 访问 (IAM) > 访问组。 选择访问组,然后单击 用户。 动态添加的用户由类型 Dynamic 指示。

以下用户将不会显示在表中:

  • 动态添加尚未登录的用户
  • 动态添加的会话已到期的用户

已注销但其会话仍有效的动态用户将继续显示在表中,直到其会话到期为止。

无法手动除去动态用户。 要除去动态用户,请调整动态规则。

查看用户的动态成员资格

您还可以通过完成以下步骤来查看根据动态规则将用户添加到的访问组列表:

  1. 转至 IBM Cloud 控制台中的 管理 > 访问权 (IAM) > 用户
  2. 单击用户。
  3. 单击 访问
  4. 用户是其动态成员的访问组由类型 Dynamic 指示。

示例规则

以下示例包含动态规则的每个字段的值。 根据此规则,在联合 IdP 中标识为经理的用户将被映射到 IBM Cloud 访问组,该访问组仅对经理设置了特定的访问权限。

访问组动态规则示例
字段
名称 管理者组规则
身份提供者 https://idp.example.org/SAML2
到期时间(小时) 12 个月
满足以下条件时添加用户(属性名称) isManager
比较器 等于