CORBAアプリケーションにおけるセキュリティの使用

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

C++セキュリティ・リファレンス

ここでは、CORBAセキュリティのC++メソッドについて説明します。

 


SecurityLevel1::Current::get_attributes

概要

Currentインタフェースの属性を返します。

OMG IDL定義

Security::AttributeList get_attributes(
in Security::AttributeTypeList attributes
);
};

引数

attributes

値が必要とされているセキュリティ属性(権限属性タイプ)のセット。このリストが空の場合は、すべての属性が返されます。

説明

このメソッドは、プリンシパルの資格証明から権限などの属性をCurrentインタフェース用に取得します。

戻り値

次の表は、有効な戻り値について説明しています。

戻り値
意味
Security::Public
空(認証が実行されなかった場合は、Publicが返されます)。
Security::AccessId
Oracle Tuxedoユーザー名を含むNULL終了ASCII文字列。
Security::PrimaryGroupId
Oracle Tuxedoプリンシパル名を含むNULL終了ASCII文字列。

注意: defining_authorityフィールドは常に空です。UBBCONFIGファイルで定義されているセキュリティ・レベルによって、get_attributeメソッドの一部の値を使用できない場合があります。追加された2つの値(Group IdおよびRole)は、UBBCONFIGファイルでセキュリティ・レベルがACLまたはMANDATORY_ACLに設定されている場合に使用できます。
注意: この情報は、「CORBAservices: Common Object Services Specification」の15-103、104ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。

 


SecurityLevel2::PrincipalAuthenticator::authenticate

概要

プリンシパルを認証し、オプションでプリンシパルの資格証明を取得します。

OMG IDL定義

Security::AuthenticationStatus 
authenticate(
in Security::AuthenticationMethod method,
in Security::SecurityName security_name,
in Security::Opaque auth_data,
in Security::AttributeList privileges,
out Credentials creds,
out Security::Opaque continuation_data,
out Security::Opaque auth_specific_data );

引数

method

使用するセキュリティ・メカニズム。有効な値は、Tobj::TuxedoSecurityおよびTobj::CertificateBasedです。

security_name

プリンシパルのID情報(ログオン情報など)。値は、プリンシパルのユーザー名を含むNULL終了文字列へのポインタである必要があります。文字列は、NULL文字を除いて30文字以内に制限されています。証明書による認証を使用する場合、この名前は、LDAPを有効にしたディレクトリ・サービスで証明書をルックアップするのに使用します。また、この名前を基に、秘密鍵を格納するファイルの名前が決まります。たとえば、milozzi@company.comは、LDAPを有効にしたディレクトリ・サービスで証明書をルックアップするのに使用する電子メール・アドレスで、milozzi_company.pemは秘密鍵ファイル名です。

auth_data

パスワードまたは秘密鍵などのプリンシパルの認証。Tobj:TuxedoSecurityセキュリティ・メカニズムを指定した場合、この引数の値は、構成された認証のレベルによって異なります。Tobj::CertificateBased引数を指定した場合、この引数の値は、プリンシパルの秘密鍵の復号化に使用するパス・フレーズです。

privileges

リクエストされた権限属性。

creds

新しく作成されたCredentialsオブジェクトのオブジェクト参照。オブジェクト参照は、完全には初期化されません。したがって、オブジェクト参照は、SecurityLevel2::Current::authenticateメソッドの戻り値がSecAuthSuccessになるまで使用できません。

continuation_data

SecurityLevel2::Current::authenticateメソッドの戻り値がSecAuthContinueの場合、この引数は、継続する認証の試行情報を格納します。戻り値は常に空です。

auth_specific_data

使用する認証サービス固有の情報。戻り値は常に空です。

説明

SecurityLevel2::Current::authenticateメソッドは、プリンシパルを認証し、Oracle Tuxedoドメインでのセッション時にプリンシパルで必要なオプションで権限属性をリクエストするために、クライアント・アプリケーションによって使用されます。

Tobj::TuxedoSecurityセキュリティ・メカニズムを指定する場合、Tobj::PrincipalAuthenticator::logonオペレーションを呼び出すことで同じ機能を取得できます。このオペレーションは、同じ機能を提供しますが、ATMI認証セキュリティ・メカニズムで使用するための特別なオペレーションです。

戻り値

次の表は、有効な戻り値について説明しています。

戻り値
意味
SecAuthSuccess
creds引数が初期化され、使用する準備ができたときに返される新規作成Credentialsオブジェクトのオブジェクト参照。
SecAuthFailure
認証プロセスが矛盾していたか、プロセスでエラーが発生しました。したがって、creds引数には、Credentialsオブジェクトへのオブジェクト参照は含まれません。
Tobj::TuxedoSecurityセキュリティ・メカニズムを使用した場合、この戻り値は、認証に失敗したか、クライアント・アプリケーションがすでに認証されているものの、Tobj::PrincipalAuthenticator::logoffオペレーションまたはTobj_Bootstrap::destroy_currentオペレーションのいずれかを呼び出さなかったことを示します。
SecAuthContinue
認証プロシージャで試行/レスポンス・メカニズムを使用していることを示します。creds引数は、一部が初期化されたCredentialsオブジェクトのオブジェクト参照を格納します。continuation_dataは、試行の詳細を示します。
SecAuthExpired
認証データに、有効性が期限切れの情報が含まれていることを示します。したがって、creds引数は、Credentialsオブジェクトへのオブジェクト参照を格納しません。
Tobj::TuxedoSecurityセキュリティ・メカニズムを指定した場合、この戻り値は返されません。
CORBA::BAD_PARAM
次の場合に、CORBA::BAD_PARAM例外が発生します。
  • security_nameauth_data、またはprivileges引数に値が指定されていない場合。
  • 入力引数の長さが、引数の最大長を超えている場合。
  • method引数の値がTobj::TuxedoSecurityauth_data引数に空の文字列またはNULL文字列としてusernameまたはclientnameが指定されている場合。

 


SecurityLevel2::Current::set_credentials

概要

資格証明のタイプを設定します。

OMG IDL定義

void set_credentials(
in Security::CredentialType cred_type,
in Credentials creds
);

引数

cred_type

設定する資格証明のタイプ(invocation、own、またはnon-repudiation)。

creds

Credentialsオブジェクトに対するオブジェクト参照。これがデフォルトになります。

説明

このメソッドは、SecInvocationCredentialsの設定にのみ使用できます。それ以外の場合に使用すると、set_credentialsCORBA::BAD_PARAMが発生します。資格証明は、以前のSecurityLevel2::Current::get_credentialsまたはSecurityLevel2::PrincipalAuthenticator::authenticateへの呼出しで取得済になっている必要があります。

戻り値

なし。

注意: この情報は、「CORBAservices: Common Object Services Specification」の15-104ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。

 


SecurityLevel2::Current::get_credentials

概要

資格証明のタイプを取得します。

OMG IDL定義

Credentials get_credentials(
in Security::CredentialType cred_type
);

引数

cred_type

取得する資格証明のタイプ。

説明

この呼出しは、SecInvocationCredentialsの取得にのみ使用できます。それ以外の場合に使用すると、get_credentialsCORBA::BAD_PARAMが発生します。資格証明を使用できない場合、get_credentialsCORBA::BAD_INV_ORDERが発生します。

戻り値

クライアント・アプリケーションのアクティブな資格証明のみを返します。

注意: この情報は、「CORBAservices: Common Object Services Specification」の15-105ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。

 


SecurityLevel2::Current::principal_authenticator

概要

PrincipalAuthenticatorを返します。

OMG IDL定義

readonly attribute PrincipalAuthenticator
principal_authenticator;

説明

principal_authenticator属性によって返されたPrincipalAuthenticatorは、実際の型Tobj::PrincipalAuthenticatorによるものです。このため、Tobj::PrincipalAuthenticatorおよびSecurityLevel2::PrincipalAuthenticatorの両方として使用できます。

注意: このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、CORBA::BAD_INV_ORDERが発生します。

戻り値

PrincipalAuthenticatorを返します。

SecurityLevel2::Credentials

概要

プロセスに特有のプリンシパルの資格証明情報を表します。SecurityLevel2::CredentialsインタフェースをサポートするCredentialsオブジェクトは、位置制約付きオブジェクトです。このオブジェクトの位置の外に参照を渡すか、CORBA::ORB::object_to_string()操作を使用してオブジェクトを外部化すると、CORBA::Marshall例外が発生します。

OMG IDL定義

#ifndef _SECURITY_LEVEL_2_IDL
#define _SECURITY_LEVEL_2_IDL

#include <SecurityLevel1.idl>

#pragma prefix “omg.org”

module SecurityLevel2
  {
  interface Credentials
    {
    attribute Security::AssociationOptions
                                  invocation_options_supported;
    attribute Security::AssociationOptions
                                 invocation_options_required;
Security::AttributeList
    get_attributes(
      in Security::AttributeTypeList      attributes );

    boolean
    is_valid(
      out Security::UtcT                      expiry_time );

};
  };
#endif /* _SECURITY_LEVEL_2_IDL */

C++宣言

class SecurityLevel2
  {
  public:
    class Credentials;
    typedef Credentials * Credentials_ptr;

  class Credentials : public virtual CORBA::Object
    {
    public:
       static Credentials_ptr _duplicate(Credentials_ptr obj);
       static Credentials_ptr _narrow(CORBA::Object_ptr obj);
       static Credentials_ptr _nil();

       virtual Security::AssociationOptions
      invocation_options_supported() = 0;
       virtual void
           invocation_options_supported(
               const Security::AssociationOptions options ) = 0;
       virtual Security::AssociationOptions
          invocation_options_required() = 0;
       virtual void
          invocation_options_required(
               const Security::AssociationOptions options ) = 0;

       virtual Security::AttributeList *
          get_attributes(
               const Security::AttributeTypeList & attributes) = 0;

       virtual CORBA::Boolean
           is_valid( Security::UtcT_out expiry_time) = 0;

     protected:
       Credentials(CORBA::Object_ptr obj = 0);
       virtual ~Credentials() { }

     private:
       Credentials( const Credentials&) { }
       void operator=(const Credentials&) { }
     }; // class Credentials
   }; // class SecurityLevel2

 


SecurityLevel2::Credentials::get_attributes

概要

資格証明に添付された属性リストを取得します。

OMG IDL定義

Security::AttributeList get_attributes(
in AttributeTypeList attributes
);

引数

attributes

値が必要とされているセキュリティ属性(権限属性タイプ)のセット。このリストが空の場合は、すべての属性が返されます。

説明

このメソッドは、プリンシパルの資格証明に添付された属性リストを返します。属性タイプのリストでは、AttributeListに返す属性タイプの値のみを含める必要があります。属性は現在、属性ファミリまたはIDに基づいて返されません。ほとんどの場合、どのインスタンスでもプリンシパルの資格証明の有効なセットは1つのみであるため、これは、SecurityLevel1::Current::get_attributes()を呼び出した場合と同じ結果です。結果は、資格証明が使用中でない場合には異なる可能性があります。

戻り値

属性リストを返します。

注意: この情報は、「CORBAservices: Common Object Services Specification」の15-97ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。

 


SecurityLevel2::Credentials::invocation_options_supported

概要

SSL接続を確立してOracle Tuxedoドメインでオブジェクトに対する呼出しを実行する際に使用できるセキュリティ・オプションの最大数を示します。

OMG IDL定義

attribute Security::AssociationOptions
invocation_options_supported;

引数

なし。

説明

このメソッドは、SecurityLevel2::Credentials::invocation_options_requiredメソッドと組み合せて使用する必要があります。

次のセキュリティ・オプションを指定できます。

セキュリティ・オプション
説明
NoProtection
SSLプロトコルは、メッセージ保護を提供しません。
Integrity
SSLプロトコルは、メッセージの整合性チェックを提供します。メッセージの整合性を保護するのにデジタル署名を使用します。
Confidentiality
SSL接続は、メッセージの機密性を保護します。メッセージの機密性を保護するのに暗号を使用します。
DetectReplay
SSLプロトコルはリプレイ検出を提供します。リプレイは、メッセージが検出されずに繰り返し送信されたときに発生します。
DetectMisordering
SSLプロトコルは、リクエストおよびリクエスト・フラグメントのシーケンス・エラーの検出を提供します。
EstablishTrustInTarget
リクエストのターゲットがプリンシパルの開始元に対して自身を認証することを示します。
NoDelegation
アクセス制御を決定するために、中間オブジェクトによる権限の使用をプリンシパルが許可することを示します。ただし、プリンシパルの権限は委任されないので、チェーン内の次のオブジェクトを呼び出すときに中間オブジェクトは権限を使用できません。
SimpleDelegation
アクセス制御を決定するために、中間オブジェクトによる権限の使用をプリンシパルが許可することを示し、その中間オブジェクトに権限を委任します。ターゲット・オブジェクトは、クライアント・アプリケーションの権限のみを受け取り、中間オブジェクトのIDを認識しません。この呼出しオプションがターゲット・オブジェクトに対して制約なしに使用された場合、動作は偽装として認識されます。
CompositeDelegation
中間オブジェクトによる資格証明の使用および委任をプリンシパルが許可することを示します。プリンシパルと中間オブジェクトの両方の権限をチェックできます。

戻り値

定義されたセキュリティ・オプションのリスト。

セキュリティの関連付けにTobj::TuxedoSecurityセキュリティ・メカニズムを使用する場合、NoProtectionEstablishTrustInClient、およびSimpleDelegationセキュリティ・オプションのみが返されます。Oracle Tuxedoドメインへのアクセスにパスワードが要求されるようにCORBAアプリケーションのセキュリティ・レベルが定義された場合にのみ、EstablishTrustInClientセキュリティ・オプションが表示されます。

注意: 指定したセキュリティ・オプションが、CORBAアプリケーション用に定義されたセキュリティ・メカニズムでサポートされていない場合、CORBA::NO_PERMISSION例外が返されます。この例外は、指定したセキュリティ・オプションが、SecurityLevel2::Credentials::invocation_options_requiredメソッドで指定したセキュリティ・オプションよりも少ない機能しか持っていない場合にも発生します。
注意: invocation_options_supported属性には、set()メソッドとget()メソッドがあります。Tobj::TuxedoSecurityセキュリティ・メカニズムを使用してCredentialsオブジェクトを取得する場合には、set()メソッドを使用できません。Tobj::TuxedoSecurityセキュリティ・メカニズムでset()メソッドを使用すると、CORBA::NO_PERMISSION例外が返されます。

 


SecurityLevel2::Credentials::invocation_options_required

概要

SSL接続を確立してOracle Tuxedoドメインでターゲット・オブジェクトに対する呼出しを実行する際に使用できるセキュリティ・オプションの最少数を指定します。

OMG IDL定義

attribute Security::AssociationOptions
invocation_options_required;

引数

なし。

説明

このメソッドを使用すると、プリンシパルとOracle Tuxedoドメインの間の通信の保護を指定できます。このメソッドを使用すると、Credentialsオブジェクトは、定義したセキュリティ・オプションのレベルのSSLプロトコルを使用してターゲット・オブジェクトに対する呼出しを実行します。このメソッドは、SecurityLevel2::Credentials::invocation_options_supportedメソッドと組み合せて使用する必要があります。

次のセキュリティ・オプションを指定できます。

セキュリティ・オプション
説明
NoProtection
SSLプロトコルは、メッセージ保護を提供しません。
Integrity
SSLプロトコルは、メッセージの整合性チェックを提供します。メッセージの整合性を保護するのにデジタル署名を使用します。
Confidentiality
SSL接続は、メッセージの機密性を保護します。メッセージの機密性を保護するのに暗号を使用します。
DetectReplay
SSLプロトコルはリプレイ検出を提供します。リプレイは、メッセージが検出されずに繰り返し送信されたときに発生します。
DetectMisordering
SSLプロトコルは、リクエストおよびリクエスト・フラグメントのシーケンス・エラーの検出を提供します。
EstablishTrustInTarget
リクエストのターゲットがプリンシパルの開始元に対して自身を認証することを示します。
NoDelegation
アクセス制御を決定するために、中間オブジェクトによる権限の使用をプリンシパルが許可することを示します。ただし、プリンシパルの権限は委任されないので、チェーン内の次のオブジェクトを呼び出すときに中間オブジェクトは権限を使用できません。
SimpleDelegation
アクセス制御を決定するために、中間オブジェクトによる権限の使用をプリンシパルが許可することを示し、その中間オブジェクトに権限を委任します。ターゲット・オブジェクトは、クライアント・アプリケーションの権限のみを受け取り、中間オブジェクトのIDを認識しません。この呼出しオプションがターゲット・オブジェクトに対して制約なしに使用された場合、動作は偽装として認識されます。
CompositeDelegation
中間オブジェクトによる資格証明の使用および委任をプリンシパルが許可することを示します。プリンシパルと中間オブジェクトの両方の権限をチェックできます。

戻り値

定義されたセキュリティ・オプションのリスト。

セキュリティの関連付けにTobj::TuxedoSecurityセキュリティ・メカニズムを使用する場合、NoProtectionEstablishTrustInClient、およびSimpleDelegationセキュリティ・オプションのみが返されます。Oracle Tuxedoドメインへのアクセスにパスワードが要求されるようにCORBAアプリケーションのセキュリティ・レベルが定義された場合にのみ、EstablishTrustInClientセキュリティ・オプションが表示されます。

注意: 指定したセキュリティ・オプションが、CORBAアプリケーション用に定義されたセキュリティ・メカニズムでサポートされていない場合、CORBA::NO_PERMISSION例外が返されます。この例外は、指定したセキュリティ・オプションが、SecurityLevel2::Credentials::invocation_options_supportedメソッドで指定したセキュリティ・オプションよりも機能が多い場合にも発生します。
注意: invocation_options_required属性には、set()メソッドとget()メソッドがあります。Tobj::TuxedoSecurityセキュリティ・メカニズムを使用してCredentialsオブジェクトを取得する場合には、set()メソッドを使用できません。Tobj::TuxedoSecurityセキュリティ・メカニズムでset()メソッドを使用すると、CORBA::NO_PERMISSION例外が返されます。

 


SecurityLevel2::Credentials::is_valid

概要

資格証明のステータスをチェックします。

OMG IDL定義

boolean is_valid(
out Security::UtcT expiry_time
);

説明

使用された資格がそのときにアクティブな場合、このメソッドは、TRUEを返します。つまり、Tobj::PrincipalAuthenticator::logoffまたはTobj_Bootstrap::destroy_currentを呼び出していないということです。このメソッドがTobj::PrincipalAuthenticator::logoff()の後に呼び出された場合、FALSEが返されます。このメソッドがTobj_Bootstrap::destroy_current()の後に呼び出された場合、CORBA::BAD_INV_ORDER例外が発生します。

戻り値

返された有効期限には、maximum unsigned long long値(C++)が含まれています。unsigned long longデータ型が適用されると、ulonglongが控えのデータ型になります。ulonglongデータ型は次のように定義します。

// ulonglongデータ型の仮の定義
//これは、すべてのクライアントORBによる型の拡張の適用を保留
struct ulonglong {
unsigned long low;
unsigned long high;
};

注意: この情報は、「CORBAservices: Common Object Services Specification」の15-97ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。

SecurityLevel2::PrincipalAuthenticator

概要

プリンシパルを認証できるようにします。SecurityLevel2::PrincipalAuthenticatorインタフェースをサポートするPrincipal Authenticatorオブジェクトは、位置制約付きオブジェクトです。このオブジェクトの位置の外に参照を渡すか、CORBA::ORB::object_to_string()操作を使用してオブジェクトを外部化すると、CORBA::Marshall例外が発生します。

OMG IDL定義

#ifndef _SECURITY_LEVEL_2_IDL
#define _SECURITY_LEVEL_2_IDL

#include <SecurityLevel1.idl>

#pragma prefix “omg.org”

module SecurityLevel2
   {
   interface PrincipalAuthenticator
      { // Locality Constrained
      Security::AuthenticationStatus authenticate (
         in Security::AuthenticationMethod method,
         in Security::SecurityName security_name,
         in Security::Opaque auth_data,
         in Security::AttributeList privileges,
         out Credentials creds,
         out Security::Opaque continuation_data,
         out Security::Opaque auth_specific_data
      );

   Security::AuthenticationStatus continue_authentication (
         in Security::Opaque response_data,
         in Credentials creds,
         out Security::Opaque continuation_data,
         out Security::Opaque auth_specific_data
      );
      };
   };
#endif // SECURITY_LEVEL_2_IDL

#pragma prefix "beasys.com"
module Tobj
   {
   const Security::AuthenticationMethod
      TuxedoSecurity = 0x54555800;
      CertificateBased = 0x43455254;
   };

C++宣言

class SecurityLevel2
  {
  public:
    class PrincipalAuthenticator;
    typedef PrincipalAuthenticator * PrincipalAuthenticator_ptr;
  class PrincipalAuthenticator : public virtual CORBA::Object
    {
    public:
       static PrincipalAuthenticator_ptr
         _duplicate(PrincipalAuthenticator_ptr obj);
       static PrincipalAuthenticator_ptr
         _narrow(CORBA::Object_ptr obj);
       static PrincipalAuthenticator_ptr _nil();

       virtual Security::AuthenticationStatus
            authenticate (
              Security::AuthenticationMethod method,
              const char * security_name,
              const Security::Opaque & auth_data,
              const Security::AttributeList & privileges,
              Credentials_out creds,
              Security::Opaque_out continuation_data,
              Security::Opaque_out auth_specific_data) = 0;

       virtual Security::AuthenticationStatus
          continue_authentication (
                     const Security::Opaque & response_data,
                     Credentials_ptr & creds,
                     Security::Opaque_out continuation_data,
                     Security::Opaque_out auth_specific_data) = 0;
    protected:
       PrincipalAuthenticator(CORBA::Object_ptr obj = 0);
       virtual ~PrincipalAuthenticator() { }

    private:
       PrincipalAuthenticator( const PrincipalAuthenticator&) { }
       void operator=(const PrincipalAuthenticator&) { }
     }; // class PrincipalAuthenticator
   };

 


SecurityLevel2::PrincipalAuthenticator::continue_authentication

概要

常に失敗します。

OMG IDL定義

Security::AuthenticationStatus continue_authentication(
in Security::Opaque response_data,
in Credentials    creds,
out Security::Opaque continuation_data,
out Security::Opaque auth_specific_data
);

説明

Oracle Tuxedoソフトウェアは1つの手順で認証を実行するため、このメソッドは常に失敗し、Security::AuthenticationStatus::SecAuthFailureを返します。

戻り値

常にSecurity::AuthenticationStatus::SecAuthFailureを返します。

注意: この情報は、「CORBAservices: Common Object Services Specification」の15-92、93ページから引用しました。改訂版: 1995年3月31日更新: 1997年11月。また、この情報は、OMGの権限を得て転載しています。

 


Tobj::PrincipalAuthenticator::get_auth_type

概要

Oracle Tuxedoドメインによって予測されている認証のタイプを取得します。

OMG IDL定義

AuthType get_auth_type();

説明

このメソッドは、Oracle Tuxedoドメインによって予測されている認証のタイプを返します。

注意: このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、CORBA::BAD_INV_ORDERが発生します。

戻り値

Tobj_AuthType列挙への参照。Oracle Tuxedoドメインへのアクセスに必要な認証のタイプを返します。次の表は、有効な戻り値について説明しています。

戻り値
意味
TOBJ_NOAUTH
認証はまったく必要ありません。ただし、クライアント・アプリケーションは、ユーザー名とクライアント・アプリケーション名を指定することで認証を受けることができます。パスワードは不要です。
このセキュリティ・レベルを指定するには、UBBCONFIGファイルのRESOURCESセクションにあるSECURITYパラメータにNONE値を指定します。
TOBJ_SYSAUTH
クライアント・アプリケーションは、Oracle Tuxedoドメインに対して自身を認証する必要があります。また、ユーザー名、クライアント名、およびパスワードを指定する必要があります。
このセキュリティ・レベルを指定するには、UBBCONFIGファイルのRESOURCESセクションにあるSECURITYパラメータにAPP_PW値を指定します。
TOBJ_APPAUTH
クライアント・アプリケーションは、Oracle Tuxedoドメインに対してクライアント・アプリケーションを認証する証明資料を提供する必要があります。証明資料は、パスワードまたはデジタル証明書です。
このセキュリティ・レベルを指定するには、UBBCONFIGファイルのRESOURCESセクションにあるSECURITYパラメータにUSER_AUTH値を指定します。

 


Tobj::PrincipalAuthenticator::logon

概要

プリンシパルを認証します。

OMG IDL定義

Security::AuthenticationStatus logon(
in string user_name,
in string client_name,
in string system_password,
in string user_password,
in UserAuthData user_data
);

引数

user_name

Oracle Tuxedoユーザー名です。認証レベルは、TOBJ_NOAUTHです。user_nameがNULLまたは空の場合、あるいは30文字を超えている場合、logonCORBA::BAD_PARAMが発生します。

client_name

クライアント・アプリケーションのOracle Tuxedo名です。認証レベルは、TOBJ_NOAUTHです。client_nameがNULLまたは空の場合、あるいは30文字を超えている場合、logonでCORBA::BAD_PARAM例外が発生します。

system_password

CORBAクライアント・アプリケーション・パスワードです。認証レベルは、TOBJ_SYSAUTHです。クライアント名がNULLまたは空の場合、あるいは30文字を超えている場合、logonでCORBA::BAD_PARAM例外が発生します。
注意: system_passwordは、30文字以内で指定する必要があります。

user_password

デフォルトOracle Tuxedo認証サービスで使用するのに必要なユーザー・パスワードです。認証レベルは、TOBJ_APPAUTHです。パスワードは30文字以内で指定します。

user_data

カスタムOracle Tuxedo認証サービスで使用するのに必要なクライアント・アプリケーション固有のデータです。認証レベルは、TOBJ_APPAUTHです。
注意: TOBJ_SYSAUTHには、TOBJ_NOAUTHに加えてクライアント・アプリケーション・パスワードの要件が含まれます。TOBJ_APPAUTHには、TOBJ_SYSAUTHに加えて、ユーザー・パスワードまたはユーザー・データなどの追加情報が含まれます。
注意: user_password引数とuser_data引数は相互に排他的であり、Oracle Tuxedoドメインの構成で使用する認証サービスの要件によって異なります。Oracle Tuxedoのデフォルト認証サービスには、ユーザー・パスワードが必要です。カスタマイズされた認証サービスにはユーザー・データが必要です。user_passworduser_dataの両方が設定されている場合、ログオン呼出しでCORBA::BAD_PARAM例外が発生します。

説明

このメソッドは、プリンシパルがOracle TuxedoドメインにアクセスできるようにIIOPリスナー/ハンドラを介してプリンシパルを認証します。このメソッドはSecurityLevel2::PrincipalAuthenticator::authenticateと同じ機能ですが、引数はATMI認証指向です。

注意: このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、CORBA::BAD_INV_ORDERが発生します。

戻り値

次の表は、有効な戻り値について説明しています。

戻り値
意味
Security::AuthenticationStatus::
SecAuthSuccess
認証が成功したことを示します。
Security::AuthenticationStatus::
SecAuthFailure
認証が失敗したか、またはクライアント・アプリケーションがすでに認証済で、次のメソッドのいずれかを呼び出さなかったことを示します。
Tobj::PrincipalAuthenticator:logoff
Tobj_Bootstrap::destroy_current

 


Tobj::PrincipalAuthenticator::logoff

概要

プリンシパルに関連付けられたセキュリティ・コンテキストを破棄します。

OMG IDL定義

void logoff();

説明

この呼出しは、セキュリティ・コンテキストを破棄しますが、Oracle Tuxedoドメインへのネットワーク接続を閉じません。Logoffでも、現在の資格証明を無効化できます。認証タイプがTOBJ_NOAUTHでない場合、ログオフした後の既存のオブジェクト参照を使用した呼出しは失敗します。

プリンシパルが現在Oracle Tuxedoドメインに対して認証されている場合、Tobj_Bootstrap::destroy_current()を呼び出すと、暗黙的にlogoffが呼び出されます。

注意: このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、CORBA::BAD_INV_ORDERが発生します。

戻り値

なし。

 


Tobj::PrincipalAuthenticator::build_auth_data

概要

SecurityLevel2::PrincipalAuthenticator::authenticateで使用する認証データと属性を作成します。

OMG IDL定義


void build_auth_data(
in string user_name,
in string client_name,
in string system_password,
in string user_password,
in UserAuthData user_data,
out Security::Opaque auth_data,
out Security::AttributeList privileges
);

引数

user_name

Oracle Tuxedoユーザー名です。

client_name

CORBAクライアント名です。

system_password

CORBAクライアント・アプリケーション・パスワードです。

user_password

デフォルトOracle Tuxedo認証サービスで使用するユーザー・パスワードです。

user_data

カスタムOracle Tuxedo認証サービスで使用するクライアント・アプリケーション固有のデータです。

auth_data

authenticateで使用します。

privileges

authenticateで使用します。
注意: user_nameclient_name、またはsystem_passwordがNULLまたは空の場合、あるいは30文字を超えている場合、以降のauthenticateメソッド呼出しでCORBA::BAD_PARAM例外が発生します。
注意: user_passwordパラメータとuser_dataパラメータは相互に排他的であり、Oracle Tuxedoドメインの構成で使用する認証サービスの要件によって異なります。Oracle Tuxedoのデフォルト認証サービスには、ユーザー・パスワードが必要です。カスタマイズされた認証サービスにはユーザー・データが必要です。user_passworduser_dataの両方が指定されている場合、後続の認証呼出しでCORBA::BAD_PARAM例外が発生します。

説明

このメソッドは、SecurityLevel2::PrincipalAuthenticator::authenticateで使用する認証データと属性を作成するヘルパー関数です。

注意: このメソッドが無効なSecurityCurrentオブジェクトで呼び出された場合、CORBA::BAD_INV_ORDERが発生します。

戻り値

なし。


  先頭に戻る       前  次