-
- すべてのスーパー・インタフェース:
Owner
非推奨。このパッケージは1.2以降、java.security.Policy
および関連するクラスに置き換えられました。
@Deprecated(since="9") public interface Acl extends Owner
アクセス制御リスト(ACL: Access Control List)を表すインタフェースです。 アクセス制御リストは、リソースに対するアクセスを保護するデータ構造体です。ACLは、複数のACL項目を持つデータ構造体だと考えることができます。 それぞれのACL項目は、特定のプリンシパルに関連するアクセス権のセットを含んでいます。 (プリンシパルは個別のユーザーやグループなどのエンティティを表す)。 さらに、各ACL項目は、正または負に指定されています。 正の場合は、関連するプリンシパルにアクセス権が与えられます。 負の場合、アクセス権は拒否されます。
各ACL中のACLエントリは次のルールに従います。
- 各主体は、正と負のACLエントリを多くても1つずつしか持つことができない。すなわち、どの主体も、複数の正または負のACLエントリを持つことは許されていない。 各エントリは、(正負によって、それぞれ)許可または拒否すべきアクセス権のセットを指定する。
- エントリのない主体に対しては、nullの(空の)アクセス権のセットを持つものと見なす。
- 主体に、あるアクセス権を与える正のエントリがあり、同時に同じアクセス権を拒否する負のエントリがある場合、結果的には、そのアクセス権は許可も拒否もされていないことになる。
- 個人のアクセス権は常に、それが属しているグループの(複数の場合もある)アクセス権に優先する。 すなわち、個人の負のアクセス権(特定のアクセス権の拒否)は、そのグループの正のアクセス権に優先する。 また、個人の正のアクセス権はそのグループの負のアクセス権より優先する。
java.security.acl
パッケージは、ACLおよび関連するデータ構造(ACLエントリ、グループ、パーミッションなど。)へのインタフェースを提供します。java.security.acl.Acl
インタフェースはjava.security.acl.Owner
インタフェースを拡張したものです。 Ownerインタフェースは、各ACLの所有者のリストを維持するために使用します。 所有者にしかACLの変更は許されません。 たとえば、ACLのaddEntry
メソッドを呼び出し、新しいACLエントリをACLに追加することができるのは所有者だけです。- 導入されたバージョン:
- 1.1
- 関連項目:
AclEntry
,Owner
,getPermissions(java.security.Principal)
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 boolean
addEntry(Principal caller, AclEntry entry)
非推奨。ACLエントリをこのACLに追加します。boolean
checkPermission(Principal principal, Permission permission)
非推奨。指定された主体が指定されたアクセス権を持っているかどうかを判定します。Enumeration<AclEntry>
entries()
非推奨。このACL内のエントリの列挙を返します。String
getName()
非推奨。このACLの名前を返します。Enumeration<Permission>
getPermissions(Principal user)
非推奨。指定された主体(個人またはグループなどのエンティティを表す)に対して許可されたアクセス権のセットに対する列挙を返します。boolean
removeEntry(Principal caller, AclEntry entry)
非推奨。このACLから1つのACLを削除します。void
setName(Principal caller, String name)
非推奨。ACLエントリをこのACLに追加します。String
toString()
非推奨。ACLの内容を文字列表現で返します。-
インタフェース java.security.acl.Ownerから継承されたメソッド
addOwner, deleteOwner, isOwner
-
-
-
-
メソッドの詳細
-
setName
void setName(Principal caller, String name) throws NotOwnerException
非推奨。ACLエントリをこのACLに追加します。- パラメータ:
caller
- このメソッドを起動する主体。 このACLの所有者になっている必要がある。name
-このACLに与える名前。- 例外:
NotOwnerException
- 呼び出す主体がこのACLの所有者でない場合。- 関連項目:
getName()
-
getName
String getName()
非推奨。このACLの名前を返します。- 戻り値:
- このACLの名前。
- 関連項目:
setName(java.security.Principal, java.lang.String)
-
addEntry
boolean addEntry(Principal caller, AclEntry entry) throws NotOwnerException
非推奨。ACLエントリをこのACLに追加します。 エントリとは、主体(個人またはグループなど)をアクセス権のセットに関連付けるものです。 各主体は、正のACLエントリ(主体に与えるアクセス権を指定する)と負のACLエントリ(拒否するアクセス権を指定する)を多くても1つずつしか持つことはできません。 ACL内にすでに同じ種類(正、負)のACLエントリが存在する場合は、falseが返されます。- パラメータ:
caller
- このメソッドを起動する主体。 このACLの所有者になっている必要がある。entry
- このACLに追加されるACLエントリ。- 戻り値:
- 成功した場合はtrue。このACLに、同じ主体に対する同じ種類(正、負)のACLエントリがすでに存在する場合はfalse。
- 例外:
NotOwnerException
- 呼び出す主体がこのACLの所有者でない場合。
-
removeEntry
boolean removeEntry(Principal caller, AclEntry entry) throws NotOwnerException
非推奨。このACLから1つのACLを削除します。- パラメータ:
caller
- このメソッドを起動する主体。 このACLの所有者になっている必要がある。entry
- このACLから削除するACLエントリ。- 戻り値:
- 成功した場合はtrue。エントリがこのACLの一部でない場合はfalse。
- 例外:
NotOwnerException
- 呼び出す主体がこのACLの所有者でない場合。
-
getPermissions
Enumeration<Permission> getPermissions(Principal user)
非推奨。指定された主体(個人またはグループなどのエンティティを表す)に対して許可されたアクセス権のセットに対する列挙を返します。 許可されるアクセス権のセットは次のようにして決定されます。- 指定された主体に対して、このアクセス制御リスト中にエントリが存在しない場合は、空のアクセス権のセットが返される。
- それ以外の場合は、指定された主体のグループ・アクセス権のセットが決定される。 (主体は1つ以上のグループに属すことができる。ここで、グループとは主体のグループのことで、Groupインタフェースによって表される)。 グループの正のアクセス権セットは、主体が属する各グループの、正のすべてのアクセス権の和集合になる。 グループの負のアクセス権セットは、主体の属する各グループの、負のすべてのアクセス権の和集合になる。 正と負の両方のアクセス権セットにあるアクセス権が存在した場合は、そのアクセス権は両方から削除される。
個人の正と負のアクセス権セットも決定される。 正のアクセス権セットには、その主体に対する正のACLエントリで(存在する場合)指定されているアクセス権が含まれる。 同様に、負のアクセス権セットには、その主体に対する負のACLエントリで(存在する場合)指定されているアクセス権が含まれる。 個人の正(または負)のアクセス権セットは、このACL内に正(または負)のACLエントリが存在しない場合はnullと見なされる。
このあと、主体に与えられるアクセス権のセットが、個人のアクセス権をグループのアクセス権よりも常に優先するという単純なルールを使用して決定される。 すなわち、主体の個人の負のアクセス権セット(あるアクセス権の拒否)はグループの正のアクセス権セットに優先し、主体の個人の正のアクセス権セットはグループの負のアクセス権セットに優先する。
- パラメータ:
user
- そのアクセス権セットを返す主体。- 戻り値:
- 主体に許可されるアクセス権を指定するアクセス権セット。
-
entries
Enumeration<AclEntry> entries()
非推奨。このACL内のエントリの列挙を返します。 列挙中の各要素はAclEntry型です。- 戻り値:
- このACL内のエントリの列挙。
-
checkPermission
boolean checkPermission(Principal principal, Permission permission)
非推奨。指定された主体が指定されたアクセス権を持っているかどうかを判定します。 持っている場合はtrueを返し、そうでない場合はfalseを返します。 より詳しく説明すると、このメソッドは、指定されたアクセス権が指定された主体の許可アクセス権セットのメンバーであるかどうかを確認します。 許可アクセス権セットは、getPermissions
メソッドと同じアルゴリズムに基づいて決定されます。- パラメータ:
principal
- 主体。有効な認証済みの主体を前提とする。permission
- 判定対象のアクセス権。- 戻り値:
- 主体が指定されたアクセス権を持つ場合はtrue、そうでない場合はfalse。
- 関連項目:
getPermissions(java.security.Principal)
-
-