ページの先頭行へ戻る
Interstage Application Server セキュリティシステム運用ガイド

5.2.2 アクセス制御リスト定義ファイルの編集

  access ディレクティブを使用し、アクセス対象、アクセスユーザ、およびアクセス権をアクセス制御リスト定義ファイルに指定します。

accessディレクティブの指定形式

■記述形式

access to <what>
    by <who> <accesslevel>

  by 節は複数回指定できます。

■設定内容

  エントリや属性の1セットのアクセス対象(<what>に指定)に対して、1人以上のアクセスユーザ(<who>に指定)に、アクセス権(<accesslevel>に指定)を与えます。
  access ディレクティブは、1セットのアクセス対象につき、1つ指定します。複数のアクセス対象に対してアクセス制御を定義する場合は、access ディレクティブを複数セット指定します。
  また、1セットのアクセス対象に、複数のアクセスユーザに対するアクセス制御を定義する場合は、1つのaccess ディレクティブの中で、by 節を複数回指定して定義します。

<what>
  アクセス対象である、エントリ、または属性を指定します。

<who>
  アクセス権を与えるアクセスユーザを指定します。

<accesslevel>
  アクセス権を指定します。


  アクセス制御リスト定義ファイルを定義する際は、以下の点に注意してください。アクセス制御リスト定義ファイルの評価の詳細は、“5.2.3 アクセス制御リスト定義の評価”を参照してください。

アクセス対象<what>の指定

  アクセス対象<what>には、アクセス制御の対象となるエントリ、または属性を指定します。また、エントリと属性を組み合わせた指定や、全エントリを指定することもできます。
  なお、アクセス対象<what>は省略可能です。省略すると、全エントリがアクセス対象となります。

■記述形式

全エントリを指定
エントリを指定
属性を指定
エントリと属性を組み合わせて指定

■設定例

  すべてのエントリを、すべてのユーザが読み取り可能なように定義する場合

access to *
        by * read

  「ou=UserX,o=fujitsu,dc=com」というDN文字列のエントリを含む、その配下のすべてのエントリ、およびサブツリー内のすべてのエントリを、すべてのユーザが読み取り可能なように定義する場合

access to dn.subtree="ou=UserX,o=fujitsu,dc=com"
        by * read

  「cn=public,o=fujitsu,dc=com」というDN文字列のエントリを、すべてのユーザが読み取り可能なように定義する場合

access to dn="cn=public,o=fujitsu,dc=com"
        by * read

  userPassword 属性、およびhomePhone 属性の値を、エントリとして登録されているユーザが書き込み(更新)可能なように定義する場合

access to attr=userPassword,homePhone
        by self write

  「cn=public,o=fujitsu,dc=com」というDN文字列のエントリのmail 属性の値を、すべてのユーザが読み取り可能なように定義する場合

access to dn="cn=public,o=fujitsu,dc=com" attr=mail,entry
          by * read

アクセスユーザ<who>の指定

  アクセスユーザ<who>には、アクセス権<accesslevel>を与えるユーザ(クライアントからのアクセス時に指定するバインドDN)を指定します。また、全ユーザを指定することもできます。
  アクセスユーザ<who>の指定は、以下の6種類の記述形式で指定します。また、1つの access ディレクティブには、by 節を複数回指定して、アクセスユーザごとに異なるアクセス権を、同じアクセス対象に対して指定することができます。
  なお、アクセスユーザ<who>は省略できません。

■記述形式

■設定例

  すべてのエントリを、すべてのユーザが検索可能なように定義する場合

access to *
        by * search

  userPassword 属性の値を、エントリとして登録されているユーザが読み取り可能、認証されたユーザが検索可能、その他のすべてのユーザが認証(バインド)可能なように定義する場合

access to attr=userPassword
        by self read
        by users search
        by * auth

  「ou=UserX,o=fujitsu,dc=com」というDN文字列のエントリを含む、その配下のすべてのエントリ、およびサブツリー内のすべてのエントリを、「ou=UserX,o=fujitsu,dc=com」というDN文字列のエントリを含む、その配下のすべてのエントリ、およびサブツリー内のすべてのエントリのDNとバインドDNが一致するユーザが読み取り可能なように定義する場合

access to dn.subtree="ou=UserX,o=fujitsu,dc=com"
        by dn.subtree="ou=UserX,o=fujitsu,dc=com" read

アクセス権<accesslevel>の指定

  アクセス権<accesslevel>には、アクセス対象<what>に対して、アクセスユーザ<who>に与える権利を指定します。
  アクセス権<accesslevel>の指定は、以下の6種類の記述形式で指定します。1つのアクセスユーザ<who>(by 節)につき、1つのアクセス権を指定できます(複数のアクセス権を指定できません)。
  なお、アクセス権<accesslevel>は省略できません。

■記述形式

  各アクセス権は、以下のように、より低い権限のアクセス権をすべて含みます。例えば、write アクセス権は、その他すべてのアクセス権を含むことになります。また、auth アクセス権は、認証操作を他のアクセス権なしで実行するためのアクセスを許可するものです。これは、認証されていないユーザに、パスワードのようなクリティカルリソースへの最低限のアクセス権を許可するために有効です。

アクセス権

認証操作
(バインド)

比較操作

検索操作

読み取り
操作

書き込み
操作

none

×

×

×

×

×

auth

×

×

×

×

compare

×

×

×

search

×

×

read

×

write

○:許可する、×:許可しない

  リポジトリへのアクセスを行う際に必要なアクセス権は以下のとおりです。

■設定例

  telephoneNumber (電話番号)属性を、エントリとして登録されているユーザが書き込み(更新)可能なようにし、その他すべての認証されたユーザが読み取り可能なように定義する場合(認証されていないユーザはアクセスできません)

access to attr=telephoneNumber
        by self write
        by users read