Java 2セキュリティの統合

Java 2で実行すると、ORBはJava 2権限フレームワークを使用してAPIの次の内容を保護し、十分な権限を持つコードベースによってのみ正常に呼び出せるようにします。
許可クラス
名前
アクション
com.sssw.jbroker.ORBPermission
"create"
"shutdown"
-
com.sssw.jbroker.InitialReferencesPermission
初期参照名
または
"*" (任意の名前)
"write"
com.sssw.jbroker.TransactionServicePermission
TransactionServiceクラス名
"identify"
com.sssw.jbroker.POAPermission
"create"
"destroy"
"manage"
-
com.sssw.jbroker.SecurityServicePermission
"setContext"
"unsetContext"
"setPrincipal"*
"unsetPrincipal"*
"thread"
"orb"
com.sssw.jbroker.NameServicePermission
"create"
"transient"
"persistent"
com.sssw.jbroker.SSLPermission
"enableTLS"
"enableV2"
"addClientHandler"
"addServerHandler"
"addCertChain"
"addCACert"
"setCipherSuites"
-
ORB固有のJava 2許可(* = 推奨されません)

注記: Java 2セキュリティをオンにして実行するためには、ORBをJava 2拡張としてインストールする必要があります。 ORBのインストール時にそのように設定しなかった場合は、ここに示されている指示に従ってください。
ここで、各ORB許可について簡単に説明します。

ORB許可

2つのORB許可は、createおよびshutdownです。 呼び出し側は、create ORB許可で(非シングルトン)ORBのインスタンスを作成できるようにする必要があります。 この許可はORB.init が非シングルトンアプリケーションORBの作成のために呼び出されるときに確認されます。shutdown ORB許可は、orb.shutdownメソッドが呼び出されるときに確認されます。

InitialReferences許可

InitialReferencesPermissionは、初期参照の読み取り/書き込みを保護するために使用されます。許可の名前は、初期オブジェクト参照の名前またはすべての初期オブジェクト名を表す「*」のいずれかです。サポートされている2つのアクションは、readおよびwriteです。読み取りアクションの許可は、ORB.resolve_initial_referencesが呼び出されるときに確認されます。 書き込みアクションの許可は、irs.html">InitialReferencesService (IRS)のbindメソッドが呼び出されるときに確認されます。

TransactionService許可

TransactionService許可は、トランザクションサービスとしてインスタンス化され、TSIdentificationインタフェースに対して識別できるJavaクラス名を指定するために使用されます。

POA許可

POA許可はPOAインスタンスの作成、破棄、および管理(POAマネージャを通して)を保護します。定義される3つの名前は、createdestroy、およびmanageで、POA.create_POA、POA.destroy、およびPOA.the_POAManager メソッドがそれぞれ呼び出されるときに確認されます。

SecurityService許可

SecurityService許可は、信頼コードがスレッド/ORBレベルSecurityContextsのみを設定/取得できることを確実にするために確認されます。

NameService許可

NameService許可は、NameServiceFactory">が「一時的」または「持続的」なインスタンスを作成するために事前に確認されます。

SSL許可

種々のSSL許可が、CertificateManagerインタフェースのメソッドを保護します。

セキュリティポリシーファイルの例

次のようなセキュリティファイルが ORBの例で使用されます。 ORBのインストールについては、「セキュリティポリシー 」ファイルを参照してください。
 
//
// Java 2 Security Policy file for ORB examples
//

// permissions for ORB examples
grant codebase "file:/opt/jbrokerORB40/examples/lib-"
{
    permission java.io.FilePermission
        "/home/user1/jbroker21/examples/-", "read, write";

    permission java.net.SocketPermission
        "*:1024-","listen, connect, accept, resolve";
    permission java.net.SocketPermission
        "230.0.0.1","connect, accept, resolve";

    permission java.util.PropertyPermission
        "java.naming.factory.initial", "read";

    permission com.sssw.jbroker.ORBPermission "create";
    permission com.sssw.jbroker.ORBPermission "shutdown";

    permission com.sssw.jbroker.InitialReferencesPermission
        "*", "read";
    permission com.sssw.jbroker.InitialReferencesPermission
        "NameService", "read, write";

    permission com.sssw.jbroker.SecurityServicePermission
        "setContext", "thread, orb";
    permission com.sssw.jbroker.SecurityServicePermission
        "unsetContext", "thread, orb";

    permission com.sssw.jbroker.NameServicePermission
        "create", "transient, persistent";

    permission com.sssw.jbroker.TransactionServicePermission
        "txHello.MyJTS", "identify";

    permission com.sssw.jbroker.POAPermission "create";
    permission com.sssw.jbroker.POAPermission "destroy";
    permission com.sssw.jbroker.POAPermission "manage";

    permission com.sssw.jbroker.SSLPermission "*";
};

JDK 1.2セキュリティポリシーファイルが、ORBの例により使用されます。

Copyright © 1998-2003, Novell, Inc.All rights reserved.