27.4.2.2. コマンドライン での新規パーミッションの作成
この permission-add コマンドを使用して、新しいパーミッションが追加されます。すべてのパーミッションには、パーミッションが付与される属性のリスト (
--attr
)、許可されるアクション (--permissions
) のリスト、および ACI のターゲットエントリーが必要です。ターゲットエントリーを識別する方法は 4 つあります。
- --type は、ユーザー、ホスト、またはサービスなどのエントリータイプを検索し、そのエントリータイプに使用できるすべての属性の一覧を表示します。
- --filter は、パーミッションが適用されるエントリーを特定する LDAP フィルターを使用します。
- --subtree は、指定のサブツリーエントリーの下にあるすべてのエントリーをターゲットにします。
- --targetgroup はユーザーグループを指定し、そのグループ内のすべてのユーザーエントリーは ACI 経由で利用できます。
例27.1 フィルターを使用したパーミッションの追加
フィルターは有効な LDAP フィルターにすることができます。
$ ipa permission-add "manage Windows groups" --filter="(!(objectclass=posixgroup))"
--permissions=write --attrs=description
注記
この permission-add コマンドは、指定の LDAP フィルターを検証しません。パーミッションを設定する前に、フィルターが想定された結果を返すことを確認します。
例27.2 サブツリーのパーミッションの追加
サブツリーフィルターに必要なのは、ディレクトリー内の DN です。IdM は簡素化された平坦なディレクトリーツリー構造を使用しているので、これを使って、自動マウントの場所のような、他の設定のコンテナーや親エントリーである、一定タイプのエントリーをターゲットにすることができます。
$ ipa permission-add "manage automount locations" --subtree="ldap://ldap.example.com:389/cn=automount,dc=example,dc=com"
--permissions=write --attrs=automountmapname,automountkey,automountInformation
例27.3 オブジェクトタイプに基づいたパーミッションの追加
パーミッションを形成するために使用できるオブジェクトタイプは 7 つあります。
- user
- グループ
- host
- サービス
- hostgroup
- netgroup
- dnsrecord
各タイプには、カンマ区切りリストの独自の許可される属性セットがあります。
$ ipa permission-add "manage service" --permissions=all --type=service --attrs=krbprincipalkey,krbprincipalname,managedby
属性 (
--attrs
) が存在し、指定のオブジェクトタイプの属性を許可する必要があります。そうでない場合、パーミッション操作はスキーマ構文エラーで失敗します。