8.2.5 接続識別子でのLDAPパラメータの直接指定

ディレクトリ・ネーミング・メソッドでは、データベース・クライアント接続識別子でのLDAPパラメータの使用により、LDAP名前参照を指定するための代替方法が提供されます。この機能を使用すると、データベースへの接続のために外部構成ファイル(ldap.oraまたはsqlnet.ora)を構成する必要がありません。

LDAP名前参照のためにldap.oraおよびsqlnet.oraの一部として指定された値は、接続識別子で直接渡されます。ldap.oraまたはsqlnet.oraが存在しており、接続識別子でLDAPパラメータを使用している場合は、接続識別子の値が優先されます。

接続識別子の構文

ldap[s]://host[:port]/name[,context][?parameter1=value1{&parameter2=value2}]

たとえば:

sqlplus "<user_name>/<password>@ldaps://<host_name>:<port>/cn=sales,cn=oraclecontext?DIRECTORY_SERVER_TYPE=oid&WALLET_LOCATION=/oracle/network/admin&AUTHENTICATE_BIND=true&AUTHENTICATE_BIND_METHOD=LDAPS_SIMPLE_AUTH"

ここでは、<user_name>/<password>により、接続のデータベースのユーザー名とパスワードを指定します。

次に、ldap[s]://host[:port]/name[,context]を使用して指定する、プロトコル固有のパラメータを示します:

構文要素 説明 デフォルト値

ldap[s]

これは必須パラメータです。プロトコル(LDAPLDAPSなど)を指定します。

LDAPSプロトコルではTLS接続が使用されます。

該当なし

host

これは必須パラメータです。LDAPディレクトリ・サーバーが実行されているホストの名前を指定します。

該当なし

port

これはオプションのパラメータです。LDAP接続のポート番号を指定します。

LDAPプロトコルの場合は389

LDAPSプロトコルの場合は636

name

これは必須パラメータです。接続文字列内のサービス名を解決するLDAPエントリを指定します。

このエントリは、指定されたコンテキストのOracleContextコンテナに含まれている必要があります。

該当なし

context

これはオプションのパラメータです。OracleContextを含むディレクトリ・ネーミング・コンテキストを指定します。

たとえば、コンテキストは次のようになります:

cn=OracleContext,dc=example,dc=com

cn=OracleContext

次に、parameter=valueを使用して指定する、ディレクトリ使用パラメータを示します。これらはすべてオプション・パラメータです:

構文要素 説明 デフォルト値

directory_server_type

LDAPベースの名前参照に使用するディレクトリ・サーバーを指定します。

次の値をとります。

  • OID (Oracle Internet DirectoryまたはOracle Unified Directory)

  • AD (Microsoft Active Directory)

DIRECTORY_SERVER_TYPEを参照してください。

OID

authenticate_bind

LDAPネーミング・アダプタで認証にウォレットを使用するかどうかを指定します。

値はtrueまたはfalseです。

AUTHENTICATE_BINDを参照してください。

false

wallet_location

Oracleウォレットが格納されるディレクトリを指定します。

WALLET_LOCATIONを参照してください。

該当なし

authenticate_bind_method

クライアントLDAPネーミング・アダプタの認証方式を指定します。

値としてはLDAPS_SIMPLE_AUTHまたはNONEを指定できます。

AUTHENTICATE_BIND_METHODを参照してください。

NONE

ノート:

directory_server_typewallet_locationauthenticate_bindおよびauthenticate_bind_methodパラメータは、位置に依存しません。

接続識別子の例

様々な値で接続識別子を指定する方法の例をいくつか見てみましょう:

  • すべてのパラメータあり:

    文字列ですべての必須パラメータとオプション・パラメータが指定されています。

    "scott/password@ldaps://ldapserver:636/cn=orcl,cn=OracleContext,dc=example,dc=com?DIRECTORY_SERVER_TYPE=oid&WALLET_LOCATION=/wallet&AUTHENTICATE_BIND=true&AUTHENTICATE_BIND_METHOD=LDAPS_SIMPLE_AUTH"
  • ディレクトリ・サーバーなし:

    デフォルトのディレクトリ・サーバー(OID)が使用されます:

    "scott/password@ldaps://ldapserver:636/cn=orcl,cn=OracleContext,dc=example,dc=com?WALLET_LOCATION=wallet&AUTHENTICATE_BIND=true&AUTHENTICATE_BIND_METHOD=LDAPS_SIMPLE_AUTH"
  • authenticate_bindなし:

    デフォルトのauthenticate_bind値(false)が使用されます。そのため、authenticate_bind_methodは無視されます。

    "scott/password@ldaps://ldapserver:636/cn=orcl,cn=OracleContext,dc=example,dc=com?DIRECTORY_SERVER_TYPE=oid&WALLET_LOCATION=wallet&AUTHENTICATE_BIND_METHOD=LDAPS_SIMPLE_AUTH"
  • 管理コンテキストあり:

    コンテキスト名の値がcn=OracleContext,dc=example,dc=comとして指定されています。

    "scott/password@ldaps://ldapserver:636/cn=orcl,cn=OracleContext,dc=example,dc=com?DIRECTORY_SERVER_TYPE=oid&WALLET_LOCATION=/wallet&AUTHENTICATE_BIND=true&AUTHENTICATE_BIND_METHOD=LDAPS_SIMPLE_AUTH"
  • 管理コンテキストなし:

    コンテキスト値(cn=OracleContext,dc=example,dc=com)がnullです。

    “scott/password@ldaps://ldapserver:636/orcl?DIRECTORY_SERVER_TYPE=oid&WALLET_LOCATION=/wallet&AUTHENTICATE_BIND=true&AUTHENTICATE_BIND_METHOD=LDAPS_SIMPLE_AUTH"
  • 最小限のパラメータ:

    最小限のプロトコル固有パラメータが指定されています(プロトコルはldaps、ホストはldapserver、ポートは636、コンテキストは文字列ごとに異なります)。

    "scott/password@ldaps://ldapserver:636/cn=orcl,cn=OracleContext,dc=example,dc=com"
    "scott/password@ldaps://ldapserver:636/cn=orcl"
    "scott/password@ldaps://ldapserver:636/orcl"
  • システム・ウォレットを使用:

    WALLET_LOCATION値が接続識別子およびsqlnet.oraファイルで指定されていません。この場合は、クライアントで、オペレーティング・システムのデフォルトの証明書ストアにあるウォレットが使用されます。

    "scott/password@ldaps://ldapserver:636/cn=orcl,cn=OracleContext,dc=example,dc=com?DIRECTORY_SERVER_TYPE=oid"
  • LDAPプロトコルを使用:

    これらの文字列では、LDAPプロトコルはOID構成のために指定されています。

    "scott/password@ldap://ldapserver:2389/cn=orcl,cn=OracleContext,dc=example,dc=com?DIRECTORY_SERVER_TYPE=oid&AUTHENTICATE_BIND=false"
    "scott/password@ldap://ldapserver:2389/cn=orcl,cn=OracleContext,dc=example,dc=com"
  • ディレクトリ・サーバーおよびユーザー名とパスワードによる認証あり

    DIRECTORY_SERVER_TYPE値は、AD (Microsoft Active Directoryを使用)として指定されています。AUTHENTICATE_BINDおよびAUTHENTICATE_BIND_METHODの値で、LDAPS_SIMPLE_AUTH(ユーザー名とパスワードに基づく認証を提供する)が指定されています。

    "scott/password@ldaps://ldapserver:636/cn=orcl?DIRECTORY_SERVER_TYPE=AD&WALLET_LOCATION=/wallet&AUTHENTICATE_BIND=true&AUTHENTICATE_BIND_METHOD=LDAPS_SIMPLE_AUTH"
  • ディレクトリ・サーバーおよびWindowsネイティブ認証あり

    DIRECTORY_SERVER_TYPE値は、AD (Microsoft Active Directoryを使用)として指定されています。AUTHENTICATE_BINDの値はtrueとして指定されています。これは、デフォルトのLDAPS_SIMPLE_AUTH=NONE設定を意味します。これにより、Windowsログイン資格情報を使用してWindowsネイティブ認証が提供されます。

    "scott/password@ldap://ldapserver:389/cn=orcl?DIRECTORY_SERVER_TYPE=AD&AUTHENTICATE_BIND=true"