|
|
オートメーション・セキュリティ・リファレンス
ここでは、CORBA セキュリティのオートメーション・メソッドについて説明します。また、オートメーション・メソッドを使用して ActiveX クライアント・アプリケーションにセキュリティをインプリメントするプログラミングの例も示します。
ここでは、次の内容について説明します。
注記 オートメーション・セキュリティ・メソッドは、証明書による認証または SSL プロトコルの使用をサポートしません。
メソッドの説明
ここでは、オートメーション・セキュリティ・サービスのメソッドについて説明します。
DISecurityLevel2_Current
DISecurityLevel2_Current
オブジェクトは、CORBA セキュリティ・モデルの BEA インプリメンテーションです。BEA Tuxedo ソフトウェアのこのリリースでは、get_attributes()
メソッド、set_credentials()
メソッド、get_credentials()
メソッド、および Principal_Authenticator()
メソッドがサポートされます。
DISecurityLevel2_Current.get_attributes
概要
Current インターフェイスの属性を返します。
MIDL
マッピング
HRESULT get_attributes(
[in] VARIANT attributes,
[in,out,optional] VARIANT* exceptionInfo,
[out,retval] VARIANT* returnValue);
オートメーション・マッピング
Function get_attributes(attributes, [exceptionInfo])
パラメータ
attributes
値が必要とされているセキュリティ属性 (権限属性タイプ) のセット。このリストが空の場合は、すべての属性が返されます。
exceptioninfo
エラー発生時にクライアント・アプリケーションが追加例外データを取得できるようにするオプションの入力引数。ActiveX クライアント・アプリケーションでは、すべての例外データは、OLE オートメーション・エラー・オブジェクトで返されます。
説明
このメソッドは、クライアント・アプリケーションに対するクリデンシャルの特権などの属性を Current インターフェイスから取得します。
戻り値
DISecurity_SecAttribute
オブジェクトの配列を含むバリアント。次の表は、有効な戻り値について説明しています。
戻り値 |
説明 |
---|---|
|
空 (認証が実行されなかった場合は、Public が返されます)。 |
|
BEA Tuxedo ユーザ名を含む NULL 終了 ASCII 文字列。 |
|
BEA Tuxedo クライアント・アプリケーション名を含む NULL 終了 ASCII 文字列。 |
DISecurityLevel2_Current.set_credentials
概要
クリデンシャルのタイプを設定します。
MIDL
マッピング
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
設定するクリデンシャルのタイプ (invocation、own、または non-repudiation)。
cred
Credentials オブジェクトに対するオブジェクト・リファレンス。これがデフォルトになります。
exceptioninfo
エラー発生時にクライアント・アプリケーションが追加例外データを取得できるようにするオプションの入力引数。ActiveX クライアント・アプリケーションでは、すべての例外データは、OLE オートメーション・エラー・オブジェクトで返されます。
戻り値
特にありません。
DISecurityLevel2_Current.get_credentials
概要
クリデンシャルのタイプを取得します。
MIDL
マッピング
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
エラー発生時にクライアント・アプリケーションが追加例外データを取得できるようにするオプションの入力引数。ActiveX クライアント・アプリケーションでは、すべての例外データは、OLE オートメーション・エラー・オブジェクトで返されます。
戻り値
クライアント・アプリケーションのみのアクティブなクリデンシャル用の DISecurityLevel2_Credentials
オブジェクト。
DISecurityLevel2_Current.principal_authenticator
概要
PrincipalAuthenticator
を返します。
MIDL
マッピング
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
DITobj_PrincipalAuthenticator
オブジェクトは、BEA Tuxedo ドメインに対するログインおよびログアウトに使用します。BEA Tuxedo ソフトウェアのこのリリースでは、authenticate
メソッド、build_auth_data()
メソッド、continue_authentication()
メソッド、get_auth_type()
メソッド、logon()
メソッド、および logoff()
メソッドがインプリメントされています。
DITobj_PrincipalAuthenticator.authenticate
概要
クライアント・アプリケーションを認証します。
MIDL
マッピング
HRESULT authenticate(
[in] long method,
[in] BSTR security_name,
[in] VARIANT auth_data,
[in] VARIANT privileges,
[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
Tobj::TuxedoSecurity
の必要があります。method
が不正の場合、authenticate
で CORBA::BAD_PARAM
が発生します。
security_name
BEA Tuxedo ユーザ名です。
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
SecurityCurrent オブジェクトに配置されます。
continuation_data
常に空です。
auth_specific_data
常に空です。
exceptioninfo
エラー発生時にクライアント・アプリケーションが追加例外データを取得できるようにするオプションの入力引数。ActiveX クライアント・アプリケーションでは、すべての例外データは、OLE オートメーション・エラー・オブジェクトで返されます。
説明
このメソッドは、クライアント・アプリケーションが BEA Tuxedo ドメインにアクセスできるように IIOP リスナ/ハンドラを介してクライアント・アプリケーションを認証します。
戻り値
Security_AuthenticationStatus
Enum 値。次の表は、有効な戻り値について説明しています。
DITobj_PrincipalAuthenticator.build_auth_data
概要
DITobj_PrincipalAuthenticator.authenticate
で使用する認証データと属性を作成します。
MIDL
マッピング
HRESULT build_auth_data(
[in] BSTR user_name,
[in] BSTR client_name,
[in] BSTR system_password,
[in] BSTR user_password,
[in] VARIANT user_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
BEA Tuxedo ユーザ名です。
client_name
CORBA クライアント・アプリケーション名です。
system_password
CORBA クライアント・アプリケーションのパスワードです。
user_password
デフォルト認証サービスのユーザ・パスワードです。
user_data
カスタム認証サービスで使用するクライアント・アプリケーション固有のデータです。
auth_data
authenticate
で使用します。
privileges
authenticate
で使用します。
exceptioninfo
エラー発生時にクライアント・アプリケーションが追加例外データを取得できるようにするオプションの入力引数。ActiveX クライアント・アプリケーションでは、すべての例外データは、OLE オートメーション・エラー・オブジェクトで返されます。
注記 user_name
、client_name
、または system_password
が NULL または空の場合、あるいは 30 文字を超えている場合、以降の authenticate
メソッド呼び出しで CORBA::BAD_PARAM
例外が発生します。
注記 user_password
パラメータと user_data
パラメータは、相互に排他的であり、BEA Tuxedo ドメインのコンフィギュレーションで使用する認証サービスの要件によって異なります。デフォルトの認証サービスでは、ユーザ・パスワードの方を予測します。カスタマイズされた認証サービスでは、ユーザ・データを要求するものもあります。user_password
と user_data
の両方が設定されている場合、以降の認証呼び出しで CORBA::BAD_PARAM
例外が発生します。
説明
このメソッドは、DITobj_PrincipalAuthenticator.authenticate
で使用する認証データと属性を作成するヘルパ関数です。
注記 このメソッドが不正な SecurityCurrent オブジェクトで呼び出された場合、CORBA::BAD_INV_ORDER
が発生します。
戻り値
特にありません。
DITobj_PrincipalAuthenticator.continue_authentication
概要
常に Security::AuthenticationStatus::SecAuthFailure
を返します。
MIDL
マッピング
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
説明
BEA Tuxedo ソフトウェアは 1 つの手順で認証を実行するため、このメソッドは常に失敗し、Security::AuthenticationStatus::SecAuthFailure
を返します。
戻り値
常に SecAuthFailure
を返します。
DITobj_PrincipalAuthenticator.get_auth_type
概要
BEA Tuxedo ドメインによって予測されている認証のタイプを取得します。
MIDL
マッピング
HRESULT get_auth_type(
[in, out, optional] VARIANT* exceptionInfo,
[out, retval] Tobj_AuthType* returnValue);
オートメーション・マッピング
Function get_auth_type([exceptionInfo]) As Tobj_AuthType
引数
exceptioninfo
エラー発生時にクライアント・アプリケーションが追加例外データを取得できるようにするオプションの入力引数。ActiveX クライアント・アプリケーションでは、すべての例外データは、OLE オートメーション・エラー・オブジェクトで返されます。
説明
このメソッドは、BEA Tuxedo ドメインによって予測されている認証のタイプを返します。
注記 このメソッドが不正な SecurityCurrent オブジェクトで呼び出された場合、CORBA::BAD_INV_ORDER
が発生します。
戻り値
Tobj_AuthType
列挙へのリファレンス。次の表は、有効な戻り値について説明しています。
DITobj_PrincipalAuthenticator.logon
概要
BEA Tuxedo ドメインにログインします。適切な入力パラメータは、認証レベルによって異なります。
MIDL
マッピング
HRESULT logon(
[in] BSTR user_name,
[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 クライアント・アプリケーションの場合、このメソッドは、リモート・クライアント・アプリケーションが BEA Tuxedo ドメインにアクセスできるように IIOP リスナ/ハンドラを介してクライアント・アプリケーションを認証します。このメソッドは、DITobj_PrincipalAuthenticator.authenticate
と同じ機能ですが、パラメータはセキュリティ指向です。
引数
user_name
BEA Tuxedo ユーザ名です。このパラメータは、TOBJ_NOAUTH
、TOBJ_SYSAUTH
、および TOBJ_APPAUTH
認証レベルで必須です。
client_name
CORBA クライアント・アプリケーション名です。このパラメータは、TOBJ_NOAUTH
、TOBJ_SYSAUTH
、および TOBJ_APPAUTH
認証レベルで必須です。
system_password
CORBA クライアント・アプリケーションのパスワードです。このパラメータは、TOBJ_SYSAUTH
および TOBJ_APPAUTH
認証レベルで必須です。
user_password
デフォルト認証サービスのユーザ・パスワードです。このパラメータは、TOBJ_APPAUTH
認証レベルで必須です。
user_data
カスタム認証サービスで使用するアプリケーション固有のデータです。このパラメータは、TOBJ_APPAUTH
認証レベルで必須です。
注記 user_name
、client_name
、または system_password
が NULL または空の場合、あるいは 30 文字を超えている場合、以降の authenticate
メソッド呼び出しで CORBA::BAD_PARAM
例外が発生します。
注記 認証レベルが TOBJ_APPAUTH
の場合、user_password
または user_data
のいずれか 1 つを提供できます。
exceptioninfo
エラー発生時にクライアント・アプリケーションが追加例外データを取得できるようにするオプションの入力引数。ActiveX クライアント・アプリケーションでは、すべての例外データは、OLE オートメーション・エラー・オブジェクトで返されます。
戻り値
次の表は、有効な戻り値について説明しています。
DITobj_PrincipalAuthenticator.logoff
概要
CORBA クライアント・アプリケーションに関連付けられた現在のセキュリティ・コンテキストを破棄します。
MIDL
マッピング
HRESULT logoff([in, out, optional] VARIANT* exceptionInfo);
オートメーション・マッピング
Sub logoff([exceptionInfo])
説明
この呼び出しは、CORBA クライアント・アプリケーションに関連付けられたコンテキストを破棄しますが、BEA Tuxedo ドメインへのネットワーク接続をクローズしません。Logoff
でも、現在のクリデンシャルを無効化できます。認証タイプが TUBJ_NOAUTH
でない場合、ログオフした後の既存のオブジェクト・リファレンスを使用した呼び出しは失敗します。
クライアント・アプリケーションが現在 BEA Tuxedo ドメインに対して認証されている場合、Tobj_Bootstrap.destroy_current()
を呼び出すと、暗黙的に logoff
が呼び出されます。
引数
exceptioninfo
エラー発生時にクライアント・アプリケーションが追加例外データを取得できるようにするオプションの入力引数。ActiveX クライアント・アプリケーションでは、すべての例外データは、OLE オートメーション・エラー・オブジェクトで返されます。
戻り値
特にありません。
DISecurityLevel2_Credentials
DISecurityLevel2_Credentials
オブジェクトは、CORBA セキュリティ・モデルの BEA インプリメンテーションです。BEA Tuxedo ソフトウェアのこのリリースでは、get_attributes()
メソッドおよび is_valid()
メソッドがサポートされます。
DISecurityLevel2_Credentials.get_attributes
概要
クリデンシャルに添付された属性リストを取得します。
MIDL
マッピング
HRESULT get_attributes(
[in] VARIANT attributes,
[in,out,optional] VARIANT* exceptionInfo,
[out,retval] VARIANT* returnValue);
オートメーション・マッピング
Function get_attributes(attributes, [exceptionInfo])
引数
attributes
値が必要とされているセキュリティ属性 (権限属性タイプ) のセット。このリストが空の場合は、すべての属性が返されます。
exceptioninfo
エラー発生時にクライアント・アプリケーションが追加例外データを取得できるようにするオプションの入力引数。ActiveX クライアント・アプリケーションでは、すべての例外データは、OLE オートメーション・エラー・オブジェクトで返されます。
説明
このメソッドは、クライアント・アプリケーションのクリデンシャルに添付された属性リストを返します。属性タイプのリストでは、AttributeList
に返したい属性タイプの値のみを含める必要があります。属性は現在、属性ファミリまたは ID に基づいて返されません。ほとんどの場合、どのインスタンスでもクライアント・アプリケーションのクリデンシャルの有効なセットは 1 つしかないので、これは、DISecurityLevel2.Current::get_attributes()
を呼び出した場合と同じ結果です。結果は、クリデンシャルが使用中でない場合には異なる可能性があります。
戻り値
DISecurity_SecAttribute
オブジェクトの配列を含むバリアント。
DISecurityLevel2_Credentials.is_valid
概要
クリデンシャルのステータスをチェックします。
MIDL
マッピング
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
が出力されます。
プログラミングの例
ここでは、以下をインプリメントする ActiveX クライアント・アプリケーションの一部を示します。
リスト 17-1 Tuxedo 型認証を使用する ActiveX クライアント・アプリケーション
Set objSecurityCurrent = objBootstrap.CreateObject("Tobj.SecurityCurrent")
Set objPrincipalAuthenticator = objSecurityCurrent.principal_authenticator
AuthorityType = objPrincipalAuthenticator.get_auth_type
If AuthorityType = TOBJ_APPAUTH Then logonStatus =
oPrincipalAuthenticator.Logon(
UserName,_
ClientName,_
SystemPassword,_
UserPassword
User Data)
End If
objPrincipalAuthenticator.logoff()
|
Copyright © 2001, BEA Systems, Inc. All rights reserved.
|