bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA アプリケーション入門 > セキュリティの使い方 |
Tuxedo CORBA アプリケーション入門
|
セキュリティの使い方
ここでは、以下の内容について説明します。
注記 この章では、認証の使い方を説明します。CORBA セキュリティ環境で利用可能なセキュリティ機能の説明、およびそれらの機能をインプリメントする方法については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』 を参照してください。
セキュリティ・サービスの概要
BEA Tuxedo 製品の CORBA 環境では、CORBA サービスのセキュリティ・サービスに基づくセキュリティ・モデルが提供されます。BEA Tuxedo CORBA のセキュリティ・モデルでは、CORBA サービスのセキュリティ・サービスの認証部分がインプリメントされます。
CORBA 環境では、ドメイン単位でセキュリティ情報を定義します。ドメインのセキュリティ・レベルは、コンフィギュレーション・ファイルで定義します。クライアント・アプリケーションでは、SecurityCurrent オブジェクトを使用して BEA Tuxedo ドメインにログオンするための認証情報を提示します。
利用できる認証レベルは以下のとおりです。
認証はまったく必要ありません。ただし、クライアント・アプリケーションは認証を受け、ユーザ名とクライアント・アプリケーション名を指定することができます。パスワードは不要です。
クライアント・アプリケーションは BEA Tuxedo ドメインの認証を受け、ユーザ名、クライアント・アプリケーション名、およびアプリケーション・パスワードを指定する必要があります。
TOBJ_SYSAUTH 情報のほかに、クライアント・アプリケーションはアプリケーション固有の情報を指定する必要があります。デフォルトの BEA Tuxedo CORBA 認証サービスがアプリケーション・コンフィギュレーションで使用される場合、クライアント・アプリケーションはユーザ・パスワードを指定する必要があります。それ以外の場合、クライアント・アプリケーションはそのアプリケーションのカスタム認証サービスによって解釈される認証データを指定します。
注記 クライアント・アプリケーションが認証を受けず、セキュリティ・レベルが 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 セキュリティのしくみ
注記 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: コンフィギュレーション・ファイルでのセキュリティ・レベルの定義 BEA Tuxedo ドメインのセキュリティ・レベルは、コンフィギュレーション・ファイルの RESOURCES セクションの SECURITY パラメータを目的のセキュリティ・レベルに設定することで定義します。表 4-2 は、SECURITY パラメータのオプションを示しています。 表 4-2 SECURITY パラメータのオプション
Security サンプル・アプリケーションの場合、SECURITY パラメータをアプリケーション・レベルのセキュリティの APP_PW に設定します。BEA Tuxedo CORBA アプリケーションにセキュリティを追加する方法については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』 を参照してください。 ステップ 2: CORBA クライアント・アプリケーションの記述 次の処理を実行するクライアント・アプリケーション・コードを記述します。
リスト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);
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |