JavaTM 2 Platform
Standard Ed. 5.0

javax.security.auth.kerberos
クラス ServicePermission

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

public final class ServicePermission
extends Permission
implements Serializable

このクラスは、Kerberos サービスと、Kerberos サービスからアクセスする必要のある資格を保護するために使用します。サービス主体とサービスにアクセスするのに必要な資格との一対一のマッピングがあります。そのため、サービス主体へアクセスを許可すると、サービス主体でセキュリティコンテキストを確立するために必要な資格へのアクセスを暗黙的に許可することになります。このことは、資格がキャッシュにあるか KDC と交換することで得られるかに関係なく当てはまります。資格は、チケットを付与するチケット、サービスチケット、または鍵テーブルからの秘密鍵のどれかになります。

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

サービス主体名は、サービスを提供する KerberosPrincipal の標準的な名前です。つまり、KerberosPrincipal は、Kerberos サービス主体を表します。この名前は、大文字と小文字を区別して扱われます。単独のアスタリスクは、サービス主体を意味します。

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

次のアクションを選択できます。


    initiate -              呼び出し側が、サービス主体によって
                            セキュリティコンテキストを初期化するために、
                            資格を使用できる

    accept -                呼び出し側が、特定の主体として
                            セキュリティコンテキストを受け入れるために
                            資格を使用できる
 
たとえば、セキュリティコンテキストを初期化するために 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");
 

導入されたバージョン:
JDK1.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 サービスアクセス権オブジェクトに含まれているかどうかを判定します。

前述したものが 1 つも true でない場合、implies は false を返します。

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

equals

public boolean equals(Object obj)
2 つの ServicePermission オブジェクトが等しいかどうかを判定します。

定義:
クラス Permission 内の equals
パラメータ:
obj - このオブジェクトと等しいかどうかが判定されるオブジェクト
戻り値:
obj が ServicePermissionで、この ServicePermission オブジェクトと同じサービス主体と同じアクションである場合は true
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
このオブジェクトのハッシュコード値を返します。

定義:
クラス Permission 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

getActions

public String getActions()
アクションの正式な文字列表現を返します。現在のアクションを、initiate、accept の順序で返します。

定義:
クラス Permission 内の getActions
戻り値:
Permission のアクション

newPermissionCollection

public PermissionCollection newPermissionCollection()
ServicePermission オブジェクトを格納する PermissionCollection オブジェクトを返します。
ServicePermission オブジェクトの格納形式は、同オブジェクトを任意の順番でコレクションに挿入でき、さらに、PermissionCollection の implies メソッドが効率的かつ矛盾のないように実装できる形式でなければいけません。

オーバーライド:
クラス Permission 内の newPermissionCollection
戻り値:
ServicePermissions を格納するのに適切な新しい PermissionCollection オブジェクト

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。