モジュール java.base
パッケージ java.security.acl

インタフェースAcl

すべてのスーパー・インタフェース:
Owner

@Deprecated(since="9",
            forRemoval=true)
public interface Acl
extends Owner
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
このクラスは推奨されなくなり、Java SEの将来のバージョンで削除される可能性があります。 これは1.2以降java.security.Policyおよび関連するクラスに置き換えられました。
アクセス制御リスト(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)
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    ACLエントリをこのACLに追加します。
    boolean checkPermission​(Principal principal, Permission permission)
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    指定された主体が指定されたアクセス権を持っているかどうかを判定します。
    Enumeration<AclEntry> entries()
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    このACL内のエントリの列挙を返します。
    String getName()
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    このACLの名前を返します。
    Enumeration<Permission> getPermissions​(Principal user)
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    指定された主体(個人またはグループなどのエンティティを表す)に対して許可されたアクセス権のセットに対する列挙を返します。
    boolean removeEntry​(Principal caller, AclEntry entry)
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    このACLから1つのACLを削除します。
    void setName​(Principal caller, String name)
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    ACLエントリをこのACLに追加します。
    String toString()
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    ACLの内容を文字列表現で返します。

    インタフェース java.security.acl.Ownerで宣言されたメソッド

    addOwner, deleteOwner, isOwner
  • メソッドの詳細

    • setName

      void setName​(Principal caller, String name) throws NotOwnerException
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      ACLエントリをこのACLに追加します。
      パラメータ:
      caller - このメソッドを起動する主体。 このACLの所有者になっている必要がある。
      name -このACLに与える名前。
      例外:
      NotOwnerException - 呼び出す主体がこのACLの所有者でない場合。
      関連項目:
      getName()
    • getName

      String getName()
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      このACLの名前を返します。
      戻り値:
      このACLの名前。
      関連項目:
      setName(java.security.Principal, java.lang.String)
    • addEntry

      boolean addEntry​(Principal caller, AclEntry entry) throws NotOwnerException
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      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
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      このACLから1つのACLを削除します。
      パラメータ:
      caller - このメソッドを起動する主体。 このACLの所有者になっている必要がある。
      entry - このACLから削除するACLエントリ。
      戻り値:
      成功した場合はtrue。エントリがこのACLの一部でない場合はfalse。
      例外:
      NotOwnerException - 呼び出す主体がこのACLの所有者でない場合。
    • getPermissions

      Enumeration<Permission> getPermissions​(Principal user)
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      指定された主体(個人またはグループなどのエンティティを表す)に対して許可されたアクセス権のセットに対する列挙を返します。 許可されるアクセス権のセットは次のようにして決定されます。
      • 指定された主体に対して、このアクセス制御リスト中にエントリが存在しない場合は、空のアクセス権のセットが返される。
      • それ以外の場合は、指定された主体のグループ・アクセス権のセットが決定される。 (主体は1つ以上のグループに属すことができる。ここで、グループとは主体のグループのことで、Groupインタフェースによって表される)。 グループの正のアクセス権セットは、主体が属する各グループの、正のすべてのアクセス権の和集合になる。 グループの負のアクセス権セットは、主体の属する各グループの、負のすべてのアクセス権の和集合になる。 正と負の両方のアクセス権セットにあるアクセス権が存在した場合は、そのアクセス権は両方から削除される。

        個人の正と負のアクセス権セットも決定される。 正のアクセス権セットには、その主体に対する正のACLエントリで(存在する場合)指定されているアクセス権が含まれる。 同様に、負のアクセス権セットには、その主体に対する負のACLエントリで(存在する場合)指定されているアクセス権が含まれる。 個人の正(または負)のアクセス権セットは、このACL内に正(または負)のACLエントリが存在しない場合はnullと見なされる。

        このあと、主体に与えられるアクセス権のセットが、個人のアクセス権をグループのアクセス権よりも常に優先するという単純なルールを使用して決定される。 すなわち、主体の個人の負のアクセス権セット(あるアクセス権の拒否)はグループの正のアクセス権セットに優先し、主体の個人の正のアクセス権セットはグループの負のアクセス権セットに優先する。

      パラメータ:
      user - そのアクセス権セットを返す主体。
      戻り値:
      主体に許可されるアクセス権を指定するアクセス権セット。
    • entries

      Enumeration<AclEntry> entries()
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      このACL内のエントリの列挙を返します。 列挙中の各要素はAclEntry型です。
      戻り値:
      このACL内のエントリの列挙。
    • checkPermission

      boolean checkPermission​(Principal principal, Permission permission)
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      指定された主体が指定されたアクセス権を持っているかどうかを判定します。 持っている場合はtrueを返し、そうでない場合はfalseを返します。 より詳しく説明すると、このメソッドは、指定されたアクセス権が指定された主体の許可アクセス権セットのメンバーであるかどうかを確認します。 許可アクセス権セットは、getPermissionsメソッドと同じアルゴリズムに基づいて決定されます。
      パラメータ:
      principal - 主体。有効な認証済みの主体を前提とする。
      permission - 判定対象のアクセス権。
      戻り値:
      主体が指定されたアクセス権を持つ場合はtrue、そうでない場合はfalse。
      関連項目:
      getPermissions(java.security.Principal)
    • toString

      String toString()
      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      ACLの内容を文字列表現で返します。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      ACLの内容の文字列表現。