この章では、LDAP/Active Directoryなどの外部の認証ツールを使用したOracle API Catalogの認証方法について説明します。
この章には、次のセクションがあります。
この項では、Oracle API Catalogで、ユーザーを認証するためにLDAP/Active Directoryを使用する方法について説明します。
この項には次のトピックが含まれます:
ユーザーの認証にLDAP/Active Directory(AD)を使用する場合、LDAP/Active Directoryサーバーを使用する前に、ユーザーの部署とロールの構成にいくつかの考慮が必要です。統合を有効にすると、すべてのユーザーがLDAP/ADを介して認証されます。そのためには、Oracle API Catalogのデータベース内に作成された、LDAP/ADからのユーザー名と一致する、少なくとも1つの管理者レベルのユーザー・アカウントが必要です。LDAP/ADが有効な場合も、Oracle API Catalog内の管理機能が実行できるように、このユーザー・アカウントには管理者のロールを割り当てる必要があります。
LDAP/ADからのロール同期が有効になっている場合は、少なくとも1つのユーザー・アカウントに管理者レベルのロールを割り当てる必要があります。ロール同期のオプションを使用する前に、Oracle API Catalog内でLDAPロールを作成し、適切なOracle API Catalogの権限を割り当てる必要があります。ロール名は名前のみで同期されます。管理者レベルのユーザーがLDAP/ADを使用してOracle API Catalogにログインする場合、当然、そのユーザーはアプリケーションを構成および管理できます。このユーザー・アカウントは、日常的な業務には使用しないでください。
この手順は、Oracle API Catalogの「管理」画面で実行します。
左ペインの「システム設定」をクリックします。「システム設定」画面がメイン・ペインに表示されます。
システム設定の検索ボックスを使用すると、簡単に次の各設定を検索できます。
検索ボックスにenterprise.authentication.ldap.enabled
と入力します。値にTrue
を設定し、「保存」をクリックします。
次に示すように設定を変更します。
未承認ユーザーのログイン
True
に設定します。
プラグイン・ログイン・モジュールのクラス名
テキスト・ボックスにcom.flashline.enterprise.authentication.server.loginmodule.LDAPLogin
と入力します。
注意: このプロパティにより、LDAPのオンとオフが切り替わります。有効にすると、アプリケーションはユーザー認証にLDAPサーバーを使用します。 |
完了したら、「保存」をクリックします。
LDAP/ADのプロパティは次のように変更できます。
左ペインの「システム設定」をクリックします。
システム設定の検索を使用すると、簡単に次の各設定を検索できます。次に示すように値を入力します。
LDAPサーバーのホスト名
テキスト・ボックスに、ホスト名またはディレクトリ・サーバーのIPアドレスを入力します。
LDAPサーバーのポート番号
テキスト・ボックスに389
と入力します。
LDAPマスク
LDAPの場合はuid=^と入力します。
または
Active Directoryの場合はsamAccountName=^と入力します。
未承認ユーザー・アカウントの作成
True
に設定します。
ユーザーへのデフォルト・ロールの割当て
True
に設定します。
注意: このプロパティにより、すべてのユーザー認証でデフォルトのロールが割り当てられます。 |
欠落しているロールの自動作成
True
に設定します。
注意: このプロパティにより、LDAP/ADサーバーから同期してロールを作成しますが、そのロールには何も権限を割り当てません。 |
欠落している部署の自動作成
True
に設定します。
注意: このプロパティにより、LDAP/ADサーバーから同期して部署を作成しますが、その部署には何も説明を割り当てません。ただし、ユーザーには新規ロールが割り当てられます。 |
LDAPバージョン
テキスト・ボックスに3と入力します。(サポートされるバージョンは2および3です)
管理者アカウントの識別名
注意: このプロパティは、Active Directoryの使用に必須です。このプロパティには、少なくとも読取り専用ディレクトリのルックアップ権限を持つユーザー・アカウントのDNが含まれている必要があります。 |
例: CN=Some_User,CN=Users,DC=ad,DC=example,DC=com
管理者アカウントのパスワード
テキスト・ボックスに、前述の管理者アカウントの識別名プロパティで識別される管理者アカウントのパスワードを入力します。
SSL接続の使用
True
を設定し、LDAPのSSL接続を有効にします。デフォルト値はfalseです。
照会先を追跡する
True
に設定します。
管理者アカウントを使用してデータを取得する
LDAP(該当する場合)では、False
に設定します。
Active Directoryまたは制限されたLDAP環境では、True
に設定します。
検索を開始する場所
注意: このプロパティには、ユーザー・レコードの検索を開始するディレクトリ・ツリー内の場所を定義します。 |
例:
LDAPの場合: OU=MemberGroupB, O=en_us
Active Directoryの場合: CN=Users,DC=ad,DC=example,DC=com
検索範囲
リスト内のサブツリーを選択します。
注意: このプロパティには、ユーザー・レコード検索の深さ(baseDNの下)を定義します。 |
検出したエントリを識別する属性名
注意: このプロパティには、ツリー検索の有効範囲内でユーザー・アカウントを一意に識別する属性名を指定します。 |
LDAPの場合: uid
または
Active Directoryの場合: samAccountName
検出したエントリの電子メールの属性名
mailと入力します。
検出したエントリの名前の属性名
givenNameと入力します。
検出したエントリのミドルネームの属性名
LDAPまたはActive Directoryからのミドルネーム属性を入力します(該当する場合)
検出したエントリの姓の属性名
snと入力します
検出したエントリの電話番号の属性名
telephoneNumberと入力します
LDAPの部署を使用
True
に設定します。
注意: このプロパティには、Oracle API Catalog内で同期されているユーザーの部署の属性値を定義します。 |
部署属性
departmentと入力します
LDAPのロールを使用
False
に設定します。
ロール属性
ユーザーのロール情報が含まれているLDAP/Active Directory属性を入力します。
第2レベルのルックアップ属性
注意: このプロパティには、ユーザー情報を取得するための第2レベルのルックアップを識別する属性を定義します。その値はDNにする必要があります。第2レベルのルックアップのリダイレクトを使用している場合は、この第2のルックアップのベースDNを定義します。 |
完了したら、「保存」をクリックします。
Oracle API Catalogアプリケーションを再起動します。
Oracle API CatalogのLDAP/Active Directoryコネクタを使用すると、Oracle API Catalogのユーザー認証およびロール割当てのためのユーザー識別の単一のソースとしてLDAPを動作させることができます。しかしこれは、Oracle API Catalogを介してファイルにアクセスするためのユーザー認証を、各ホストのリポジトリが管理することを妨げるものではありません。
Oracle API CatalogのLDAP/Active Directoryコネクタを使用すると、Oracle API Catalogは、ユーザーを認証するために、LDAPまたはActive Directoryに依存します。ユーザー名とパスワードの組合せは、バインド要求としてLDAPシステムに委任されます。ユーザーはバインド要求が成功した場合にのみ認証されます。
オプションとして、Oracle API Catalogのユーザー・ロールの割当てを格納または取得するようにLDAPを構成できます。この構成では、ユーザーがログインするたびに、Oracle API Catalogにより、LDAPに格納されているそのユーザーのロールと同期されます。ロールはLDAPを介して直接追加され、Oracle API Catalogでは管理されません。LDAP内のグループ·マッピングはOERでは使用されません。このオプションを使用するには、ldap.enable-synch-roles
システム設定をTrue
に設定する必要があります。ldap.rbac.roleAttrib
システム設定は、ユーザーがOracle API Catalog内に持っているロール名を含む、複数値LDAP属性の名前に設定する必要があります。ldap.enable-synch-rolesシステム設定が有効に設定されていない場合、またはldap.rbac.roleAttrib
オプションで参照されているLDAP属性が構成されていない場合は、管理者が手動でOracle API Catalogにユーザーのロールを割り当てます。
次のシナリオで、LDAPの設定および構成の選択を説明し、ユーザー管理のためのプロパティ設定を明らかにします。
シナリオ1
LDAP認証にもかかわらず、Oracle API Catalogへのユーザーのアクセスを防止します。アクセスは、アクティブなOracle API Catalogアカウントを持つ既存のユーザーのみに提供されます。
理由
あらかじめユーザーのベースが定義されている非エンタープライズのライセンス契約では、アプリケーションに許可されるユーザーの数が限られます。
プロパティ設定
ldap.allow-user-creation
False
に設定します。
enterprise.security.unapproveduser.allowlogin
False
に設定します。
シナリオ2
LDAP認証で、デフォルトのOracle API Catalogユーザー・アカウントを作成してデフォルトのロールを割り当てながら、Oracle API Catalogへのユーザーのアクセスを拒否します。
Oracle API Catalogでは、デフォルトのロールは開発者です。
理由
新規ユーザー・アカウントが作成されたことがセキュリティ管理者に通知されるまで、新規ユーザーのOracle API Catalogへのアクセスを拒否します。セキュリティ管理者に承認されると、ユーザーのステータスがOracle API Catalogへのログインが許可されるアクティブに変更されます。
プロパティ設定
ldap.allow-user-creation
True
に設定します。
ldap.assign-default-roles
True
に設定します。
enterprise.security.unapproveduser.allowlogin
False
に設定します。
シナリオ3
LDAP認証で、デフォルトのOracle API Catalogユーザー・アカウントがデフォルトのロールで作成され、ユーザーはOracle API Catalogへのログインを許可されます。
理由
LDAP認証が新規ユーザーの作成に関する唯一の制限であるエンタープライズ・ライセンス契約。通常、LDAPアカウントでロールが事前定義されていない新規ユーザーのアクセスを制限するため、デフォルトのOracle Enterprise Repositoryのロールは開発者に設定されます。
プロパティ設定
ldap.allow-user-creation
True
に設定します。
ldap.assign-default-roles
True
に設定します。
enterprise.security.unapproveduser.allowlogin
True
に設定します。
ディレクトリ・サーバーに匿名でバインドされている(認証されていない)間、Active Directoryの制限によりトップレベルより下のディレクトリの検索が防止されるため、Oracle API Catalogのユーザー情報のルックアップでは、「バインドDN」、「バインド・パスワード」および「管理者としてデータを取得」のプロパティに適切な値を設定する必要があります。表7-1に、LDAP/Active Directoryのプロパティとその例を示します。
表7-1 Active Directoryおよび従来のLDAPプロパティ
Active Directory | 従来のLDAP(InetOrgPerson) | ||
---|---|---|---|
ldap.host |
ad.example.com |
ldap.host |
ad.example.com |
ldap.port |
389 |
ldap.port |
389 |
ldap.version |
3 |
ldap.version |
3 |
ldap.bindDN |
CN=Some_User,OU=Users,DC=ad,DC=example,DC=com |
ldap.bindDN |
(匿名ルックアップが無効化されている場合は必須) |
ldap.bindPassword |
password |
ldap.bindPassword |
(匿名ルックアップが無効化されている場合は必須) |
ldap.retrieve-data-as-admin |
true |
ldap.retrieve-data-as-admin |
false(匿名ルックアップが無効化されている場合はTRUE) |
ldap.mask |
sAMAccountName=^ |
ldap.mask |
uid=^ |
ldap.baseDN |
CN=Users,DC=ad,DC=example,DC=com |
ldap.baseDN |
OU=MemberGroupB, O=en_us |
ldap.scope |
subtree |
ldap.scope |
one |
ldap.uniqueIDAttrib |
samAccountName |
ldap.uniqueIDAttrib |
uid |
ldap.emailAttrib |
|
ldap.emailAttrib |
|
ldap.givennameAttrib |
givenname |
ldap.givennameAttrib |
givenName |
ldap.surnameAttrib |
sn |
ldap.surnameAttrib |
sn |
ldap.telephoneAttrib |
telephonenumber |
ldap.telephoneAttrib |
telephoneNumber |
ldap.deptAttrib |
department |
ldap.deptAttrib |
department |
表7-2に、カスタムおよび共通のLDAPプロパティを示します。