Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

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

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

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

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

ユーザーアカウントの管理に関連する異なる権限を異なるユーザーに追加できます。たとえば、従業員のアカウントのエントリーとアクティベーションの権限を分けることができます。
  • あるユーザーを、今後の従業員をステージユーザーとして IdM に追加できるがアクティブ化できないステージユーザー管理者として設定します。
  • 別のユーザーを、入社初日に従業員認証情報が検証された後にステージユーザーをアクティブ化できるセキュリティー管理者 として設定します。
ユーザーが特定のユーザー管理操作を実行できるようにするには、必要な権限で新規ロールを作成し、ユーザーをそのロールに割り当てます。

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

この例は、新規ステージユーザーの追加のみが許可され、他のステージユーザー管理操作を実行できないユーザーを作成する方法を示しています。
  1. admin ユーザーまたはロールベースのアクセス制御を管理できる他のユーザーとしてログインします。
    $ 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. 管理者以外のユーザーに、stage ユーザーを追加する権限を付与します。
    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
...