|
ここでは、CORBAセキュリティのオートメーション・メソッドについて説明します。ここでは、次の内容について説明します。
| 注意: | オートメーション・セキュリティ・メソッドは、証明書による認証またはSSLプロトコルの使用をサポートしません。 |
| 注意: | 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に関する技術的なサポートやドキュメントは提供していません。 |
ここでは、オートメーション・セキュリティ・サービスのメソッドについて説明します。
DISecurityLevel2_Currentオブジェクトは、CORBAセキュリティ・モデルのOracle実装です。Oracle Tuxedoソフトウェアのこのリリースでは、get_attributes()メソッド、set_credentials()メソッド、get_credentials()メソッド、およびPrincipal_Authenticator()メソッドがサポートされます。
HRESULT get_attributes(
[in] VARIANT attributes,
[in,out,optional] VARIANT* exceptionInfo,
[out,retval] VARIANT* returnValue);
Function get_attributes(attributes, [exceptionInfo])
attributes
exceptioninfo
このメソッドは、クライアント・アプリケーションに対する資格証明の権限などの属性をCurrentインタフェースから取得します。
DISecurity_SecAttributeオブジェクトの配列を含むバリアント。次の表は、有効な戻り値について説明しています。
HRESULT set_credentials(
[in] Security_CredentialType cred_type,
[in] DISecurityLevel2_Credentials* cred,
[in,out,optional] VARIANT* exceptionInfo);
Sub set_credentials(cred_type As Security_CredentialType,
cred As DISecurityLevel2_Credentials,
[exceptionInfo])
このメソッドは、SecInvocationCredentialsの設定にのみ使用できます。それ以外の場合に使用すると、set_credentialsでCORBA::BAD_PARAMが発生します。資格証明は、以前のDISecurityLevel2_Current.get_credentialsへの呼出しで取得済になっている必要があります。
cred_type
cred
exceptioninfo
HRESULT get_credentials(
[in] Security_CredentialType cred_type,
[in,out,optional] VARIANT* exceptionInfo,
[out,retval] DISecurityLevel2_Credentials** returnValue);
Function get_credentials(cred_type As Security_CredentialType,
[exceptionInfo]) As DISecurityLevel2_Credentials
この呼出しは、SecInvocationCredentialsの取得にのみ使用できます。それ以外の場合に使用すると、get_credentialsでCORBA::BAD_PARAMが発生します。資格証明を使用できない場合、get_credentialsでCORBA::BAD_INV_ORDERが発生します。
cred_type
exceptioninfo
クライアント・アプリケーションのみのアクティブな資格証明用のDISecurityLevel2_Credentialsオブジェクト。
HRESULT principal_authenticator([out, retval]
DITobj_PrincipalAuthenticator** returnValue);
Property principal_authenticator As DITobj_PrincipalAuthenticator
principal_authenticatorプロパティによって返されたPrincipalAuthenticatorは、実際の型DITobj_PrincipalAuthenticatorによるものです。したがって、これはDISecurityLevel2_PrincipalAuthenticatorとして使用できます。
| 注意: | このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、CORBA::BAD_INV_ORDERが発生します。 |
DITobj_PrincipalAuthenticatorオブジェクト。
DITobj_PrincipalAuthenticatorオブジェクトは、Oracle Tuxedoドメインに対するログインおよびログアウトに使用します。Oracle Tuxedoソフトウェアのこのリリースでは、authenticateメソッド、build_auth_data()メソッド、continue_authentication()メソッド、get_auth_type()メソッド、logon()メソッド、およびlogoff()メソッドが実装されています。
HRESULT authenticate([in] longmethod,[in] BSTRsecurity_name,[in] VARIANTauth_data,[in] VARIANTprivileges,[out] DISecurityLevel2_Credentials**creds,[out] VARIANT*continuation_data,[out] VARIANT*auth_specific_data,[in,out,optional] VARIANT*exceptionInfo,[out,retval] Security_AuthenticationStatus* returnValue);
Function authenticate(method As Long, security_name As String,
auth_data, privileges, creds As DISecurityLevel2_Credentials,
continuation_data, auth_specific_data,
[exceptionInfo]) As Security_AuthenticationStatus
method
security_name
auth_data
DITobj_PrincipalAuthenticator.build_auth_dataによって返されます。auth_dataが無効な場合、authenticateでCORBA::BAD_PARAMが発生します。
privileges
DITobj_PrincipalAuthenticator.build_auth_dataによって返されます。privilegesが無効な場合、authenticateでCORBA::BAD_PARAMが発生します。
creds
continuation_data
auth_specific_data
exceptioninfo
説明
このメソッドは、クライアント・アプリケーションがOracle TuxedoドメインにアクセスできるようにIIOPリスナー/ハンドラを介してクライアント・アプリケーションを認証します。
Security_AuthenticationStatus列挙値。次の表は、有効な戻り値について説明しています。
DITobj_PrincipalAuthenticator.authenticateで使用する認証データと属性を作成します。
HRESULT build_auth_data(
[in] BSTRuser_name,
[in] BSTRclient_name,
[in] BSTRsystem_password,
[in] BSTRuser_password,
[in] VARIANTuser_data,
[out] VARIANT*auth_data,
[out] VARIANT*privileges,
[in,out,optional] VARIANT* exceptionInfo);
Sub build_auth_data(user_name As String, client_name As String,
system_password As String, user_password As String, user_data,
auth_data, privileges, [exceptionInfo])
引数
user_name
client_name
system_password
user_password
user_data
auth_data
privileges
exceptioninfo
| 注意: | user_name、client_name、またはsystem_passwordがNULLまたは空の場合、あるいは30文字を超えている場合、以降のauthenticateメソッド呼出しでCORBA::BAD_PARAM例外が発生します。 |
| 注意: | user_passwordパラメータとuser_dataパラメータは相互に排他的であり、Oracle Tuxedoドメインの構成で使用する認証サービスの要件によって異なります。デフォルトの認証サービスにはユーザー・パスワードが必要です。カスタマイズされた認証サービスにはユーザー・データが必要です。user_passwordとuser_dataの両方が指定されている場合、後続の認証呼出しでCORBA::BAD_PARAM例外が発生します。 |
説明
このメソッドは、DITobj_PrincipalAuthenticator.authenticateで使用する認証データと属性を作成するヘルパー関数です。
| 注意: | このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、CORBA::BAD_INV_ORDERが発生します。 |
常にSecurity::AuthenticationStatus::SecAuthFailureを返します。
HRESULT continue_authentication(
[in] VARIANT response_data,
[in,out] DISecurityLevel2_Credentials** creds,
[out] VARIANT* continuation_data,
[out] VARIANT* auth_specific_data,
[in,out,optional] VARIANT* exceptionInfo,
[out,retval] Security_AuthenticationStatus* returnValue);
Function continue_authentication(response_data,
creds As DISecurityLevel2_Credentials, continuation_data,
auth_specific_data, [exceptionInfo]) As
Security_AuthenticationStatus
Oracle Tuxedoソフトウェアは1つの手順で認証を実行するため、このメソッドは常に失敗し、Security::AuthenticationStatus::SecAuthFailureを返します。
Oracle Tuxedoドメインによって予測されている認証のタイプを取得します。
HRESULT get_auth_type(
[in, out, optional] VARIANT* exceptionInfo,
[out, retval] Tobj_AuthType* returnValue); Function get_auth_type([exceptionInfo]) As Tobj_AuthType
exceptioninfo
このメソッドは、Oracle Tuxedoドメインによって予測されている認証のタイプを返します。
| 注意: | このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、CORBA::BAD_INV_ORDERが発生します。 |
Tobj_AuthType列挙への参照。次の表は、有効な戻り値について説明しています。
Oracle Tuxedoドメインにログインします。適切な入力パラメータは、認証レベルによって異なります。
HRESULT logon(user_name,
[in] BSTR
[in] BSTR client_name,
[in] BSTR system_password,
[in] BSTR user_password,
[in] VARIANT user_data,
[in,out,optional] VARIANT* exceptionInfo,
[out,retval] Security_AuthenticationStatus*
returnValue);
Function logon(user_name As String, client_name As String,
system_password As String, user_password As String,
user_data, [exceptionInfo]) As Security_AuthenticationStatus
リモートCORBAクライアント・アプリケーションの場合、このメソッドは、リモート・クライアント・アプリケーションがOracle TuxedoドメインにアクセスできるようにIIOPリスナー/ハンドラを介してクライアント・アプリケーションを認証します。このメソッドは、DITobj_PrincipalAuthenticator.authenticateと同じ機能ですが、パラメータはセキュリティ指向です。
user_name
client_name
user_password
TOBJ_APPAUTH認証レベルで必須です。 | 注意: | user_name、client_name、またはsystem_passwordがNULLまたは空の場合、あるいは30文字を超えている場合、以降のauthenticateメソッド呼出しでCORBA::BAD_PARAM例外が発生します。 |
| 注意: | 認可レベルがTOBJ_APPAUTHの場合、user_passwordまたはuser_dataのいずれか1つを提供できます。 |
exceptioninfo
CORBAクライアント・アプリケーションに関連付けられた現在のセキュリティ・コンテキストを破棄します。
HRESULT logoff([in, out, optional] VARIANT* exceptionInfo); この呼出しは、CORBAクライアント・アプリケーションに関連付けられたコンテキストを破棄しますが、Oracle Tuxedoドメインへのネットワーク接続を閉じません。Logoffでも、現在の資格証明を無効化できます。認証タイプがTOBJ_NOAUTHでない場合、ログオフした後の既存のオブジェクト参照を使用した呼出しは失敗します。
クライアント・アプリケーションが現在Oracle Tuxedoドメインに対して認証されている場合、Tobj_Bootstrap.destroy_current()を呼び出すと、暗黙的にlogoffが呼び出されます。
exceptioninfo
DISecurityLevel2_Credentialsオブジェクトは、CORBAセキュリティ・モデルのOracle実装です。Oracle Tuxedoソフトウェアのこのリリースでは、get_attributes()メソッドおよびis_valid()メソッドがサポートされます。
HRESULT get_attributes(
[in] VARIANT attributes,
[in,out,optional] VARIANT* exceptionInfo,
[out,retval] VARIANT* returnValue);
Function get_attributes(attributes, [exceptionInfo])
attributes
exceptioninfo
このメソッドは、クライアント・アプリケーションの資格証明に添付された属性リストを返します。属性タイプのリストでは、AttributeListに返す属性タイプの値のみを含める必要があります。属性は現在、属性ファミリまたはIDに基づいて返されません。ほとんどの場合、どのインスタンスでもクライアント・アプリケーションの資格証明の有効なセットは1つのみであるため、これは、DISecurityLevel2.Current::get_attributes()を呼び出した場合と同じ結果です。結果は、資格証明が使用中でない場合には異なる可能性があります。
DISecurity_SecAttributeオブジェクトの配列を含むバリアント。
HRESULT is_valid(
[out] IDispatch** expiry_time,
[in,out,optional] VARIANT* exceptionInfo,
[out,retval] VARIANT_BOOL* returnValue
Function is_valid(expiry_time As Object,
[exceptionInfo]) As Boolean
使用された資格がそのときにアクティブな場合、このメソッドは、TRUEを返します。つまり、DITobj_PrincipalAuthenticator.logoffまたはdestroy_currentを呼び出していないということです。DITobj_PrincipalAuthenticator.logoff()の後にこのメソッドが呼び出された場合、FALSEが返されます。destroy_current()の後にこのメソッドが呼び出された場合、CORBA::BAD_INV_ORDER例外が発生します。
DITimeBase_UtcTオブジェクトがmaxに設定された場合に、expiry_timeが出力されます。
|