プライマリ・コンテンツに移動
Oracle® Identity Manager Oracle Internet Directoryコネクタ・ガイド
リリース11.1.1
B72412-14
目次へ移動
目次

前
次

8 LDAPv3準拠ディレクトリでのコネクタの使用

この章では、LDAPv3準拠ディレクトリ・サーバーでのコネクタの使用に関する次の情報を説明します。

ノート:

この章では、LDAPv3準拠ターゲット・システムの例としてOpenLDAPサーバーを使用します。この章の例を、ご使用のLDAPv3準拠ディレクトリ・サーバーに合せて調整する必要があります。

8.1 セキュアな通信の構成

LDAPv3ターゲット・システムにセキュアな通信を提供するには、Oracle Identity Manager、コネクタ・サーバーおよびLDAPv3ターゲット・システムの間でSSLを構成します。

詳細は、「コネクタのSSLの構成」を参照してください。

8.2 新しいITリソース・インスタンスの作成

ノート:

前提条件として、OpenLDAPサーバー(または、ご使用のLDAPv3準拠のディレクトリ・サーバー)のインストールと構成が完了している必要があります。この章の例では、baseDNとしてdc=example,dc=com、管理者アカウントとしてcn=admin,dc=example,dc=comが使用されます。

コネクタをインストールするときに、表8-1のパラメータを設定してOpenLDAPという名前の新しいITリソース・インスタンスを作成します。

表8-1 OpenLDAPサーバー・ターゲット・システムのITリソースのパラメータ

パラメータ 説明

host

OpenLDAPサーバーのホスト名またはIPアドレス

port

OpenLDAPサーバー・ポート。

ssl

ターゲット・システムとの通信をSSLで保護する必要があるかどうかを指定します。

OpenLDAPサーバーの構成方法に応じて、trueまたはfalseを指定します。

Configuration Lookup

リコンシリエーションおよびプロビジョニング時に使用される構成情報を格納する参照定義の名前。

Lookup.LDAP.Configurationを指定します。

baseContexts

ターゲット・システムでの操作のためのベース・コンテキスト。

サンプル値: "dc=example,dc=com"

credentials

OpenLDAPサーバーの設定時に使用したパスワード。

principal

OpenLDAPサーバー・ターゲット・システムで操作を実行するためのバインドDN。

サンプル値: cn=admin,dc=example,dc=com

8.3 OpenLDAPサーバーでのコネクタの構成

この項では次の内容について説明します。

8.3.1 メインの構成参照

メインの構成参照であるLookup.LDAP.Configurationは、OpenLDAPサーバーに対して変更する必要がある構成パラメータを含みます。

まず、Lookup.LDAP.Configuration参照のentryUUIDuidAttributeに設定します。OpenLDAPはentryUUIDを使用するためです。

ノート:

Lookup.LDAP.Configurationは、コネクタの動作を変更できる多くの構成プロパティを含みます。構成オプションの詳細は、「Lookup.LDAP.Configuration」を参照してください。ただし、最も重要な構成プロパティは、この項で説明するuidAttributeです。

コネクタでプロビジョニングを実行できるように、次の参照リコンシリエーションを構成します。プロビジョニング・フォームでそれらの値が使用されるためです。

8.3.1.1 Organizational Unit (OU) Lookup Reconciliation

このジョブは、ターゲット・リソースで既存のすべての組織単位を検索し、Lookup Nameジョブ・パラメータに構成された参照(デフォルトではLookup.LDAP.Organization)にリコンサイルします。

Code Key Attributeジョブ・パラメータは、参照のコード・キーの値として使用されるLDAP属性を指定します。OpenLDAPではデフォルト値dnを変更する必要はありません。同様に、Decode Attributeジョブ・パラメータも変更しないでください。デフォルト値ouが適切です。

Object Typeジョブ・パラメータはデフォルトでOUに設定されていることに注意してください。コネクタ・バンドルはこの値をorganizationalUnitオブジェクト・クラスに変換します。したがって、OpenLDAPに定義されている組織単位にorganizationUnitオブジェクト・クラスを割り当てる必要があります。

つまり、必要となるのはIT Resource Nameジョブ・パラメータをOpenLDAPに設定することだけです。

このタスクを実行すると、コネクタ・バンドルは、(&(objectClass=top)(objectClass=organizationalUnit))のようなLDAPフィルタを使用して検索し、属性dnおよびouがそれぞれLookup.LDAP.Configuration参照のコード・キー値およびデコード値として使用されます。

8.3.1.2 Group Lookup Reconciliation

前の参照リコンシリエーション・ジョブの場合と同じく、このジョブのデフォルト・パラメータも適切に動作します。IT Resource NameパラメータをOpenLDAPに設定します。

OpenLDAPサーバーに存在するすべてのグループを検索するために、(&(objectClass=top)(objectClass=groupOfUniqueNames)) LDAPフィルタが使用されます。

8.3.2 ユーザー・プロビジョニング

このセクションには次のトピックが含まれます:

8.3.2.1 OpenLDAPを使用したユーザー・プロビジョニングについて

OpenLDAPではデフォルト構成が適切に機能するため、プロビジョニングを実行するために何も変更する必要はありません。

新しいLDAP Userリソース・オブジェクトを作成するとき、Oracle Identity ManagerはLDAP Userプロセスを使用し、Create Userプロセス・タスクを起動します(このタスクがadpLDAPCREATEOBJECTアダプタを使用します)。

このアダプタは、すべてのICFベース・コネクタに共通して実装されているICProvisioningManager#createObjectメソッドを呼び出します。ICProvisioningManagerは、ICFコネクタ・バンドルを検索して構成し、Lookup.LDAP.UM.ProvAttrMap参照に基づいてフォーム・フィールドをICF属性にマップし、CreateApiOp#create ICFメソッドを起動します。このコネクタ・バンドル・コードが、OpenLDAPでのオブジェクトの作成を実際に処理します。

Lookup.LDAP.UM.ProvAttrMapには次のエントリがあることに注意してください。

NsuniqueID:__UID__

entryUUIDUID属性として使用されるように構成したため、Nsuniqueフォーム・フィールド属性(非表示として構成)はオブジェクト作成によりentryUUID値で更新されます。同様のマッピングが、すべてのグループと組織単位に対して存在しています。このフィールドはリコンシリエーション一致ルールで使用されます。

リソース・オブジェクトの更新も同様の方法で処理されます。LDAP Userプロセスに含まれるUD_LDAP_USR Updatedプロセス・タスクは、複数のフィールドを変更すると起動されます。つまり、すべての変更は1つのCreateApiOp#create操作を起動することで処理されます。

LDAPユーザー・プロビジョニングでは、2つの複数値属性GroupとRoleがデフォルトでサポートされます。つまり、次の2つの子表がUD_LDAP_USR表に定義されています。

  • UD_LDAP_GRP (グループ用)

  • UD_LDAP_ROL (ロール用)

ノート:

これらの機能をターゲット・ディレクトリが次の標準的な方法で実装する場合のみ、コネクタでロールおよびグループの概念がサポートされます。

  • ロール用: ユーザーのロールを表すユーザー・オブジェクトに複数値属性が追加される。

  • グループ用: グループのメンバーを表すグループ・オブジェクトに複数値属性が追加される。

OpenLDAPではロールはサポートされないため、使用できるのはグループだけです。

デフォルトでサポートされないLDAP属性を追加する必要がある場合は、「コネクタの機能拡張」で説明するステップを実行します。

8.3.2.2 OpenLDAPでの有効化/無効化機能の使用

OpenLDAPで有効化/無効化機能を使用するには、OpenLDAPで次のステップを実行します。

  1. /etc/openldap/slapd.confで次のエントリを確認します。
    include         /etc/openldap/schema/ppolicy.schema
    modulepath /usr/lib64/openldap
    moduleload ppolicy.la
    overlay ppolicy
    ppolicy_default "cn=default,ou=Password 
    Policies,dc=example,dc=com"
    ppolicy_use_lockout
    
  2. OpenLDAPを再起動します。

    /etc/rc.d/init.d/ldap restart

  3. 次の内容を含む、/tmp/policy.ldifという名前の新しいファイルを作成し、必要に応じて変更します。
    # add default policy to DIT
    # attributes preceded with # indicate the defaults and
    # can be omitted
    # passwords must be reset every 30 days,
    # have a minimum length of 6 and users will
    # get a expiry warning starting 1 hour before
    # expiry, when the consecutive fail attempts exceed 5
    # the count will be locked and can only be reset by an
    # administrator, users do not need to supply the old
    # password when changing
    dn: cn=default,ou=Password Policies,dc=example,dc=com
    objectclass: top
    objectclass: person
    objectClass: pwdPolicy
    cn: default
    pwdMaxAge: 2592000
    #pwdExpireWarning: 3600
    #pwdInHistory: 0
    #pwdCheckQuality: 0
    pwdMaxFailure: 5
    pwdLockout: TRUE
    #pwdLockoutDuration: 0
    #pwdGraceAuthNLimit: 0
    #pwdFailureCountInterval: 0
    pwdMustChange: TRUE
    pwdMinLength: 6
    #pwdAllowUserChange: TRUE
    pwdSafeModify: FALSE
    pwdAttribute: userPassword
    sn: default
    
  4. このポリシーをOpenLDAPにインポートします。次に例を示します。
    ldapmodify -D cn=admin,dc=example,dc=com -W -a -f /tmp/policy.ldif
    
  5. Lookup.LDAP.Configurationに次の値を設定します。
    enabledAttribute=pwdAccountLockedTime
    enabledValue=dummy
    disabledValue=000001010000Z
    enabledWhenNoAttribute=true
    allowOtherValuesForEnabledAttribute=true
    enabledWhenOtherValue=false
    

    ノート:

    ユーザーの有効化または無効化はサーバーによって異なります。別のLDAPv3サーバーを使用している場合は、そのサーバーでこの機能がどのように実装されているかを確認します。

    コネクタの動作は、ステップ5に示す構成オプション(enabledAttribute、enabledValue、disabledValue、enabledWhenNoAttribute、allowOtherValuesForEnabledAttributeおよびenabledWhenOtherValue)を使用して構成できます。

8.3.3 グループ・プロビジョニング

グループ・プロビジョニングは、LDAP Groupリソース・オブジェクトをOracle Identity Managerの組織にプロビジョニングすることにより、Oracle Identity Managerで実行されます。

コネクタは、グループのオブジェクト・クラスとしてgroupOfUniqueNamesを使用します。OpenLDAPでは、uniqueMember属性に値を設定する必要があります。コネクタで提供されるのは、Lookup.LDAP.Group.ProvAttrMapに構成された4つの属性(containercn__NAME__および__UID__)であるため、グループ・プロビジョニングが次の例外で終了します。

object class 'groupOfUniqueNames' requires attribute 'uniqueMember'

この問題を解決するには、次のいずれかを実行します。

  • uniqueAttributeが必要でなくなるように、OpenLDAPでgroupOfUniqueNamesオブジェクト・クラス・スキーマを更新します。ただし、これはOpenLDAPでは推奨されません。

  • 次のエントリをLookup.LDAP.Group.ProvAttrMapに追加して、グループの作成または更新のたびにOracle Identity ManagerがuniqueMember属性値を提供するように構成します。

    uniqueMember: uniqueMember='cn=admin,dc=example,dc=com'
    

    このエントリにより、管理ユーザーが、Oracle Identity Managerによってプロビジョニングされるすべてのグループのメンバーになります。デプロイメントによってはこれが望ましくないことがあります。

デフォルトでサポートされないLDAP属性を追加する必要がある場合は、「コネクタの機能拡張」で説明するステップを実行します。

8.3.4 組織単位(OU)プロビジョニング

組織単位プロビジョニングは、LDAP Organisation Unitリソース・オブジェクトをOracle Identity Managerの組織にプロビジョニングすることにより、Oracle Identity Managerで実行されます。

「Organizational Unit (OU) Lookup Reconciliation」で説明したように、コネクタは組織単位プロビジョニングでorganizationalUnitオブジェクト・クラスを使用します。OpenLDAP OUプロビジョニングを実行するために構成を変更する必要はありません。

デフォルトでサポートされないLDAP属性を追加する必要がある場合は、「コネクタの機能拡張」で説明するステップを実行します。

8.3.5 ユーザー検索のリコンシリエーション

このセクションには次のトピックが含まれます:

8.3.5.1 ユーザー検索のリコンシリエーションについて

OpenLDAPではデフォルト構成が適切に機能するため、OpenLDAPIT Resource Nameとして設定するだけです。modifyTimestamp属性は、OpenLDAPで機能するIncremental Recon Attributeとしてデフォルトで構成されています。

Lookup.LDAP.UM.ReconAttrMapには次のエントリがあることに注意してください。

NsuniqueID: __UID__

entryUUIDuidAttributeとして構成されているため、entryUUID値がNsuniqueIDフィールドに格納されます。このフィールドもリコンシリエーション一致ルールで使用されます。

ノート:

ご使用のLDAPv3サーバーでmodifyTimestampがサポートされるかどうかを確認します。modifyTimestampがサポートされない場合は、Incremental Recon Attributeを削除してください。スケジュール済ジョブは常に完全リコンシリエーションを実行します。

リコンシリエーションにカスタム属性を追加する必要がある場合は、「ターゲット・リソースのリコンシリエーション用のカスタム・フィールドの追加」を参照してください。

8.3.5.2 User Search Delete Reconciliation

このジョブもデフォルト設定で機能します。必要となるのは、IT Resource NameOpenLDAPを設定することだけです。

8.3.5.3 Trusted User Reconciliation

信頼できるリコンシリエーションの場合は、次のように別のITリソースを作成する必要があります。

  1. タイプがLDAPOpenLDAP Trusted ITリソースを作成します。
  2. OpenLDAP ITリソースで使用されるのと同じ接続パラメータを設定します。
  3. Lookup.LDAP.Configuration.TrustedConfiguration Lookupパラメータ値として設定します。
  4. IT Resource Nameジョブ・パラメータをOpenLDAP Trustedに設定して、OpenLDAPでジョブを実行できるようにします。

8.3.5.4 Trusted User Delete Reconciliation

IT Resource Nameジョブ・パラメータをOpenLDAP Trustedに設定するだけで、このジョブをOpenLDAPで実行できます。

8.3.5.5 Group Search Reconciliation

IT Resource Nameジョブ・パラメータをOpenLDAPに設定するだけで、このジョブをOpenLDAPで実行できます。

8.3.5.6 Group Search Delete Reconciliation

IT Resource Nameジョブ・パラメータをOpenLDAPに設定するだけで、このジョブをOpenLDAPで実行できます。

8.3.5.7 OU Search Reconciliation

IT Resource Nameジョブ・パラメータをOpenLDAPに設定するだけで、このジョブをOpenLDAPで実行できます。

8.3.5.8 OU Search Delete Reconciliation

IT Resource Nameジョブ・パラメータをOpenLDAPに設定するだけで、このジョブをOpenLDAPで実行できます。

8.3.5.9 使用されないリコンシリエーション・ジョブ

次のリコンシリエーション・ジョブはOpenLDAPでは使用できません。OpenLDAPでは変更ログとロールがサポートされないためです。

  • Group Sync Reconciliation

  • Organizational Unit (OU) Sync Reconciliation

  • Role Lookup Reconciliation

  • Role Search Delete Reconciliation

  • Role Search Reconciliation

  • Role Sync Reconciliation

  • User Sync Reconciliation