bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo CORBA アプリケーション入門

 Previous Next Contents Index View as PDF  

セキュリティの使い方

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

注記 この章では、認証の使い方を説明します。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 Next
Contact e-docsContact BEAwebmasterprivacy