BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   Tuxedo CORBA アプリケーション入門   |   前へ   |   次へ   |   目次   |   索引

セキュリティの使い方

 

ここでは、次の内容について説明します。

注記 この章では、認証の使い方を説明します。CORBA セキュリティ環境で利用可能なセキュリティ機能の説明、およびそれらの機能をインプリメントする方法については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。

 


セキュリティ・サービスの概要

BEA Tuxedo 製品の CORBA 環境では、CORBA サービスのセキュリティ・サービスに基づくセキュリティ・モデルが提供されます。BEA Tuxedo CORBA のセキュリティ・モデルでは、CORBA サービスのセキュリティ・サービスの認証部分がインプリメントされます。

CORBA 環境では、ドメイン単位でセキュリティ情報を定義します。ドメインのセキュリティ・レベルは、コンフィギュレーション・ファイルで定義します。クライアント・アプリケーションでは、SecurityCurrent オブジェクトを使用して BEA Tuxedo ドメインにログオンするための認証情報を提示します。

利用できる認証レベルは以下のとおりです。

注記 クライアント・アプリケーションが認証を受けず、セキュリティ・レベルが TOBJ_NOAUTH の場合、BEA Tuxedo ドメインの IIOP リスナ/ハンドラはその IIOP リスナ/ハンドラに送信されるユーザ名とクライアント・アプリケーション名で CORBA クライアント・アプリケーションを登録します。

BEA Tuxedo CORBA セキュリティ環境では、SecurityCurrent オブジェクトのプロパティとして PrincipalAuthenticator と Credentials だけがサポートされます。SecurityLevel1::Current インターフェイスと SecurityLevel2::Current インターフェイスの詳細については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo CORBA プログラミング・リファレンス』を参照してください。

 


セキュリティのしくみ

図 4-1 は、BEA Tuxedo ドメインの CORBA セキュリティのしくみを示しています。

図4-1 BEA Tuxedo ドメインの CORBA セキュリティのしくみ


 

CORBA セキュリティは、次のステップで実現されます。

  1. クライアント・アプリケーションが、Bootstrap オブジェクトを使用して BEA Tuxedo ドメインの SecurityCurrent オブジェクトのオブジェクト・リ ファレンスを取得します。

  2. クライアント・アプリケーションが、PrincipalAuthenticator を取得します。

  3. クライアント・アプリケーションが、 Tobj::PrincipalAuthenticator::get_auth_type() メソッドを使用して BEA Tuxedo ドメインの認証レベルを取得します。

  4. 適切な認証レベルがクライアント・アプリケーションに返されます。

  5. クライアント・アプリケーションが Tobj::PrincipalAuthenticator::logon() メソッドを使用し、適切な認証 情報で BEA Tuxedo ドメインにログオンします。

注記 BEA Tuxedo CORBA では、CORBA インターオペラブル・ネーミング・サービス (INS) を利用してもセキュリティ・サービスの初期オブジェクト・リファレンスを取得できます。INS ブートストラップ処理メカニズムについては、『BEA Tuxedo CORBA プログラミング・リファレンス』を参照してください。

 


Security サンプル・アプリケーション

Security サンプル・アプリケーションは、パスワード認証を使用する方法を例示します。Security サンプル・アプリケーションでは、そのアプリケーションを使用する学生ごとに ID とパスワードが必要です。Security サンプル・アプリケーションは次のように機能します。

注記 証明書の認証は、Secure Simpapp サンプル・アプリケーションで説明されます。

図 4-2 は、Security サンプル・アプリケーションを示しています。

図4-2 Security サンプル・アプリケーション


 

Security サンプル・アプリケーションのソース・ファイルは、BEA Tuxedo ソフトウェアの \samples\corba\university ディレクトリにあります。Security サンプル・アプリケーションのビルドと実行については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。

 


開発手順

表 4-1 は、認証セキュリティを採用する BEA Tuxedo CORBA アプリケーションの開発手順を示しています。

表4-1 セキュリティを備える BEA Tuxedo CORBA アプリケーションの開発手順

手順

説明

1

コンフィギュレーション・ファイルでセキュリティ・レベルを定義します。

2

CORBA クライアント・アプリケーションを記述します。

ステップ 1: コンフィギュレーション・ファイルでのセキュリティ・レベルの定義

BEA Tuxedo ドメインのセキュリティ・レベルは、コンフィギュレーション・ファイルの RESOURCES セクションの SECURITY パラメータを目的のセキュリティ・レベルに設定することで定義します。表 4-2 は、SECURITY パラメータのオプションを示しています。

表4-2 SECURITY パラメータのオプション

オプション

定義

NONE

ドメインでセキュリティはインプリメントされません。このオプションはデフォルトです。このオプションは、TOBJ_NOAUTH レベルの認証に対応します。

APP_PW

クライアント・アプリケーションでは、初期化時にアプリケーション・パスワードを提示することが必要です。tmloadcf コマンドがアプリケーション・パスワードを要求します。このオプションは、TOBJ_SYSAUTH レベルの認証に対応します。

USER_AUTH

アプリケーション・パスワードが必要です。クライアント・アプリケーションの初期化時にユーザ単位の認証が実行されます。このオプションは、TOBJ_APPAUTH レベルの認証に対応します。


 

Security サンプル・アプリケーションでは、SECURITY パラメータが APP_PW (アプリケーション・レベルのセキュリティ) に設定されます。BEA Tuxedo CORBA アプリケーションにセキュリティを追加する方法については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。

ステップ 2: CORBA クライアント・アプリケーションの記述

次の処理を実行するクライアント・アプリケーション・コードを記述します。

  1. Bootstrap オブジェクトを使用して、特定の BEA Tuxedo ドメインの SecurityCurrent オブジェクトのリファレンスを取得します。

  2. SecurityCurrent オブジェクトから PrincipalAuthenticator オブジェクトを取得 します。

  3. PrincipalAuthenticator オブジェクトの get_auth_type() オペレーションを 使用して、BEA Tuxedo ドメインが想定するタイプの認証を返します。

リスト 4-1リスト 4-2 は Security サンプル・アプリケーションの CORBA C++ クライアント・アプリケーションと CORBA Java クライアント・アプリケーションの一部分であり、セキュリティの開発手順を示しています。

リスト 4-1 CORBA C++ クライアント・アプリケーションのセキュリティの例

CORBA::Object_var var_security_current_oref =
bootstrap.resolve_initial_references("SecurityCurrent");
SecurityLevel2::Current_var var_security_current_ref =
SecurityLevel2::Current::_narrow(var_security_current_oref.in());

//PrincipalAuthenticator を取得
SecurityLevel2::PrincipalAuthenticator_var var_principal_authenticator_oref =
var_security_current_ref->principal_authenticator();
//PrincipalAuthenticator をナロー変換
Tobj::PrincipalAuthenticator_var var_bea_principal_authenticator =
Tobj::PrincipalAuthenticator::_narrow (
var_principal_authenticator_oref.in());

//セキュリティ・レベルを指定
Tobj::AuthType auth_type = var_bea_principal_authenticator->get_auth_type();
Security::AuthenticationStatus status = var_bea_principalauthenticator->logon(
user_name,
client_name,
system_password,
user_password,
0);

リスト 4-2 CORBA Java クライアント・アプリケーションのセキュリティの例

org.omg.CORBA.Object SecurityCurrentObj =
gBootstrapObjRef.resolve_initial_references("SecurityCurrent");
org.omg.SecurityLevel2.Current secCur =
org.omg.SecurityLevel2.CurrentHelper.narrow(SecurityCurrentObj);

//PrincipalAuthenticator を取得
org.omg.SecurityLevel2.PrincipalAuthenticator authlevel2 =
secCur.principal_authenticator();
//PrincipalAuthenticator をナロー変換
com.beasys.Tobj.PrincipalAuthenticatorObjRef gPrinAuthObjRef =
(com.beasys.Tobj.PrincipalAuthenticator)
org.omg.SecurityLevel2.PrincipalAuthenticatorHelper.narrow(authlevel2);

//セキュリティ・レベルを指定
com.beasys.Tobj.Authtype authType = gPrinAuthObjRef.get_auth_type();

org.omg.Security.AuthenticationStatus status = gPrinAuthObjRef.logon
(gUserName, ClientName, gSystemPassword, gUserPassword,0);

 

back to top previous page next page