第 11 章 为用户的外部调配配置 IdM

作为系统管理员,您可以配置身份管理(IdM),来通过管理身份的外部解决方案支持用户的调配。

外部调配系统的管理员不必使用 ipa 工具,而是使用 ldapmodify 工具来访问 IdM LDAP。管理员可以 使用 ldapmodify 的 CLI使用 LDIF 文件添加单个 stage 用户。

假设您作为 IdM 管理员完全信任外部调配系统,来仅添加经过验证的用户。但是,您不想为外部调配系统的管理员分配 用户管理员 的 IdM 角色,以便他们能够直接添加新的活动用户。

您可以 配置一个脚本,来自动将外部调配系统创建的 stage 用户移到活动用户。

本章包含以下章节:

  1. 准备身份管理(IdM) 来使用外部调配系统向 IdM 添加 stage 用户。
  2. 创建一个脚本,来将外部调配系统添加的用户从stage 移到活动用户。
  3. 使用外部调配系统添加 IdM stage 用户。您可以通过两种方式进行此操作:

11.1. 为 stage 用户帐户的自动激活准备 IdM 帐户

此流程演示了如何配置供外部调配系统使用的两个 IdM 用户帐户。通过使用合适的密码策略将帐户添加到组中,您可以使外部调配系统来管理 IdM 中的用户调配。在以下部分中,外部系统用来添加 stage 用户的用户帐户命名为 provisionator。用来自动激活 stage 用户的用户帐户命名为 activator

先决条件

  • 您在其上执行该步骤的主机已注册到 IdM 中。

步骤

  1. 以 IdM 管理员身份登录:

    $ kinit admin
  2. 创建名为 provisionator 的用户,其具有用于添加 stage 用户的特权。

    1. 添加 provisionator 用户帐户:
    $ ipa user-add provisionator --first=provisioning --last=account --password
    1. 为 provisionator 用户授予所需的特权。

      1. 创建一个自定义角色 System Provisioning ,来管理添加 stage 用户:

        $ ipa role-add --desc "Responsible for provisioning stage users" "System Provisioning"
      2. Stage User Provisioning 特权添加到该角色。这个特权提供了添加 stage 用户的能力:

        $ ipa role-add-privilege "System Provisioning" --privileges="Stage User Provisioning"
      3. 将 provisionator 用户添加到角色中:

        $ ipa role-add-member --users=provisionator "System Provisioning"
      4. 验证 provisionator 在 IdM 中是否存在:
      $ ipa user-find provisionator --all --raw
      --------------
      1 user matched
      --------------
        dn: uid=provisionator,cn=users,cn=accounts,dc=idm,dc=example,dc=com
        uid: provisionator
        [...]
  3. 创建用户 activator,其具有管理用户帐户的特权。

    1. 添加 activator 用户帐户:

      $ ipa user-add activator --first=activation --last=account --password
    2. 通过将用户添加到默认的 User Administrator 角色来授予 activator 用户所需的特权:

      $ ipa role-add-member --users=activator "User Administrator"
  4. 为应用程序帐户创建用户组:

    $ ipa group-add application-accounts
  5. 更新组的密码策略。以下策略可防止帐户的密码过期和锁住,但通过要求复杂的密码来弥补潜在的风险:

    $ ipa pwpolicy-add application-accounts --maxlife=10000 --minlife=0 --history=0 --minclasses=4 --minlength=8 --priority=1 --maxfail=0 --failinterval=1 --lockouttime=0
  6. (可选)验证密码策略是否在 IdM 中存在:

    $ ipa pwpolicy-show application-accounts
      Group: application-accounts
      Max lifetime (days): 10000
      Min lifetime (hours): 0
      History size: 0
    [...]
  7. 将调配和激活帐户添加到应用程序帐户的组中:

    $ ipa group-add-member application-accounts --users={provisionator,activator}
  8. 更改用户帐户的密码:

    $ kpasswd provisionator
    $ kpasswd activator

    更改密码是必需的,因为新的 IdM 用户密码会立即过期。

其他资源: