Oracle Tuxedo CORBAアプリケーション・スタート・ガイド

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

セキュリティの使い方

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

注意: この章では、認証の使用方法を説明します。CORBAセキュリティ環境で利用可能なセキュリティ機能の説明、およびそれらの機能を実装する方法については、Oracle Tuxedoオンライン・ドキュメントの『CORBAアプリケーションにおけるセキュリティの使用』を参照してください。
注意: Oracle Tuxedo CORBA JavaクライアントとOracle Tuxedo CORBA JavaクライアントORBはTuxedo 8.1で非推奨になり、サポートされなくなりました。Oracle Tuxedo CORBA JavaクライアントおよびOracle Tuxedo CORBA JavaクライアントORBのテキスト参照、関連するコード・サンプルはすべて、サード・パーティのJava ORBライブラリの実装/実行の支援と、プログラマによる参照のみに使用する必要があります。
注意: サード・パーティのCORBA Java ORBのテクニカル・サポートは、各ベンダーによって提供されます。Oracle Tuxedoでは、サード・パーティのCORBA Java ORBに関する技術的なサポートやドキュメントは提供していません。

 


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

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

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

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

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

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

 


セキュリティのしくみ

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

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

Oracle TuxedoドメインのCORBAセキュリティのしくみ

ステップは次のとおりです:

  1. クライアント・アプリケーションが、Bootstrapオブジェクトを使用してOracle TuxedoドメインのSecurityCurrentオブジェクトのオブジェクト参照を取得します。
  2. クライアント・アプリケーションが、PrincipalAuthenticatorを取得します。
  3. クライアント・アプリケーションが、Tobj::PrincipalAuthenticator::get_auth_type()メソッドを使用してOracle Tuxedoドメインの認証レベルを取得します。
  4. 適切な認証レベルがクライアント・アプリケーションに返されます。
  5. クライアント・アプリケーションがTobj::PrincipalAuthenticator::logon()メソッドを使用し、適切な認証情報でOracle Tuxedoドメインにログオンします。
注意: Oracle Tuxedo CORBAでは、CORBA Interoperable Naming Service (INS)を利用してもセキュリティ・サービスの初期オブジェクト参照を取得できます。INSブートストラップ処理メカニズムについては、『CORBAプログラミング・リファレンス』を参照してください。

 


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

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

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

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

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

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

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

 


開発手順

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

表4-1 セキュリティを備えるOracle Tuxedo CORBAアプリケーションの開発手順
手順
説明
1
構成ファイルでセキュリティ・レベルを定義します。
2
CORBAクライアント・アプリケーションを記述します。

ステップ1:構成ファイルでのセキュリティ・レベルの定義

Oracle 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に設定します。Oracle Tuxedo CORBAアプリケーションにセキュリティを追加する方法については、Oracle Tuxedoオンライン・ドキュメントの『CORBAアプリケーションにおけるセキュリティの使用』を参照してください。

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

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

  1. Bootstrapオブジェクトを使用し、指定したOracle TuxedoドメインでSecurityCurrentオブジェクトのリファレンスを取得します。
  2. SecurityCurrentオブジェクトからPrincipalAuthenticatorオブジェクトを取得します。
  3. PrincipalAuthenticatorオブジェクトのget_auth_type()オペレーションを使用して、Oracle Tuxedoドメインが想定するタイプの認証を返します。

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

リスト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());
//Get the PrincipalAuthenticator
SecurityLevel2::PrincipalAuthenticator_var var_principal_authenticator_oref =
var_security_current_ref->principal_authenticator();
//Narrow the PrincipalAuthenticator
Tobj::PrincipalAuthenticator_var var_bea_principal_authenticator =
Tobj::PrincipalAuthenticator::_narrow (
var_principal_authenticator_oref.in());
//Determine the security level
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);

  先頭に戻る       前  次