12.9. ACI パーミッションの定義

パーミッションルールは、アクセス制御手順 (ACI) に関連付けられた権限と、アクセスを許可または拒否されるかどうかを定義します。

ACI では、以下の強調表示された部分はパーミッションルールになります。

(target_rule) (version 3.0; acl "ACL_name"; permission_rule bind_rules;)

12.9.1. パーミッションルールの構文

パーミッションルールの一般的な構文は、以下のとおりです。

permission (rights)
  • permission: アクセス制御手順 (ACI) がパーミッションを許可するか、拒否するかを設定します。
  • rights: ACI が許可または拒否する権限を設定します。User rights in permission rules を参照してください。

例12.11 パーミッションの定義

ou=People,dc=example,dc=com エントリーに保存されているユーザーが、独自のエントリー内の全属性を検索し、表示するには、以下を実行します。

# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x

dn: ou=People,dc=example,dc=com
changetype: modify
add: aci
aci: (target = "ldap:///ou=People,dc=example,dc=com") (version 3.0;
 acl "Allow users to read and search attributes of own entry"; allow (search, read)
 (userdn = "ldap:///self");)

12.9.2. パーミッションルールのユーザー権限

パーミッションルールの権限は、付与または拒否される操作を定義します。ACI では、以下の権限の 1 つまたは複数を設定できます。

表12.1 ユーザーの権利

権利説明

read

ユーザーがディレクトリーデータを読み込めるかどうかを設定します。このパーミッションは、LDAP の検索操作にのみ適用されます。

write

属性を追加、変更、または削除してユーザーがエントリーを変更できるかどうかを設定します。このパーミッションは、LDAP の modify および modrdn 操作に適用されます。

add

ユーザーがエントリーを作成できるかどうかを設定します。このパーミッションは、LDAP の add 操作にのみ適用されます。

削除

ユーザーがエントリーを削除できるかどうかを設定します。このパーミッションは、LDAP の delete 操作にのみ適用されます。

search

ユーザーがディレクトリーデータを検索できるかどうかを設定します。検索結果の一部として返されたデータを表示するには、search および read 権限を付与します。このパーミッションは、LDAP の検索操作にのみ適用されます。

compare

ユーザーが提供したデータとディレクトリーに保存されているデータを比較できるかどうかを設定します。compare 権限では、ディレクトリーは問い合わせに対して成功または失敗のメッセージを返しますが、ユーザーはエントリーや属性の値を見ることはできません。このパーミッションは、LDAP の比較操作にのみ適用されます。

selfwrite

ユーザーがグループから独自の識別名 (DN) を追加または削除できるかどうかを設定します。この権限は、グループ管理にのみ使用されます。

proxy

指定した DN が他のエントリーの権限でターゲットにアクセスできるかどうかを設定します。proxy 権限は ACL の範囲内で付与され、その権限が付与されたユーザーやグループは、Directory Server のユーザーとしてコマンドを実行することができます。proxy 権限を特定のユーザーに制限することはできません。セキュリティー上の理由から、proxy 権限を使用する ACI は、ディレクトリーの最も対象となるレベルに設定してください。

all

proxy 以外のすべての権限を設定します。

12.9.3. LDAP 操作に必要な権限

This section describes the rights you must grant to users depending on the type of LDAP operation you want to authorize them to perform.
  • エントリーの追加:

    • 追加するエントリーの add パーミッションを付与します。
    • エントリーの各属性の値に write パーミッションを付与します。この権限はデフォルトで付与されますが、targattrfilters キーワードを使用して制限できます。
  • エントリーの削除:

    • 削除するエントリーの delete パーミッションを付与します。
    • エントリーの各属性の値に write パーミッションを付与します。この権限はデフォルトで付与されますが、targattrfilters キーワードを使用して制限できます。
  • エントリーの属性の変更:

    • 属性タイプで write パーミッションを付与します。
    • 各属性種別の値の write 権限を付与します。この権限はデフォルトで付与されますが、targattrfilters キーワードを使用して制限できます。
  • エントリーの RDN の変更:

    • エントリーで write パーミッションを付与します。
    • 新しい RDN で使用される属性タイプの write パーミッションを付与します。
    • 古い RDN の削除に適した権限を付与する場合は、古い RDN で使用される属性タイプの write パーミッションを付与します。
    • 新しい RDN で使用される属性型の値に対して write 権限を付与します。この権限はデフォルトで付与されますが、targattrfilters キーワードを使用して制限できます。
  • 属性の値を比較します。

    • 属性タイプで compare パーミッションを付与します。
  • エントリーの検索:

    • 検索フィルターで使用される各属性タイプの search パーミッションを付与します。
    • エントリーで使用される属性タイプの read パーミッションを付与します。