28.2. CLI での IdM パーミッションの管理
コマンドライン (CLI) を使用して Identity Management (IdM) のパーミッションを管理するには、次の手順に従います。
前提条件
- IdM、または ユーザー管理者 ロールを管理する管理者権限
- 有効な Kerberos チケット。詳細は、Using kinit to log in to IdM manually を参照してください。
手順
ipa permission-addコマンドを使用して、新しいパーミッションエントリーを作成します。たとえば、dns admin という名前のパーミッションを追加するには、次のコマンドを実行します。$ ipa permission-add "dns admin"以下のオプションでパーミッションのプロパティーを指定します。
--bindtypeは、バインドルールの種別を指定します。このオプションでは、all、anonymousおよびpermission引数を使用できます。permissionバインドタイプは、ロールを介してこのパーミッションを付与されたユーザーだけがパーミッションを実行できることを意味します。以下に例を示します。
$ ipa permission-add "dns admin" --bindtype=all--bindtypeを指定しないと、permissionがデフォルト値になります。注記特権には、デフォルト以外のバインドルールタイプが指定されたパーミッションを追加できません。特権に既存のパーミッションは、デフォルト以外のバインドルールタイプには設定できません。
--rightは、パーミッションが付与する権限をリスト表示します。これは、非推奨の--permissionsオプションに代わるものです。使用できる値はadd、delete、read、search、compare、write、allになります。複数の属性を設定するには、複数の
--rightオプションを使用するか、中括弧内にコンマ区切りリストを使用します。以下に例を示します。$ ipa permission-add "dns admin" --right=read --right=write $ ipa permission-add "dns admin" --right={read,write}注記addおよびdeleteはエントリーレベルの操作 (ユーザーの削除、グループの追加など) ですが、read、search、compare、writeは、属性レベル (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注記ターゲットの LDAP エントリーにグループメンバーシップへの参照が含まれていない場合、
memberof属性パーミッションの設定は適用されません。--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 サブツリーを指定します。
-