- 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を作成します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 booleanequals(Object obj)2つのServicePermissionオブジェクトが等しいかどうかを判定します。StringgetActions()アクションの正規の文字列表現を返します。inthashCode()このオブジェクトのハッシュ・コード値を返します。booleanimplies(Permission p)指定されたアクセス権が、このKerberosサービス・アクセス権オブジェクトに含まれているかどうかを判定します。PermissionCollectionnewPermissionCollection()ServicePermissionオブジェクトを格納するための新しいPermissionCollectionオブジェクトを返します。- 
クラス java.security.Permissionで宣言されたメソッドcheckGuard, getName, toString
 
- 
 
- 
- 
- 
メソッドの詳細- 
impliespublic boolean implies(Permission p) 指定されたアクセス権が、このKerberosサービス・アクセス権オブジェクトに含まれているかどうかを判定します。具体的には、次のすべてがtrueであればtrueを返します。(いずれかがない場合はfalseを返します。): -  pはServicePermissionのインスタンスです。
-  pアクションは、このServicePermissionアクションの適切なサブセットです。
-  pの名前がこのServicePermissionの名前と等しいか、このServicePermissionの名前が"*"です。
 - 定義:
- implies、クラス:- Permission
- パラメータ:
- p- チェック対象のアクセス権。
- 戻り値:
- 指定されたアクセス権がこのオブジェクトに含まれる場合はtrue、そうでない場合はfalse。
 
-  pは
 - 
equalspublic boolean equals(Object obj) 2つのServicePermissionオブジェクトが等しいかどうかを判定します。- 定義:
- equals、クラス:- Permission
- パラメータ:
- obj- このオブジェクトと等しいかどうかが判定されるオブジェクト。
- 戻り値:
- objがServicePermissionで、サービス主体およびアクションがこのServicePermissionオブジェクトと同じである場合はtrue。
- 関連項目:
- Object.hashCode()、- HashMap
 
 - 
hashCodepublic int hashCode() このオブジェクトのハッシュ・コード値を返します。- 定義:
- hashCode、クラス:- Permission
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
 - 
getActionspublic String getActions() アクションの正規の文字列表現を返します。 現在のアクションを、常にinitiate、acceptの順序で返します。- 定義:
- getActions、クラス:- Permission
- 戻り値:
- このPermissionのアクション。
 
 - 
newPermissionCollectionpublic PermissionCollection newPermissionCollection() ServicePermissionオブジェクトを格納するための新しいPermissionCollectionオブジェクトを返します。
 ServicePermissionオブジェクトの格納方法は、このオブジェクトを任意の順番でコレクションに挿入でき、さらに、PermissionCollectionのimpliesメソッドを効率的で一貫性のある方法で実装できるものである必要があります。- オーバーライド:
- newPermissionCollection、クラス:- Permission
- 戻り値:
- ServicePermissionsを格納するのに適切な新しいPermissionCollectionオブジェクト。
 
 
- 
 
-