プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Enterprise Data Qualityの保護
12c (12.2.1.2.0)
E88270-01
  目次へ移動
目次

前
 
次
 

5 EDQでの外部ユーザー管理(LDAP)の直接構成

この章では、EDQとLDAPとの統合について説明します。次の項が含まれます:

5.1 EDQとLDAPとの統合

この項には、前提条件およびEDQとLDAPとの統合手順が含まれます。

WebLogicを使用していない場合、または複数のLDAPストアを使用する場合、login.propertiesの設定を使用してEDQとLDAPを直接統合できます。これは、使用しているタイプのLDAPサーバーに対応する事前定義されたオーセンティケータがWebLogicで提供されていない場合にも便利です。たとえば、AD-LDS (Windowsで提供されている軽量LDAPサーバー)は、Active Directoryと互換性がなく、WebLogicのActiveDirectoryAuthenticatorを使用できません。

この項では、単純なLDAP統合のためにlogin.propertiesで必要な設定について説明します。Windows統合認証で使用されるKerberosサポートは、付録A「Windows統合認証(Kerberos)をサポートするためのEDQの構成」で説明します。

5.1.1 前提条件

構成プロセスを開始する前に、次の情報を収集する必要があります。

  • 使用しているLDAPサーバーのタイプ。EDQには、Active Directory、Oracle Internet Directory、OpenLDAP (inetOrgPersonユーザー・スキーマを使用)、およびRFC 2307 (Posix)スタイルのユーザー・スキーマを使用するサーバーのための組込みプロファイルがあります。

  • LDAPサーバーのホスト名およびポート。現在の環境に高可用性対応のサーバーが複数含まれる場合、構成内で複数のホストを使用できます。デフォルトのLDAPポートは389です。

  • 接続して検索を実行できるLDAPユーザーのアイデンティティおよびパスワード。ユーザー・アイデンティティは、通常、完全な識別名(DN)ですが、Active Directoryでは短縮形式も使用できます。

  • LDAPツリーのベースDN。可能な場合、これはLDAP RootDSEのdefaultNamingContext属性から自動的に決定されますが、利用できない場合はlogin.propertiesに指定する必要があります。

  • EDQを操作するすべてのユーザーが含まれるLDAPグループの名前。グループは、EDQの問題の割当てなどに表示されるユーザーのリストをフィルタするために使用されます。このフィルタがないと、LDAPサーバーのすべてのユーザーが表示されるため、一般的には推奨されません。

5.1.2 Active Directoryとの統合

この項の残りでは、Active Directoryとの統合に関する詳細な手順について説明します。この手順は、他のタイプのLDAPサーバーとほぼ同じです。初期構成ではSSLを使用しません。

手順の説明では、次の設定を使用します。

  • Active Directoryドメイン: EXAMPLE.COM

  • ドメイン・コントローラ(LDAPサーバー): dc1.example.com。デフォルトの非SSLのポート389が使用されます。

  • LDAPユーザー: cn=netuser,cn=users,dc=example,dc=com。このユーザーのADユーザー名が'netuser'であるとすると、netuser@example.comまたはexample\netuserも使用できます。

  • ベースDN: dc=example,dc=com。Active Directoryを使用する場合、これはRootDSEから自動的に決定されます。

  • すべてのEDQユーザー・グループ: edqusers


    注意:

    login.propertiesがEDQのローカル構成領域のsecurityディレクトリに存在することを確認してください。Tomcatインストールには、デフォルトのlogin.propertiesがないため、新しい空のファイルを作成します。

  • グローバル設定:

    この例では、Active Directoryレルムの名前は'ad'です。

    realms                    = internal, ad
    gss                       = false
    ldap.prof.useprimarygroup = false
    

    レルム・リストを定義します。EDQ内部レルムは、EDQ Webコンソールで組込みの管理者ユーザー'dnadmin'を使用して外部グループ・マッピングを設定するために使用します。最終設定は、ユーザーのプライマリ・グループがグループ・メンバーシップの決定で考慮されないことを示します。Active Directoryでは、これは常にすべてのユーザーを含むドメイン・ユーザー・グループで、EDQでは使用されません。

  • レルム名:

    ad.realm = EXAMPLE.COM
    

    Active Directoryドメインの名前を設定します。login.propertiesで複数のレルムを定義すると、EDQのログイン画面にそのレルムのドロップダウン・セレクタが表示されます。これに説明的なテキストを含めるには、次のように'label'プロパティを追加します。

    ad.label = Example, Inc. Active directory
    
  • LDAPサーバー設定:

    ad.ldap.server = dc1.example.com
    ad.ldap.auth   = simple
    ad.ldap.user   = cn=netuser,cn=users,dc=example,dc=com
    ad.ldap.pw     = <password for the user>
    

    サーバー名とユーザー情報を設定します。サーバーを省略すると、EDQは、LDAPサービス・レコードのDNSルックアップによってそれを自動的に決定しようとします。EDQが実行されているサーバーが、DNSについてActive Directoryドメイン・コントローラを使用するように構成されている場合、これらのレコードは自動的に設定されます。それ以外の場合、login.propertiesにサーバーを指定します。カンマまたは空白区切りのリストを使用して、複数のサーバーを指定できます。

    ad.ldap.server = dc1.example.com, dc2.example.com:2342
    

    EDQとLDAP間の接続に対して暗号化を構成するには、次の行を追加します。

    ad.ldap.security = ssl or tls
    

    値としてsslを指定すると、LDAPサーバーのSSLポート(通常は636)に対して接続が行われます。この場合、LDAPサーバーによって使用される証明書は、EDQを実行しているJREによって信頼される必要があります。信頼できるプロバイダによって証明書が作成されていない場合、keytoolコマンドを使用して、JREのcacertsトラスト・ストアにサーバーまたはルートCA証明書を追加します。https://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.htmlを参照してください

    プロパティ値としてtlsを指定すると、通常の非SSL LDAPポートに対して接続が行われ、接続を切り替えてTLS暗号化を使用するようにStartTLSコマンドが発行されます。パスワードなどのすべての機密情報は、TLSへの切替え後に送信されます。この場合、EDQは、サーバー証明書に簡易チェックを適用します(これはJREに信頼される必要はありません)。内部ネットワークのスプーフィングが懸念される場合は、追加チェックにSSLを使用してください。それ以外の場合、TLSの使用によって構成が簡略化されます。

  • ユーザー認証の構成:

    このプロパティ・セットにより、EDQに提供されるユーザー名とパスワードのLDAPでの検証方法が定義されます。これは、2段階のプロセスです。最初に、ユーザー名によって識別されるユーザー・レコードを特定するために検索が行われます。Active Directoryでは、これを行うため、ユーザー名に一致するsAMAccountNameを持つユーザーまたはusername@DOMAINに一致するuserPrincipalNameを持つユーザーを検索します。これらのActive Directory属性は、Windowsの短いログイン名と長いログイン名を表します。

    ユーザー・レコードが見つからない場合、認証は失敗します。パスワードを検証するには、次の3つの異なるメソッドがあります。

    • bind: 検出されたユーザー・アイデンティティおよびパスワードを使用してLDAPへの接続を試みます。これが成功しない場合、認証は失敗します。

    • password: ユーザー・レコードからハッシュ化されたパスワードを読み取り、それを指定されたパスワードと比較します。ほとんどのLDAPサーバーでは、ユーザー・パスワード値を読み取ることができないため、このメソッドはめったに適用されません。これは、Posixスタイルのユーザー・スキーマで使用されることがあります。

    • compare: LDAPの比較操作を使用してパスワードを確認します。このメソッドは、Oracle Internet Directoryで使用可能で、LDAPサーバーで新しいセッションを作成することがないため、状況によっては'bind'より適切です。

    デフォルト・メソッドは'bind'で、これは常にActive Directoryで使用されます。

    ad.auth            = ldap
    ad.auth.bindmethod = simple
    ad.auth.binddn     = search: dn
    

    'auth'プロパティでLDAPベースの認証を設定しますが、Kerberosなどの拡張メソッドを使用する場合、他の設定も可能です。'bindmethod'プロパティでは、接続メソッドを設定します('simple'は、ユーザー名とパスワードをクリア・テキストで送信します)。'binddn'プロパティでは、接続の試行で使用されるアイデンティティを設定します。ここでは、初期ユーザー検索で検出されたDN (識別名)が使用されます。

    かわりのバインド・メソッドは、クリア・テキストではなくハッシュ化形式でパスワードを送信するdigest-md5です。このメソッドを使用するには、バインド・プロパティを次のように置き換えます。

    ad.auth.bindmethod = digest-md5
    ad.auth.binddn     = search: sAMAccountName
    

    Windowsユーザー名は、識別名(これはdigest-md5接続では必須)のかわりに接続で使用されます。

    パスワード検証にLDAP比較を使用するには、Oracle Internet Directoryで次の設定を使用します。

    oid.auth        = ldap
    oid.auth.method = compare
    
  • LDAPプロファイル:

    これらの設定で、使用するLDAPスキーマを定義し、ユーザー・ルックアップをカスタマイズします。

    ad.ldap.profile               = adsldap
    ad.ldap.prof.defaultusergroup = edqusers
    

    'adsldap'プロファイルは、Active Directoryで使用されます。事前定義された他のプロファイルは次のとおりです。

    • inetorgoidldap: Oracle Internet DirectoryとinetOrgPersonユーザー

    • inetorgopenldap: OpenLDAPとinetOrgPersonユーザー

    • rfc2307ldap: RFC 2307 (Posix)スタイルのユーザー・レコード

    'defaultusergroup'プロパティで、すべてのEDQユーザーを含むグループを定義します。

    大規模な組織のLDAPストアには、数千に及ぶ別個のグループが含まれることがあり、追加フィルタがなければ、EDQ Webコンソールの外部グループのマッピング・リストにすべて表示されます。グループ・リストを管理可能なサイズにフィルタするには、次のようにLDAPグループ・フィルタを追加します。

    ad.ldap.prof.groupsearchfilter = LDAPGROUPFILTER
    

    ここで、LDAPGROUPFILTERは、グループを選択するためのLDAPスタイルのフィルタです。フィルタでは、事前定義されたマッピングで使用されるすべてのグループを戻す必要があります。

    EXAMPLE.COM設定では、EDQで使用されるすべてのグループが接頭辞'edq'で始まるため、フィルタは次のようになります。

    ad.ldap.prof.groupsearchfilter = (cn=edq*)
    
  • まとめ:

    これが、Active Directory統合の例で使用される完全なlogin.propertiesです。

    # EXAMPLE.COM LDAP integration
    # ----------------------------
     
    realms                        = internal, ad
    gss                           = false
    ldap.prof.useprimarygroup     = false
     
    ad.realm                      = EXAMPLE.COM
    ad.ldap.server                = dc1.example.com
    ad.ldap.auth                  = simple
    ad.ldap.user                  = cn=netuser,cn=users,dc=example,dc=com
    ad.ldap.pw                    = <password for the user>
    ad.auth                       = ldap
    ad.auth.bindmethod            = simple
    ad.auth.binddn                = search: dn
     
    ad.ldap.profile               = adsldap
    ad.ldap.prof.defaultusergroup = edqusers
    
  • 複数のLDAPストアとの統合:

    複数のLDAPストアと統合するには、複数のレルムを定義してそれぞれの設定のブロックを含めます。

    realms = internal, ad1, ad2, oid
    ad1.realm = …
    …
    ad2.realm = …
    …
    oid.realm = … 
    …
    

    複数のドメインを持つActive Directoryフォレストを使用する場合、login.propertiesに各ドメインを個別のレルムとして定義する必要があります(EDQでは、クロスドメイン参照を作成できません)。次に例を示します。

    realms = internal, aduk, asus
    aduk.realm       = UK.EXAMPLE.COM
    aduk.ldap.server = DC1.UK.EXAMPLE.COM
    …
    adus.realm       = US.EXAMPLE.COM
    asus.ldap.server = DC1.US.EXAMPLE.COM
    …