モジュール java.security.jgss

クラスServicePermission

java.lang.Object
java.security.Permission
javax.security.auth.kerberos.ServicePermission
すべての実装されたインタフェース:
Serializable, Guard

public final class ServicePermission
extends Permission
implements Serializable
このクラスは、Kerberosサービスと、Kerberosサービスからアクセスする必要のある資格を保護するために使用します。 サービス主体とサービスにアクセスするために必要な資格は1対1で対応します。 そのため、サービス主体にアクセス権を付与すると、そのサービス主体とのセキュリティ・コンテキストを確立するために必要な資格に対するアクセス権を暗黙的に付与することになります。 これは、資格が、キャッシュ内にある場合にも、KDCとの交換によって獲得される場合にも当てはまります。 資格は、チケットを付与するチケット、あるいはキー・テーブルから取得されるサービス・チケットまたは秘密キーのいずれかになります。

ServicePermissionには、サービス主体名と、資格が使用されるコンテキストを指定するアクションのリストが含まれます。

サービス・プリンシパル名は、サービスを提供するKerberosPrincipalの正規名です。つまり、KerberosPrincipalはKerberosサービス・プリンシパルを表します。 この名前では、大文字と小文字が区別されます。 単独のアスタリスクは任意のサービス主体を表す。

このアクセス権を付与するということは、アクションで指示されたコンテキスト内にキャッシュされた資格(TGT、サービス・チケット、または秘密キー)を呼出し側が使用できるということを意味します。 TGTの場合は、このアクセス権を付与するということは、Authentication Service交換でTGTを得ることができることも意味します。

このパーミッションを与えることは、パーミッション・サービス・プリンシパルがこの領域にある限り、Kerberosレルムを指定せずにKerberosPrincipalまたはGSSNameを作成することも意味します。

次の操作を指定できます。

    initiate -              allow the caller to use the credential to
                            initiate a security context with a service
                            principal.

    accept -                allow the caller to use the credential to
                            accept security context as a particular
                            principal.
 
たとえば、TGTにアクセスしてセキュリティ・コンテキストを開始するためのアクセス権を指定するには、次のようにアクセス権を作成します。
     ServicePermission("krbtgt/EXAMPLE.COM@EXAMPLE.COM", "initiate");
 

サービス・チケットを取得し、「host」サービスを使用してコンテキストを開始するには、次のようにアクセス権を作成します。

     ServicePermission("host/foo.example.com@EXAMPLE.COM", "initiate");
 

Kerberos化されたサーバーの場合、アクションは「accept」になります。 たとえば、kerberos化された「host」サービス(telnetなど)の秘密キーにアクセスして使用するために必要なアクセス権は、次のように作成します。

     ServicePermission("host/foo.example.com@EXAMPLE.COM", "accept");
 

導入されたバージョン:
1.4
関連項目:
直列化された形式
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ 説明
    ServicePermission​(String servicePrincipal, String action)
    指定されたservicePrincipalおよびactionで新しいServicePermissionを作成します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    boolean equals​(Object obj)
    2つのServicePermissionオブジェクトが等しいかどうかを判定します。
    String getActions()
    アクションの正規の文字列表現を返します。
    int hashCode()
    このオブジェクトのハッシュ・コード値を返します。
    boolean implies​(Permission p)
    指定されたアクセス権が、このKerberosサービス・アクセス権オブジェクトに含まれているかどうかを判定します。
    PermissionCollection newPermissionCollection()
    ServicePermissionオブジェクトを格納するための新しいPermissionCollectionオブジェクトを返します。

    クラス java.security.Permissionで宣言されたメソッド

    checkGuard, getName, toString

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • ServicePermission

      public ServicePermission​(String servicePrincipal, String action)
      指定されたservicePrincipalおよびactionで新しいServicePermissionを作成します。
      パラメータ:
      servicePrincipal - サービス主体の名前。 単独のアスタリスクは任意のサービス主体を表す。
      action - アクション文字列
  • メソッドの詳細

    • implies

      public boolean implies​(Permission p)
      指定されたアクセス権が、このKerberosサービス・アクセス権オブジェクトに含まれているかどうかを判定します。

      具体的には、次のすべてがtrueであればtrueを返します。(いずれかがない場合はfalseを返します。):

      • pServicePermissionのインスタンスです。
      • pアクションは、このServicePermissionアクションの適切なサブセットです。
      • pの名前がこのServicePermissionの名前と等しいか、このServicePermissionの名前が"*"です。

      定義:
      implies 、クラス:  Permission
      パラメータ:
      p - チェック対象のアクセス権。
      戻り値:
      指定されたアクセス権がこのオブジェクトに含まれる場合はtrue、そうでない場合はfalse。
    • equals

      public boolean equals​(Object obj)
      2つのServicePermissionオブジェクトが等しいかどうかを判定します。
      定義:
      equals 、クラス:  Permission
      パラメータ:
      obj - このオブジェクトと等しいかどうかが判定されるオブジェクト。
      戻り値:
      objがServicePermissionで、サービス主体およびアクションがこのServicePermissionオブジェクトと同じである場合はtrue。
      関連項目:
      Object.hashCode()HashMap
    • hashCode

      public int hashCode()
      このオブジェクトのハッシュ・コード値を返します。
      定義:
      hashCode 、クラス:  Permission
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • getActions

      public String getActions()
      アクションの正規の文字列表現を返します。 現在のアクションを、常にinitiate、acceptの順序で返します。
      定義:
      getActions 、クラス:  Permission
      戻り値:
      このPermissionのアクション。
    • newPermissionCollection

      public PermissionCollection newPermissionCollection()
      ServicePermissionオブジェクトを格納するための新しいPermissionCollectionオブジェクトを返します。
      ServicePermissionオブジェクトの格納方法は、このオブジェクトを任意の順番でコレクションに挿入でき、さらに、PermissionCollectionのimpliesメソッドを効率的で一貫性のある方法で実装できるものである必要があります。
      オーバーライド:
      newPermissionCollection、クラス: Permission
      戻り値:
      ServicePermissionsを格納するのに適切な新しいPermissionCollectionオブジェクト。