Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

11.5. 管理者以外のユーザーによるユーザーエントリーの管理の許可

デフォルトでは、ユーザーのライフサイクルの管理 とユーザーアカウントの無効化または有効化は、管理ユーザーのみです。別の管理者以外のユーザーがこれを実行できるようにするには、新しいロールを作成し、このロールに関連するパーミッションを追加し、管理者以外のユーザーをロールに割り当てます。
デフォルトでは、IdM にはユーザーアカウントの管理に関する以下の権限が含まれます。
ユーザーの変更およびパスワードのリセット
この権限には、さまざまなユーザー属性を変更する権限が含まれます。
User Administrators
この権限には、アクティブユーザーの追加、アクティブでないユーザーの有効化、ユーザーの削除、ユーザー属性の変更、およびその他のパーミッションの追加、権限が含まれます。
ステージユーザープロビジョニング
この特権には、ステージユーザーを追加するパーミッションが含まれます。
Stage User Administrator
この権限には、ステージユーザーの追加やライフサイクル状態間のユーザーの移動など、多数のライフサイクル操作を実行するパーミッションが含まれます。ただし、ユーザーを active 状態に移行するパーミッションは含まれません。
ロール、パーミッション、および権限の定義に関する情報は、「ロールベースのアクセス制御の定義」 を参照してください。

異なるユーザー異なるユーザー管理操作の実行を許可する

ユーザーアカウントの管理に関連する異なる特権は、別のユーザーに追加できます。たとえば、以下のように、従業員アカウントエントリーおよびアクティベーションに特権を分けることができます。
  • ステージユーザー 管理者として 1 人のユーザーを設定します。このユーザーは、ステージユーザーとして IdM に将来の従業員を追加できますが、アクティベートすることはできません。
  • 別のユーザーを セキュリティー管理者として 行うと、従業員の認証情報を最初の日付けで検証したあとにステージユーザーをアクティベートできます。
ユーザーが特定のユーザー管理操作を実行できるようにするには、必要な特権または特権で新しいロールを作成し、そのロールをそのユーザーに割り当てます。

例11.1 非管理者ユーザーによるステージユーザーの追加の許可

この例は、新しいステージユーザーの追加のみを許可するユーザーの作成方法を示していますが、他のステージユーザー管理操作は実行しません。
  1. 管理者ユーザーまたは別の ユーザーとしてログインします
    $ kinit admin
    
  2. ステージユーザーの追加を管理する新しいカスタムロールを作成します。
    1. System Provisioning ロールを作成します。
      $ ipa role-add --desc "Responsible for provisioning stage users" "System Provisioning"
      --------------------------------
      Added role "System Provisioning"
      --------------------------------
      Role name: System Provisioning
      Description: Responsible for provisioning stage users
      
    2. Stage User Provisioning の権限をロールに追加します。この権限により、stage ユーザーを追加することができます。
      $ ipa role-add-privilege "System Provisioning" --privileges="Stage User Provisioning"
      Role name: System Provisioning
      Description: Responsible for provisioning stage users
      Privileges: Stage User Provisioning
      ----------------------------
      Number of privileges added 1
      ----------------------------
      
  3. 管理者以外のユーザーに対し、ステージユーザーを追加する権限を付与します。
    1. 管理者以外のユーザーが存在しない場合は、新規ユーザーを作成します。この例では、user の名前は stage_user_admin です。
      $ ipa user-add stage_user_admin --password
      First name: first_name
      Last name: last_name
      Password:
      Enter password again to verify:
      ...
      
    2. stage_user_admin ユーザーを システムプロビジョニングロール に割り当てます。
      $ ipa role-add-member "System Provisioning" --users=stage_user_admin
      Role name: System Provisioning
      Description: Responsible for provisioning stage users
      Member users: stage_user_admin
      Privileges: Stage User Provisioning
      -------------------------
      Number of members added 1
      -------------------------
      
    3. System Provisioning ロールが正しく設定されていることを確認するには、ipa role-show コマンドを使用してロール設定を表示します。
      $ ipa role-show "System Provisioning"
      --------------
      1 role matched
      --------------
      Role name: System provisioning
      Description: Responsible for provisioning stage users
      Member users: stage_user_admin
      Privileges: Stage User Provisioning
      ----------------------------
      Number of entries returned 1
      ----------------------------
      
  4. stage_user_admin ユーザーとして新しい stage ユーザーが追加されているかをテストします。
    1. stage_user_admin としてログインします。前の手順の 1 つで、stage_user_admin を新規ユーザーとして作成した場合、IdM は admin で設定した初期パスワードを変更するように要求します。
      $ kinit stage_user_admin
      Password for stage_user_admin@EXAMPLE.COM:
      Password expired.  You must change it now.
      Enter new password:
      Enter it again:
      
    2. admin の Kerberos チケットが stage_user_admin の Kerberos チケットに置き換えるようにするにはklist ユーティリティーを使用できます。
      $ klist
      Ticket cache: KEYRING:persistent:0:krb_ccache_xIlCQDW
      Default principal: stage_user_admin@EXAMPLE.COM
      
      Valid starting       Expires              Service principal
      02/25/2016 11:42:20  02/26/2016 11:42:20  krbtgt/EXAMPLE.COM
      
    3. 新規ステージユーザーを追加します。
      $ ipa stageuser-add stage_user
      First name: first_name
      Last name: last_name
      ipa: ERROR: stage_user: stage user not found
      
      注記
      ステージユーザーの追加後に IdM が報告するエラーが予想されます。stage_user_admin は、ステージユーザーの追加のみが許可され、そのユーザーに関する情報は表示されません。したがって、新しく追加した stage_user 設定の概要を表示する代わりに、IdM でエラーが表示されます。
stage_user_admin ユーザーは、ステージユーザーについての情報を表示できません。そのため、stage_user_ admin としてログインすると、新しい stage _user ユーザーに関する情報の表示に失敗します。
$ ipa stageuser-show stage_user
ipa: ERROR: stage_user: stage user not found
stage_user に関する情報を表示するには、admin としてログインできます。
$ kinit admin
Password for admin@EXAMPLE.COM:
$ ipa stageuser-show stage_user
  User login: stage_user
  First name: Stage
  Last name: User
...