Red Hat Training

A Red Hat training course is available for RHEL 8

27.2. CLI での IdM パーミッションの管理

コマンドラインインターフェイス (CLI) を使用して Identity Management (IdM) のパーミッションを管理するには、次の手順に従います。

前提条件

  • IdM、または ユーザー管理者 ロールを管理する管理者権限
  • 有効な Kerberos チケット。詳細は、Using kinit to log in to IdM manually を参照してください。

手順

  1. ipa permission-add コマンドを使用して、新しいパーミッションエントリーを作成します。
    たとえば、dns admin という名前のパーミッションを追加するには、次のコマンドを実行します。

    $ ipa permission-add "dns admin"
  2. 以下のオプションでパーミッションのプロパティーを指定します。

    • --bindtype は、バインドルールの種別を指定します。このオプションでは、allanonymous および permission 引数を使用できます。permission バインドタイプは、ロールを使用してこのパーミッションを付与されたユーザーのみが実行できます。
      以下に例を示します。

      $ ipa permission-add "dns admin" --bindtype=all

      --bindtype を指定しないと、permission がデフォルト値になります。

      注記

      特権には、デフォルト以外のバインドルールタイプが指定されたパーミッションを追加できません。特権に既存のパーミッションは、デフォルト以外のバインドルールタイプには設定できません。

    • --right は、パーミッションが付与する権限をリスト表示します。これは、非推奨の --permissions オプションに代わるものです。使用できる値は adddeletereadsearchcomparewriteall になります。

      複数の属性を設定するには、複数の --right オプションを使用するか、中括弧内にコンマ区切りリストを使用します。以下に例を示します。

      $ ipa permission-add "dns admin" --right=read --right=write
      $ ipa permission-add "dns admin" --right={read,write}
      注記

      add および delete はエントリーレベルの操作 (ユーザーの削除、グループの追加など) ですが、readsearchcomparewrite は、属性レベル (userCertificate への書き込み可、userPassword の読み込み不可) に近いです。

    • --attrs は、パーミッションが付与される属性のリストを提供します。
      複数の属性を設定するには、複数の --attrs オプションを使用するか、オプションを中括弧内にコンマ区切りリストでリスト表示します。以下に例を示します。

      $ ipa permission-add "dns admin" --attrs=description --attrs=automountKey
      $ ipa permission-add "dns admin" --attrs={description,automountKey}

      --attrs で指定の属性が存在し、指定のオブジェクトタイプで使用可能な属性である必要があります。この条件を満たさない場合には、コマンドがスキーマ構文エラーで失敗します。

    • --type は、ユーザー、ホスト、サービスなどのパーミッションが適用されるエントリーオブジェクトタイプを定義します。各タイプには、独自の許可属性セットがあります。
      以下に例を示します。

      $ ipa permission-add "manage service" --right=all --type=service --attrs=krbprincipalkey --attrs=krbprincipalname --attrs=managedby
    • --subtree ではサブツリーエントリーを指定します。フィルターはこのサブツリーエントリーの配下にあるエントリーを対象とします。既存のサブツリーエントリーを指定します。--subtree ではワイルドカードや存在しないドメイン名 (DN) は使用できません。ディレクトリーに DN を追加します。
      IdM は簡素化されたフラットディレクトリーツリー構造を使用しているため、--subtree を使用して自動マウントの場所 (他の設定のコンテナーまたは親エントリー) など、一部のエントリーを対象にできます。以下に例を示します。

      $ ipa permission-add "manage automount locations" --subtree="ldap://ldap.example.com:389/cn=automount,dc=example,dc=com" --right=write --attrs=automountmapname --attrs=automountkey --attrs=automountInformation
      注記

      --type オプションおよび --subtree オプションを同時に使用できません。--subtree を簡素化したものとして、--type のフィルターに含まれている内容を確認できます (これにより、管理者の作業が簡単になります)。

    • --filter は LDAP フィルターを使用して、パーミッションが適用されるエントリーを特定します。
      IdM は、指定のフィルターの有効性を自動的に確認します。このフィルターには、有効な LDAP フィルターを使用できます。以下に例を示します。

      $ ipa permission-add "manage Windows groups" --filter="(!(objectclass=posixgroup))" --right=write --attrs=description
    • --memberof は、グループが存在することを確認した後に、指定したグループのメンバーにターゲットフィルターを設定します。たとえば、このパーミッショを持つユーザーがエンジニアリンググループのメンバーのログインシェルを変更できるようにするには、以下を実行します。

      $ ipa permission-add ManageShell --right="write" --type=user --attr=loginshell --memberof=engineers
    • --targetgroup は、グループが存在することを確認した後に、ターゲットを指定のユーザーグループに設定します。たとえば、このパーミッションを持つグループが、エンジニアリンググループのメンバー属性に (メンバーの追加や削除ができるように) 書き込みできるようにするには、以下を実行します。

      $ ipa permission-add ManageMembers --right="write" --subtree=cn=groups,cn=accounts,dc=example,dc=test --attr=member --targetgroup=engineers
    • 必要に応じて、ターゲットドメイン名 (DN) を指定できます。

      • --target は、パーミッションを適用する DN を指定します。ワイルドカードは使用できます。
      • --targetto は、エントリーの移動先に設定できる DN サブツリーを指定します。
      • --targetfrom は、エントリーの移動元に設定できる DN サブツリーを指定します。