31 Oracle Enterprise User SecurityへのOracle Unified Directoryの統合
トピック
31.1 Oracle Enterprise User SecurityとOracle Unified Directoryの連携について
Oracle Enterprise User Securityを使用すると、エンタープライズ全体でデータベース・ユーザーを一元的に管理できます。LDAP準拠ディレクトリ・サービスにエンタープライズ・ユーザーを作成して、ディレクトリに登録された様々なエンタープライズ・データベースのロールや特権を割り当てることができます。
ユーザーは、Oracle Unified DirectoryまたはOracle Unified Directoryプロキシ・サーバーによってフロントエンド処理された外部LDAP準拠のディレクトリに格納されている資格証明を指定して、Oracle Databaseに接続します。データベースはLDAP検索操作を実行して、ユーザー固有の認証および認可情報について問い合せます。詳細は、「構成6: エンタープライズ・ユーザー・セキュリティ」を参照してください。
Oracle Unified Directoryとエンタープライズ・ユーザー・セキュリティとを統合すると、追加の同期を行うことなく、LDAP準拠ディレクトリ・サービスに格納されているユーザー・アイデンティティを活用できるため、認証機能と認可機能が強化され、かつ簡素化されます。
Oracle Enterprise User Securityの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください。
31.2 Oracle Enterprise User SecurityにOracle Unified Directoryを統合する前のオプションの理解
Oracle Unified DirectoryとOracle Enterprise User Securityを統合する前に、Oracle Unified Directoryがトポロジで果たす役割について検討してください。また、会社全体の他のビジネス要件についても検討してください。
統合を始める前に、様々な統合オプションに必要なすべてのタスクおよびステップをレビューします。
-
OUDは、トポロジでディレクトリ・サーバーまたはディレクトリ・プロキシとして使用されますか。
OUDをディレクトリ・サーバーとして使用する場合、インストールは簡単で、構成はOUDに含まれています。詳細は、「エンタープライズ・ユーザー・セキュリティ向けディレクトリとしてのOracle Directory Serverの構成」を参照してください。
OUDをディレクトリ・プロキシとして使用する場合、ユーザー・エントリを格納する外部LDAP準拠ディレクトリを構成するために追加のステップを実行する必要があります。詳細は、「外部LDAPディレクトリおよびエンタープライズ・ユーザー・セキュリティと連携するためのOracle Unified Directoryプロキシの構成」を参照してください。
-
既存のディレクトリまたはプロキシ・インスタンスを構成していますか、あるいは新しいインスタンスをインストールしていますか。
エンタープライズ・ユーザー・セキュリティと連携するように既存のディレクトリまたはプロキシ・インスタンスを構成している場合、一部の構成ステップを手動で完了する必要があります。詳細は、次を参照してください:
新しいディレクトリまたはプロキシ・インスタンスをインストールしている場合、設定中にエンタープライズ・ユーザー・セキュリティ・オプションを選択できます。新しいインスタンスは、EUS統合用に自動的に構成されます。詳細は、次を参照してください:
-
追加でビジネス要件を検討する必要があります。
詳細は、次を参照してください:
31.3 Oracle Enterprise User SecurityにOracle Unified Directoryを統合する前の前提条件について
複数のOracle製品やトポロジの外部LDAP準拠ディレクトリ(ある場合)にOracle Unified Directoryを統合する前に、前提条件を必ず確認してください。
始める前に、次のコンポーネントとそれぞれに添付されている最新のドキュメントにアクセスできることを確認してください。
-
Oracle Unified Directory、OUDSM、
oud-setup
コマンドおよびoud-proxy-setup
コマンド -
Oracle Enterprise User Security Net Configuration Assistant
-
Oracle DatabaseのDatabase Configuration Assistant
-
Enterprise Manager for Oracle Database
-
トポロジに存在する、サポートされるLDAPディレクトリ(Microsoft Active Directory、Novell eDirectory、Oracle Unified DirectoryまたはOracle Directory Server Enterprise Edition)
31.4 Oracle Unified DirectoryとOracle Enterprise User Securityの連携の有効化
Oracle Enterprise User SecurityにOracle Unified Directoryを統合するためのステップを追った説明に従ってください。
31.4.1 エンタープライズ・ユーザー・セキュリティ向けディレクトリとしてのOracle Directory Serverの構成
エンタープライズ・ユーザー・セキュリティ向けディレクトリとしてOracle Unified Directory Serverを構成するには、次のタスクに従います。
エンタープライズ・ユーザー・セキュリティ向けディレクトリとしてOracle Directory Serverを構成するには、次の表で説明するタスクを完了します。
表31-1 エンタープライズ・ユーザー・セキュリティ向けディレクトリとしてOracle Directory Serverを構成するためのタスク
タスク番号 | リンク |
---|---|
タスク1 |
|
タスク2 |
|
タスク3 |
|
タスク4 |
|
タスク5 |
|
タスク6 |
31.4.1.1 エンタープライズ・ユーザー・セキュリティと連携するためのOracle Unified Directoryの構成
-
すでにOracle Unified Directoryインスタンスがインストールされ、プロビジョニングされている場合は、次のいずれかの項のステップを完了します。
-
Oracle Unified Directoryをまだインストールおよびプロビジョニングしていない場合は、次の項「新しいOracle Unified Directoryインスタンスのインストールおよびエンタープライズ・ユーザー・セキュリティと連携するための構成」のステップを完了します
31.4.1.1.1 新しいOracle Unified Directoryインスタンスのインストールおよびエンタープライズ・ユーザー・セキュリティと連携するための構成
コマンドラインまたはグラフィカル・ユーザー・インタフェースを使用して、oud-setup
プログラムを実行できます。
-
次の
--cli
オプションを指定してoud-setup
を実行します。たとえば:$ oud-setup --cli --integration eus --no-prompt --ldapPort 1389\ --adminConnectorPort 4444 -D "cn=directory manager"\ --rootUserPasswordFile pwd.txt --ldapsPort 1636\ --generateSelfSignedCertificate --baseDN "dc=example,dc=com"
oud-setup
とそのすべてのオプションを使用する方法の詳細は、Oracle Fusion Middleware Oracle Unified Directoryインストレーション・ガイドのディレクトリ・サーバーの設定に関する項を参照してください設定中に、
--baseDN
オプションに指定したベースDN
がEUSのために準備されます。複数のベースDNを指定した場合は、そのすべてがEUSのために準備されます。前述のコマンドを使用して、OUDインスタンスを構成してSalted SHA-1パスワード記憶スキームを使用できます。ただし、OUDを構成して、SHA-512ベースのアルゴリズムを使用してパスワードをエンコードするよりセキュアなEUS PBKDF2 SHA512パスワード記憶スキームを使用できます。
これを実行するには、値"
sha2
"とともにeusPasswordScheme
引数を使用して、oud-setup
コマンドを実行します。たとえば:oud-setup --cli --integration eus --no-prompt --ldapPort 1389\ --adminConnectorPort 4444 -D "cn=directory manager"\ --rootUserPasswordFile pwd.txt --ldapsPort 1636\ --generateSelfSignedCertificate --baseDN "dc=example,dc=com" --eusPasswordScheme sha2
ノート:
-
Oracle RDBMSバージョンがサポートしている場合のみ、Oracle Unified Directoryを構成して
EUS PBKDF2 SHA512
パスワード記憶スキームを使用できます。データベース管理者に問い合せてRDBMSがMulti-Round SHA-512
ベースのパスワード検証をサポートしているかどうかを検証することをお薦めします。 -
CLIオプションのみを使用して、OUDを構成して
EUS PBKDF2 SHA512
パスワード記憶スキームを使用できます。GUIモードで同様の操作はサポートされていません。
-
-
グラフィカル・ユーザー・インタフェースを使用するには:
-
oud-setup
コマンドを実行します。 -
「ようこそ」ページで「次へ」をクリックします。
-
「サーバー設定」ページで、次の情報を指定します。
-
ホスト名
これは、ユーザーおよびグループが格納されるOracle Unified Directoryインスタンスのホストとなるサーバーです。
-
管理コネクタ・ポート
これは、dsconfigなどのOUDツールによって使用される管理ポートです。
-
LDAPリスナー・ポート
OUDによって使用されるポートを指定します。
-
LDAPセキュア・アクセス
「構成」をクリックして、セキュア・アクセスを有効にします。
「セキュア・アクセスの構成」ウィンドウで、「SSLを有効にするポート」チェック・ボックスをクリックしてマークします。次に、LDAPSのポート番号を入力し、「OK」をクリックして続行します。
-
ルート・ユーザーDN
これは、サーバー管理者のIDです。
-
パスワード
サーバー管理者が使用するパスワードを入力します。
-
パスワード(確認)
確認のためもう一度パスワードを入力します。
「次へ」をクリックして続行します。
-
-
「トポロジ・オプション」ページで、「これはスタンドアロン・サーバーになります」オプションが選択されていることを確認し、「次へ」をクリックします。
-
「ディレクトリ・データ」ページで、次の情報を指定します。
-
ディレクトリ・ベースDN
ユーザー・エントリを格納するベースDNを入力します。
-
ディレクトリ・データ
「データベースを空のままにする」オプションを選択しないでください。次のいずれかのオプションを選択します。
-
「ベース・エントリのみを作成する」は、以前指定したベースDNでエントリを作成します。
-
「LDIFファイルからデータをインポートする」は、「パス」フィールドで指定したファイルからLDIFデータをインポートします。
-
「自動生成されたサンプル・データのインポート」は、「ユーザー・エントリの数」フィールドで指定した数のサンプル・エントリを生成します。
「次」をクリックします。
-
-
-
「Oracleコンポーネントの統合」ページで、「EUS (エンタープライズ・ユーザー・セキュリティ)、EBS、Database Net ServicesおよびDIPで有効にする」オプションを選択します。このオプションにより、Database Net Servicesのサーバーも有効になります。
「次へ」をクリックして、続行します。
-
「サーバー・チューニング」ページで、チューニングを構成するか、または「次へ」をクリックできます。
チューニング構成については、インストレーション・ガイドを参照してください。
-
「確認」ページで設定を確認し、「完了」をクリックします。
Oracle Unified Directoryの新しいインスタンスがインストールされ、構成されて、起動されます。
-
31.4.1.1.2 コマンド行を使用した、エンタープライズ・ユーザー・セキュリティと連携するための既存のOracle Unified Directoryサーバーの構成
EUSの既存のネーミング・コンテキストを構成したり、EUSの新しいネーミング・コンテキストを作成および構成できます。
-
EUSの既存のネーミング・コンテキストを使用するには、
manage-suffix update
コマンドを実行します。たとえば:$ manage-suffix update -h host -p adminPort -D "cn=directory manager" -j pwd.txt -X -n -b baseDN --integration eus
このコマンド行は、EUSの
ベースDN
として指定されたネーミング・コンテキストを構成します。前述のコマンドを使用して、OUDを構成してSalted SHA-1パスワード記憶スキームを使用できます。ただし、OUDを構成して、SHA-512ベースのアルゴリズムを使用してパスワードをエンコードするよりセキュアなEUS PBKDF2 SHA512パスワード記憶スキームを使用できます。これを実行するには、値"sha2"とともにeusPasswordScheme引数を使用して、
manage-suffix update
コマンドを実行します。たとえば:$ manage-suffix update -h host -p adminPort -D "cn=directory manager" -j pwd.txt -X -n -b baseDN --integration eus --eusPasswordScheme sha2
-
EUSの新しいネーミング・コンテキストを作成するには、
manage-suffix create
コマンドを実行します。たとえば:$ manage-suffix create -h host -p adminPort -D "cn=directory manager" -j pwd.txt -X -n -b baseDN --integration eus
前述のコマンドを使用して、OUDを構成してSalted SHA-1パスワード記憶スキームを使用できます。ただし、OUDを構成して、SHA-512ベースのアルゴリズムを使用してパスワードをエンコードするよりセキュアなEUS PBKDF2 SHA512パスワード記憶スキームを使用できます。これを実行するには、値"sha2"とともにeusPasswordScheme引数を使用して、
manage-suffix create
コマンドを実行します。たとえば:$ manage-suffix create -h host -p adminPort -D "cn=directory manager" -j pwd.txt -X -n -b baseDN --integration eus --eusPasswordScheme sha2
ノート:
Oracle RDBMSバージョンがサポートしている場合のみ、Oracle Unified Directoryを構成してEUS PBKDF2 SHA512
パスワード記憶スキームを使用できます。データベース管理者に問い合せてRDBMSがMulti-Round SHA-512
ベースのパスワード検証をサポートしているかどうかを検証することをお薦めします。
manage-suffix
コマンドの詳細は、「manage-suffixを使用した接尾辞の管理」を参照してください。
31.4.1.1.3 OUDSMを使用した、エンタープライズ・ユーザー・セキュリティと連携するための既存のOracle Unified Directoryサーバーの構成
始める前に、SSLが有効化されたLDAP接続ハンドラがサーバー・インスタンスに存在することを確認します。SSLが有効でない場合は、LDAP接続ハンドラを追加します。LDAP接続ハンドラの追加の詳細は、「dsconfigを使用したサーバー構成の管理」および「LDAP接続ハンドラのプロパティの表示」を参照してください。
EUSの既存のネーミング・コンテキストを構成したり、EUSの新しいネーミング・コンテキストを作成および構成できます。
-
OUDSMを使用してEUSの既存のネーミング・コンテキストを構成するには:
-
OUDSMからディレクトリ・サーバーに接続します。
-
「構成」タブをクリックします。
-
左側のナビゲーション・ペインの「ネーミング・コンテキスト」の下で、使用するネーミング・コンテキストを選択します。
-
右側のペインの「Oracleコンポーネント統合」セクションで、「エンタープライズ・ユーザー・セキュリティ(EUS)に使用可能」を選択し、「適用」をクリックします。
-
-
OUDSMを使用してEUSの新しいネーミング・コンテキストを作成および構成するには:
-
「OUDSMを使用したサーバーへの接続」の説明に従って、OUDSMからディレクトリ・サーバーに接続します。
-
「ホーム」タブをクリックします。
-
「構成」メニューで、「ローカル・ネーミング・コンテキストの作成」を選択します。
-
「新規ローカル・ネーミング・コンテキスト」ウィンドウで、次の情報を指定します。
-
ベースDN
作成する接尾辞の名前を入力します。ユーザー・データがすでに移入されている既存の接尾辞では、EUSの有効化はできません。
-
ディレクトリ・データ・オプション
次のいずれかを選択します。
「ベース・エントリの作成のみ」では、接尾辞のベース・エントリとともにデータベースが作成されます。その他のエントリは、接尾辞の作成後に追加する必要があります。
「データベースを空のままにする」では、空のデータベースが作成されます。このオプションは選択しないでください。
このオプションを使用するときは、接尾辞の作成後にベース・エントリおよびその他のエントリを追加する必要があります。ただし、この構成の場合、接尾辞にはエントリが1つ以上含まれている必要があります。
「生成されたサンプル・データのインポート」を選択すると、接尾辞にサンプル・エントリが移入されます。
「ユーザー・エントリ数」フィールドに、生成するエントリ数を指定します。OUDSMを使用してインポートできるサンプル・エントリ数は、最大30,000です。30,000を超える数のエントリを追加する場合は、
import-ldif
コマンドを使用する必要があります。 -
Oracleコンポーネント統合
新しい接尾辞を有効にするには、エンタープライズ・ユーザー・セキュリティ(EUS)に対して「有効化」を選択します。
-
ネットワーク・グループ
1つ以上のネットワーク・グループに接尾辞をアタッチします。
接尾辞を既存のネットワーク・グループにアタッチするには、「既存のものを使用」を選択し、リストから必要なネットワーク・グループを選択します。
接尾辞を新しいネットワーク・グループにアタッチするには、「新規作成」を選択し、作成するネットワーク・グループの名前を「名前」フィールドに入力します。
同じ接尾辞を複数のネットワーク・グループにアタッチできます。
-
ワークフロー要素
接尾辞をワークフロー要素にアタッチします。
接尾辞を既存のワークフロー要素にアタッチするには、「既存のものを使用」を選択し、必要なワークフロー要素をリストから選択します。
接尾辞は、同じデータベース・ローカル・バックエンド・ワークフロー要素内に格納され、Berkeley DBファイルへのインスタンス・パスなどの同じプロパティを持ちます。
接尾辞を新しいワークフロー要素にアタッチするには、「新規作成」を選択し、作成するワークフロー要素名を「名前」フィールドに入力します。
この新しいワークフロー要素をBerkeley DBファイルやデータベース・キャッシュ・サイズなどのその他の値とともに構成できます。
-
-
「作成」をクリックします。
次の確認メッセージが表示されます:
ネーミング・コンテキストは正常に作成されました。
-
ノート:
EUSのネーミング・コンテキストを作成および構成した後、Oracle Unified Directory 12c構成を更新して、TNS別名機能を有効化できます。
eus-alias-resolution
ワークフロー要素をグローバルcn=OracleContext
およびcn=OracleContext,<EUS Realm>
ワークフロー・チェーンに追加することで、dsconfig
コマンドを手動で実行してTNS別名機能を設定する必要があります。Oracle Unified DirectoryのインストールのEUS対応構成のTNS別名サポートの有効化に関する項を参照してください。
31.4.1.2 ユーザーおよびグループの場所の構成
EUSまたはOracle E-Business Suiteに対するOracle Unified Directoryの構成後、次のステップを実行してユーザーおよびグループの格納に使用されるネーミング・コンテキストを構成する必要があります。
31.4.1.3 エンタープライズ・ユーザー・セキュリティによって使用されるOracleコンテキストの選択
エンタープライズ・ユーザー・セキュリティは、EUSメタデータとも呼ばれる自身の構成をOracleコンテキストに格納します。これはディレクトリ情報ツリーの一部に対応しています。ユーザー・エントリがdc=example,dc=com
の下に格納されている場合、EUSは通常Oracleコンテキストとしてcn=OracleContext,dc=example,dc=com
を使用するように構成されます。
EUSが自身の構成を読み取る場所を示すには、Oracle Net Configuration Assistantを使用します。
31.4.1.5 ロールと権限の構成
次の各トピックでは、Oracle Enterprise Managerを使用してロールと権限を構成するステップについて説明します。
31.4.1.5.1 データベースでの共有スキーマの作成
次のSQLコマンドを実行します。
SQL> CREATE USER global_ident_schema_user IDENTIFIED GLOBALLY; User created. SQL> GRANT CONNECT TO global_ident_schema_user; Grant succeeded.
31.4.1.5.2 新しいユーザースキーマ・マッピングの作成
ノート:
この手順に示されているステップを実行する前に、「Oracle Unified Directory管理者用のパスワード・ポリシーの構成」を参照してください。新しいユーザー・スキーマ・マッピングを作成するには:
-
Webブラウザで、Enterprise Managerに接続します。たとえば:
https://localhost:1158/em
次を指定し、「ログイン」をクリックします。
-
ユーザー名
データベースの管理を許可されているユーザーの名前を入力します。
-
パスワード
管理者パスワードを入力します。
-
接続モード
SYSDBAを選択します。
「ログイン」をクリックします。
-
-
「サーバー」タブをクリックします。
「サーバー」タブの「セキュリティ」セクションで、「エンタープライズ・ユーザー・セキュリティ」をクリックします。
-
「Oracle Internet Directoryログイン: エンタープライズ・ユーザー・セキュリティ」ページで、次の情報を指定します。
-
ユーザー
Oracleコンテキストへの書込みアクセス権を持つユーザーのユーザー名(たとえば、
cn=directory manager
)を入力します。 -
パスワード
同じユーザーのパスワードを入力します。
「ログイン」をクリックします。
-
-
「エンタープライズ・ユーザー・セキュリティ」ページで、「エンタープライズ・ドメインの管理」をクリックします。
エンタープライズ・ドメインには、1つ以上のデータベースを含めることができます。エンタープライズ・ドメインの設定は、そのドメインに含まれているすべてのデータベースに適用されます。
-
「エンタープライズ・ドメインの管理」ページで、構成するドメインを選択し、「構成」をクリックします。
-
「ドメインの構成」ページで、「ユーザー・スキーマ・マッピング」をクリックします。
-
「ユーザー・スキーマ・マッピング」ページで、「作成」をクリックします。
-
ドメイン・スキーマ・マッピングを作成するには、新規マッピング・ページで、次の情報を指定します。
-
自
グローバル・スキーマを特定のサブツリーのすべてのユーザーまたは特定のユーザーに関連付けることができます。
グローバル・スキーマを特定のサブツリーのすべてのユーザーに関連付けるには:
1.サブツリーを選択し、懐中電灯アイコンをクリックして、使用可能なサブツリーを検索します。
2. 「ユーザーの選択」ページで、サブツリーを選択します。
3. 選択したDNの下にあるエンタープライズ・ユーザーは、同じグローバル・スキーマにマップされます。「選択」をクリックします。
グローバル・スキーマを特定のユーザーに関連付けるには:
1.「ユーザー名」を選択し、懐中電灯アイコンをクリックして、使用可能なユーザーを検索します。
2. 「ユーザーの選択」ページで、ユーザーDNを選択します。この特定のユーザーのみがグローバル・スキーマにマップされます。「選択」をクリックします。
-
宛先
1.「スキーマ」フィールドに、グローバル・スキーマの名前を入力します。
2.たとえば、
global_ident_schema_user
とします。
「続行」をクリックします。
-
-
「ユーザー・スキーマ・マッピング」タブで、マッピングが正しければ、「OK」をクリックします。
31.4.1.5.3 データベースでのロールの作成
この例の場合、hr_access
という名前のロールが作成されます。ロールにより、hr.employees
表への読取りアクセス権が付与されます。
データベースにロールを作成するには:
SQL> CREATE ROLE hr_access IDENTIFIED GLOBALLY; Role created. SQL> GRANT SELECT ON hr.employees TO hr_access; Grant succeeded.
詳細は、Oracle Databaseのドキュメントを参照してください。
31.4.1.5.4 ドメインでの新しいロールの作成
ドメイン内に新しいロールを作成するには:
-
「エンタープライズ・ドメインの管理」ページで、ロールを作成するドメインを選択し、「構成」をクリックします。
-
「ドメインの構成」ページで、「エンタープライズ・ロール」をクリックします。「作成」をクリックします。
-
「エンタープライズ・ロールの作成」ページで、次の情報を指定します。
-
「名前」フィールドに、エンタープライズ・ロールの名前を指定します。
-
「DBグローバル・ロール」タブで、「追加」をクリックします。
-
-
「検索と選択: データベース・グローバル・ロール」ページで、次の情報を指定します。
-
データベース
ドロップダウン・リストからデータベースを選択します。
-
ユーザー名
Enterprise Managerは、データベースから使用可能なロールを取得します。ロールへのアクセスを許可されている管理者のユーザー名(たとえば、
SYS AS SYSDBA
)を入力します。 -
パスワード
管理者パスワードを入力します。
「実行」をクリックします。
-
-
「検索と選択: データベース・グローバル・ロール」ページで、エンタープライズ・ユーザーに付与するグローバル・ロールを選択します。
「選択」をクリックします。
-
「エンタープライズ・ロールの作成」ページで、エンタープライズ・ロールを付与するエンタープライズ・ユーザーまたはグループを選択し、「権限受領者」タブをクリックします。
-
「権限受領者」タブで、エンタープライズ・ユーザーまたはグループを選択するには、「追加」をクリックします。
-
選択: ユーザーおよびグループ・ページで、「実行」をクリックします。Enterprise Managerは、使用可能なユーザーおよびグループを取得します。
-
表示
ユーザーまたはグループを検索できます。
-
検索ベース
Enterprise Managerは、このDNで検索を開始します。
-
名前
ここに文字列を入力して、検索を絞り込みます。たとえば、名前がjoで始まるユーザーを検索する場合は、「jo」と入力し、「実行」をクリックします。
表には、関連するエントリが表示されます。リストから、エンタープライズ・ロールを付与するユーザーおよびグループを選択し、「選択」をクリックします。
「続行」をクリックします。
-
-
「ドメインの構成」ページで、「OK」をクリックして続行します。
-
「エンタープライズ・ロールの編集」ページで、「続行」をクリックします。
-
「ドメインの構成」ページで、「OK」をクリックします。
ロールが正常に作成された後、「構成」をクリックします。
31.4.1.5.5 データベースでのプロキシ権限の定義
ユーザーSHにプロキシ権限を定義するには、次のコマンドを実行します。
SQL> ALTER USER SH GRANT CONNECT THROUGH ENTERPRISE USERS; User altered.
このコマンドは、ユーザーSHのプロキシ権限を定義します。
31.4.1.5.7 特定のデータベース用のマッピングの構成
特定のデータベース用のマッピングを構成するには:
-
「エンタープライズ・ユーザー・セキュリティ」ページで、「データベースの管理」をクリックします。
-
「データベースの管理」ページで、構成するデータベースを選択し、「構成」をクリックします。
-
「データベースの構成」ページで、「ユーザー・スキーマ・マッピング」タブをクリックします。
-
「ユーザー・スキーマ・マッピング」ページで、「作成」をクリックします。
-
ドメイン・スキーマ・マッピングを作成するには、新規マッピング・ページで、次の情報を指定します。
-
自
グローバル・スキーマを特定のサブツリーのすべてのユーザーまたは特定のユーザーに関連付けることができます。
グローバル・スキーマを特定のサブツリーのすべてのユーザーに関連付けるには:
1.サブツリーを選択し、懐中電灯アイコンをクリックして、使用可能なサブツリーを検索します。
2. 「ユーザーの選択」ページで、サブツリーを選択します。
3. 選択したDNの下にあるエンタープライズ・ユーザーは、同じグローバル・スキーマにマップされます。「選択」をクリックします。
グローバル・スキーマを特定のユーザーに関連付けるには:
1.「ユーザー名」を選択し、懐中電灯アイコンをクリックして、使用可能なユーザーを検索します。
2. 「ユーザーの選択」ページで、ユーザーDNを選択します。この特定のユーザーのみがグローバル・スキーマにマップされます。「選択」をクリックします。
-
宛先
1.「スキーマ」フィールドに、グローバル・スキーマの名前を入力します。
2.たとえば、
global_ident_schema_user
とします。
「続行」をクリックします。
-
-
「ユーザー・スキーマ・マッピング」タブで、マッピングが正しければ、「OK」をクリックします。
31.4.2 外部LDAPディレクトリおよびエンタープライズ・ユーザー・セキュリティと連携するようにOracle Unified Directoryプロキシを構成する
外部LDAPディレクトリおよびエンタープライズ・ユーザー・セキュリティと連携するようにOracle Unified Directoryプロキシを構成するには、次のタスクに従います。
表31-2 Oracle Unified Directoryプロキシを構成するためのタスクのリスト
タスク番号 | リンク |
---|---|
タスク1 |
|
タスク2 |
|
タスク3 |
|
タスク4 |
|
タスク5 |
|
タスク6 |
|
タスク7 |
31.4.2.1 外部LDAPディレクトリでのユーザー・アイデンティティの構成
既存のユーザーおよびグループのアイデンティティをエンタープライズ・ユーザー・セキュリティによって認識されるように構成します。外部LDAPディレクトリに基づいて次の中から選択します。
31.4.2.1.1 Microsoft Active Directoryのユーザー・アイデンティティの構成
Oracle Unified Directory 12 c (12.2.1.4.0)以降、パスワード通知変更プラグイン(oidpwdcn.dll
)は非推奨になりました。Oracleでは、Oracle Databaseが備えるCMU機能を使用することをお薦めします。CMUは、新しい強力なハッシュ・アルゴリズムおよびその他の更新されたセキュリティ拡張機能をすべてサポートします。
現在、パスワード変更通知プラグインを使用しており、CMUへの移行を予定している場合は、次のステップを行ってください:
31.4.2.1.2 集中管理ユーザーを使用したMicrosoft Active Directoryでのユーザー・アイデンティティの構成
Oracle Unified Directory 12 c (12.2.1.4.0)以降、パスワード通知変更プラグイン(oidpwdcn.dll
)は非推奨になりました。Oracleでは、Oracle Databaseが備えるCMU機能を使用することをお薦めします。CMUは、新しい強力なハッシュ・アルゴリズムおよびその他の更新されたセキュリティ拡張機能をすべてサポートします。
現在、パスワード変更通知プラグインを使用しており、CMUへの移行を予定している場合は、次のステップを行ってください:
31.4.2.1.3 Oracle Directory Server Enterprise Editionのユーザー・アイデンティティの構成
Oracle Directory Server Enterprise Editionからldapmodify
コマンドを次のように実行して、アカウント・ロックの拡張操作を有効化します:
ldapmodify -h <ODSEE Server> -p <ODSEE port> -D <ODSEE Admin ID> -w <ODSEE Admin password> dn: oid=1.3.6.1.4.1.42.2.27.9.6.25,cn=features,cn=config changetype: add objectclass: directoryServerFeature oid: 1.3.6.1.4.1.42.2.27.9.6.25 cn: Password Policy Account Management
31.4.2.1.4 Novell eDirectoryのユーザー・アイデンティティの構成
eDirectoryでユニバーサル・パスワードを有効化し、管理者がユーザー・パスワードを取得できるようにします。
詳細は、Novell eDirectoryのパスワード管理に関するドキュメントを参照してください。
31.4.2.1.5 Oracle Unified Directoryのユーザー・アイデンティティの構成
dsconfig
コマンドを次のように実行して、パスワード記憶スキームとしてSalted SHA-1を使用するようにデフォルトのパスワード・ポリシーを変更します。
./dsconfig -h <OUD host> -p <OUD admin port> -D <OUD dirmgr> -j <pwdfile> -X -n set-password-policy-prop\ --policy-name "Default Password Policy"\ --set default-password-storage-scheme:"Salted SHA-1"
デフォルトのパスワード・ポリシーを構成して、よりセキュアかつ堅牢なパスワード記憶スキーム(Oracle RDBMSバージョンがサポートしている場合はEUS PBKDF2 SHA-512)を使用できます。データベース管理者に問い合せてユーザー側でデプロイされているRDBMSバージョンがMulti-Round SHA-512ベースのパスワード検証をサポートしているかどうかを検証することをお薦めします。
ノート:
エンタープライズ・ユーザーとエンタープライズ・グループの詳細を格納するOracle Unified Directoryのデフォルトのパスワード・ポリシーを変更します。プロキシ・サーバーとして機能するOracle Unified Directoryインスタンスのデフォルトのパスワード・ポリシーは変更しないでください。
31.4.2.2 エンタープライズ・ユーザー・セキュリティと連携するためのOracle Unified Directoryプロキシの構成
Oracle Unified Directory Proxyをまだインストールしていない場合は、次のいずれかの項のステップを完了します。
Oracle Unified Directoryプロキシ・インスタンスをすでにインストールしている場合は、「OUDSMを使用した、エンタープライズ・ユーザー・セキュリティと連携するための既存のOracle Unified Directoryプロキシの構成」のステップを完了します。
31.4.2.2.1 コマンド行を使用した、新しいOracle Unified Directoryプロキシのインストールおよび構成
新しいOracle Unified Directoryプロキシをインストールおよび構成するには:
31.4.2.2.2 グラフィカル・ユーザー・インタフェースを使用した、新しいOracle Unified Directoryプロキシのインストールおよびエンタープライズ・ユーザー・セキュリティと連携するための構成
ノート:
OUDインスタンス作成GUIウィザードは、Oracle Unified Directory 12c (12.2.1.4.0)では非推奨になります。Oracleでは、コマンドライン(CLI)を使用してインスタンスを作成することをお薦めします。詳細は、CLIを使用したプロキシの設定に関する項を参照してください。グラフィカル・ユーザー・インタフェースを使用して、新しいOracle Unified Directoryプロキシをインストールし、エンタープライズ・ユーザー・セキュリティと連携するように構成するには:
-
oud-proxy-setup
プログラムを実行します。-
「ようこそ」ページで「次へ」をクリックします。
-
「サーバー設定」ページで、次の情報を指定します。
「ホスト名」。OUDプロキシ・ホストの名前を入力します。
「管理コネクタ・ポート」。これは、
dsconfig
などのOUDツールによって使用される管理ポートです。「LDAPリスナー・ポート」。OUDプロキシによって使用されるポートを指定します。
「LDAPセキュア・アクセス」。「構成」をクリックして、セキュア・アクセスを有効にします。
「セキュア・アクセスの構成」ウィンドウで、「SSLを有効にするポート」チェック・ボックスをクリックしてマークします。次に、LDAPSのポート番号を入力し、「OK」をクリックして続行します。
「ルート・ユーザーDN」。これは、サーバー管理者のIDです。
パスワード。サーバー管理者が使用するパスワードを入力します。
「パスワード(確認)」。確認のためもう一度パスワードを入力します。
「次へ」をクリックして、続行します。
-
「デプロイメント・オプション」ページの「構成オプション」フィールドで、「EUS (エンタープライズ・ユーザー・セキュリティ)の構成」を選択し、「次へ」をクリックします。
Oracle Unified Directoryは、プロキシとして使用され、EUSユーザーおよびグループが含まれているLDAPサーバーの前にデプロイされます。
-
「バックエンド・サーバー・タイプ」ページで、サポートされているサーバー・タイプのいずれかを選択します。これは、エンタープライズ・ユーザー・セキュリティ・ユーザーおよびグループが含まれているLDAP準拠のサーバーです。
「次へ」をクリックして、続行します。
-
次のページで、「サーバーの追加」をクリックします。
「サーバーの追加」ページで、次の情報を指定します。
「ホスト名」。エンタープライズ・ユーザー・セキュリティ・ユーザーおよびグループが含まれているLDAPサーバーのホスト名を入力します。
「プロトコル」。Novell eDirectoryを使用している場合は、LDAPSを選択する必要があります。
他のすべての外部ディレクトリの場合、次のいずれかを選択できます: LDAP、LDAPSまたは[LDAP & LDAPS]。これは、OUDプロキシからリモートLDAPサーバーに接続する方法を決定します。
「ポート番号」。エンタープライズ・ユーザー・セキュリティ・ユーザーおよびグループが含まれているLDAPサーバーのポート番号を入力します。
「追加」をクリックして、別のLDAPサーバーを追加できます。LDAPサーバーの追加を完了した後、「閉じる」をクリックして続行します。
-
「サーバー」ページでリストを確認します。
「サーバー」ページには、この時点で、エンタープライズ・ユーザー・セキュリティ・ユーザーおよびグループが含まれているサーバーが1つ以上リストされています。「次へ」をクリックして、続行します。
-
「ネーミング・コンテキスト」ページで、ベースDNの横にあるチェック・ボックスをクリックしてマークして、ネーミング・コンテキストのベースDNを選択します。
表にネーミング・コンテキストが表示されていない場合は、リモートLDAPサーバーのベースDNを「追加のネーミング・コンテキストDN」フィールドに入力し、「追加」を選択します。
「次へ」をクリックして続行します。
-
サーバーの実行時オプションを構成します。
「変更」をクリックして特定のJVM設定を構成するか、または「次へ」をクリックしデフォルトのJVM設定でサーバーを実行できます。
「次」をクリックします。
-
「確認」ページで設定を確認し、「完了」をクリックします。
Oracle Unified Directory Proxyの新しいインスタンスがインストールされ、構成されたうえで起動されます。
「閉じる」をクリックします。
-
-
次のようにOUDプロキシで
dsconfig
コマンドを実行し、リモート・ルートDNおよびリモート・ルート・ユーザー・アカウントを設定します。dsconfig set-workflow-element-prop \ --element-name proxy-we1 \ --set remote-root-dn:cn=directory manager \ --set remote-root-password:******** \ --hostname localhost \ --port 4444 \ --trustAll \ --bindDN "cn=directory manager" \ --bindPasswordFile pwd.txt \ --no-prompt
ノート:
前述のコマンドの
--element-name
プロパティは、プロキシ・ワークフロー要素の名前に対応し、外部LDAPディレクトリ・サーバーとの接続に使用されます。OUDプロキシ設定ウィザードでプロキシを構成すると、プロキシ・ワークフロー要素のデフォルト名は
proxy-we1
になります。また、CLIからdsconfig
コマンドを使用してプロキシを構成すると、ワークフロー要素の名前は、コマンドの入力しとして指定した値に基づいて設定されます。次のように、dsconfig
コマンドを実行して、ワークフロー要素を検索できます。dsconfig -h localhost -p administration port number -D "cn=Directory Manager" -X -n list-workflow-elements --bindPasswordFile password.txt
次のような出力が表示されます。Workflow Element : Type : enabled ----------------- :--------------------:-------- adminRoot : ldif-local-backend : true load-bal-we1 : load-balancing : true proxy-we1 : proxy-ldap : true
前述の例で、
proxy-ldap
タイプを見ると、それに対応するワークフロー要素名(proxy-we1
)を特定できます。 -
外部LDAP準拠ディレクトリのプロキシ・ワークフロー要素のモードを設定します。
デフォルトで、構成は
use-client-identity
モードに設定されます。-
外部LDAPサーバーで匿名アクセスが許可されていない場合、
use-specific-identity
モードを使用します。これは、Active Directoryが外部LDAPサーバーとして使用されている場合は特に、最も一般的なエンタープライズ・ユーザー・セキュリティ構成です。モード設定を
use-specific-identity
に変更する場合、外部LDAPサーバー資格証明を構成する必要があります。use-specific-identity
モードを使用するには、次のようにdsconfig
コマンドを実行します。dsconfig set-workflow-element-prop \ --element-name proxy-we1 \ --set client-cred-mode:use-specific-identity \ --set remote-ldap-server-bind-dn: \ cn=administrator,cn=users,dc=example,dc=com\ --set remote-ldap-server-bind-password:******** \ --hostname localhost \ --port 4444 \ --trustAll \ --bindDN "cn=directory manager" \ --bindPasswordFile pwd.txt \ --no-prompt
この例では、
remote-root-dn
およびremote-ldap-server-bind-dn
が、リモートLDAP管理者によって使用される資格証明です。 -
外部LDAPサーバーで匿名アクセスが許可されている場合、
use-client-identity
モードを使用します。use-client-identity
モードを使用する場合は、外部LDAPサーバー資格証明および除外リストを構成する必要があります。通常、データベースはそれ自体の資格証明を使用して、Oracle Unified Directoryプロキシ・サーバーに接続し、外部LDAPサーバーで検索を実行します。EUSが有効化されている場合、外部LDAPサーバー上にはデータベース・エントリは存在しないため、データベースは代替IDを使用して外部LDAPサーバーにバインドする必要があります。データベース・エントリは、Oracle Unified Directoryプロキシ・サーバー上にローカルで格納されます。
use-client-identity
モードを使用するには、次のようにdsconfig
コマンドを実行します。dsconfig set-workflow-element-prop \ --element-name proxy-we1 \ --set client-cred-mode:use-client-identity \ --add exclude-list:cn=directory manager \ --add exclude-list:cn=oraclecontext,dc=example,dc=com \ --set remote-ldap-server-bind-dn: \ cn=administrator,cn=users,dc=example,dc=com \ --set remote-ldap-server-bind-password:******** \ --hostname localhost \ --port 4444 \ --trustAll \ --bindDN "cn=directory manager" \ --bindPasswordFile pwd.txt \ --no-prompt
この例では、
remote-root-dn
およびremote-ldap-server-bind-dn
が、リモートLDAP管理者によって使用される資格証明です。重要。
use-client-identity
モードでActive Directoryと統合されている場合、次のコマンドを使用して匿名ログインを許可する必要があります(この場合のdc=example,dc=com
は、Active DirectoryサーバーのベースDNです)。ldapmodify -h <ADhost> -p <AD port> -D <AD dirmgr> -w <pwd> dn: cn=directory service,cn=windows nt,cn=services,cn=configuration,dc=example,dc=com changetype: modify replace: dsHeuristics dsHeuristics: 0000002
-
31.4.2.2.3 OUDSMOUDSMを使用した、エンタープライズ・ユーザー・セキュリティと連携するための既存のOracle Unified Directoryプロキシ・サーバーの構成
OUDSMOUDSMを使用して、エンタープライズ・ユーザー・セキュリティと連携するために既存のOracle Unified Directoryプロキシ・サーバーを構成するには:
-
OUDSMからOracle Unified Directoryプロキシに接続します。
-
「ホーム」タブを選択します。
-
「構成」セクションで、「リモートEUSネーミング・コンテキストの設定」を選択します。
-
「リモートEUSネーミング・コンテキストの作成」ページで、次の情報を指定します。
「ベースDN」。これは、リモートLDAPサーバーから提供される接尾辞です。
「ネットワーク・グループ」。1つ以上のネットワーク・グループに接尾辞をアタッチします。リストから必要なネットワーク・グループを選択します。
「サーバー・タイプ」。リストからユーザーおよびグループが含まれているLDAPサーバーのタイプを選択します。
「ホスト名」。リモートLDAPサーバーが実行されているマシンの名前を入力します。
「使用可能なポート」。OUDプロキシが、LDAPかLDAPS、またはLDAPとLDAPSの両方を使用して、リモートLDAPサーバーに接続できるようにするかどうかを示します。
選択したオプションに応じて、LDAPポート、LDAPSポート、またはLDAPポートとLDAPポートの両方のポート番号を入力します。これは、リモートLDAPサーバーによって使用されるポートである必要があります。
LDAPSを選択した場合は、すべてを信頼するようにSSLを構成するか、または信頼マネージャを構成します。
「作成」をクリックします。
-
「構成」タブを選択します。
-
「ネーミング・コンテキスト」リストで、先ほど作成したネーミング・コンテキストの下にあるプロキシを選択します。
-
プロキシLDAPワークフロー要素ウィンドウで、次のようにします。
-
バインドDNおよびバインド・パスワードを入力します。
これらは、リモートLDAPサーバー管理者の資格証明に一致する必要があります。
-
「リモート・ルート・プロパティ」を展開し、リモート・ルートDNおよびパスワードを入力します。
これらは、リモートLDAPサーバー管理者の資格証明に一致する必要があります。
-
「資格証明モード」フィールドに、外部LDAP準拠ディレクトリのプロキシ・ワークフロー要素のモードを設定します。
-
外部LDAPサーバーで匿名アクセスが許可されていない場合、
use-specific-identity
モードを使用します。これは、Active Directoryが外部LDAPサーバーとして使用されている場合は特に、最も一般的なエンタープライズ・ユーザー・セキュリティ構成です。use-specific-identity
モードを使用するには:「資格証明モード」フィールドで、「特定のアイデンティティの使用」を選択します。次に、バインドDNおよびバインド・パスワードの値を入力します。確認のためにもう一度バインド・パスワードを入力します。
-
外部LDAPサーバーで匿名アクセスが許可されている場合、
use-client-identity
モードを使用します。use-client-identity
モードを使用するには:「資格証明モード」フィールドで、まず「クライアント・アイデンティティの使用」を選択し、「クライアント・アイデンティティ・モード・プロパティ」を展開します。次に、
"cn=directory manager"
および"cn=OracleContext,dc=example,dc=com"
を除外バインドDN表に追加します。
-
-
「適用」をクリックします。
-
31.4.2.3 ユーザーおよびグループの場所の構成
EUSまたはOracle E-Business Suiteに対するOracle Unified Directoryの構成後、次のステップを実行してユーザーおよびグループの格納に使用されるネーミング・コンテキストを構成する必要があります。
31.4.2.4 エンタープライズ・ユーザー・セキュリティによって使用されるOracleコンテキストの選択
エンタープライズ・ユーザー・セキュリティは、EUSメタデータとも呼ばれる自身の構成をOracleコンテキストに格納します。これはディレクトリ情報ツリーの一部に対応しています。ユーザー・エントリがdc=example,dc=com
の下に格納されている場合、EUSは通常Oracleコンテキストとしてcn=OracleContext,dc=example,dc=com
を使用するように構成されます。
このタスクでは、Oracle Net Configuration AssistantはEUSに構成を読み取る場所を通知します。
-
Oracle Net Configuration Assistantを起動するには、データベースがインストールされているホストで
netca
コマンドを実行します。Oracle Net Configuration Assistantが表示されます。
-
「ようこそ」ページで、「ディレクトリ使用構成」を選択し、「次へ」をクリックします。
後続のページで次の情報を入力します。
-
ディレクトリ・タイプ
LDAPサーバーがOracle Virtual DirectoryまたはOracle Unified Directoryである場合でも、「Oracle Internet Directory」を選択します。
「次」をクリックします。
-
ホスト名
LDAPサーバーのホストとなっているサーバーのホスト名またはIPアドレスを入力します。
-
ポート
LDAPポート番号を入力します。
-
SSLポート
LDAPSポート番号を入力します。
-
Oracleコンテキスト
cn=OracleContext
を選択しないでください。そのかわり、矢印をクリックして、OracleContextの場所を表示および選択します。Oracle Net Configuration Assistantは、LDAPサーバーに接続して、使用可能なOracleコンテキストを取得します。エンタープライズ・ユーザー・セキュリティ構成は、
OracleContext
内に格納されます。「次」をクリックします。
-
「ディレクトリ使用構成が完了しました。」
「次」をクリックします。
「ようこそ」ページが表示されたら、「終了」をクリックします。
-
-
LDAPサーバー情報が含まれている構成ファイルをNet Configuration Assistantが正常に作成したことを検証するには、次のコマンドを実行します。
# cat $ORACLE_HOME/network/admin/ldap.ora # ldap.ora Network Configuration File: /app/oracle/product/db/product/11.2.0/dbhome_1/network/admin/ldap.ora # Generated by Oracle configuration tools. DIRECTORY_SERVERS= (oudhost:1389:1636) DEFAULT_ADMIN_CONTEXT = "dc=example,dc=com" DIRECTORY_SERVER_TYPE = OID
データベースによって使用される構成ファイルには、LDAPサーバーのホスト名およびポートが含まれています。この例では、情報は
(oudhost:1389:1636)
として表されます。高可用性のデプロイメントを実現するために複数のサーバーをカンマで区切って指定できます。この例では、
dc=example,dc=com
はEUSメタデータとも呼ばれるEUS構成の格納に使用されるOracleコンテキストを表しています。
31.4.2.5 LDAPサーバーへのデータベースの登録
LDAPサーバーにデータベースを登録するには:
-
データベースがインストールされているホストで
dbca
コマンドを実行します。Oracle DatabaseのDatabase Configuration Assistantが表示されます。「次へ」をクリックし、後続のページで次の情報を指定します。
-
実行する操作を選択します。
「データベース・オプションの構成」を選択し、「次へ」をクリックします。
-
データベース
リスト・ボックスで、登録するデータベースを選択します。次に、「次」をクリックします。
Database Configuration Assistantは、データベースがLDAPサーバーにすでに登録されているかどうかを判別します。
-
このデータベースをディレクトリ・サービスに登録しますか。
「データベースを登録する」を選択します。Database Configuration Assistantは、Oracleコンテキストにデータベースのエントリを作成します。
-
ユーザーDN
ユーザーDNは、LDAPサーバーに対して認証するために使用します。
ユーザーDNは通常
cn=directory manager
で、OUDプロキシのディレクトリ・マネージャになります。ユーザーDNは、Oracleコンテキストにデータベース・エントリを作成する追加操作でも使用されます。ユーザーは、LDAPサーバーへの書込みアクセス権を持っている必要があります。 -
パスワード
Database Configuration Assistantは、データベースのウォレットを作成します。データベース・エントリDNおよびパスワードは、ウォレットに格納されます。データベースは、LDAPサーバーに接続するとき、このウォレットに格納されている資格証明を使用して認証されます。
-
データベース・コンポーネント
このページには何も変更を加えず、「次へ」をクリックします。
-
接続モード
「専用サーバー・モード」を選択し、「終了」をクリックします。
-
確認
「OK」をクリックして、データベースを登録します。
-
別の操作を実行しますか。
「いいえ」をクリックして、Database Configuration Assistantアプリケーションを終了します。
-
-
Database Configuration Assistantがデータベースの新しいエントリを正常に作成したことを検証するには、次のコマンドを実行して、
orcl11g
をデータベースの名前に置き換えます。$ ldapsearch -h oudhost -p 1389 -D "cn=directory manager" -j pwd.txt -b cn=oraclecontext,dc=example,dc=com "(cn=orcl11g)" dn: cn=orcl11g,cn=OracleContext,dc=example,dc=com orclVersion: 112000 orclcommonrpwdattribute: {SASL -MD5}eW5+2LTPRKzFmHxmMZQmnw== objectClass: orclApplicationEntity objectClass: orclService objectClass: orclDBServer_92 objectClass; orclDBServer objectClass: top orclServiceType: DB orclSid: orcl11g oracleHome: /app/oracle/product/db/product/11.2.0/dbhome_1 cn: orcl11g orclSystemName: oudhost userPassord: {SSHA}oNeBEqkUMtDusjXNXJPpa7qa+Yd0b9RHvA== orclNetDescString: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST)=oudhost) (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl11g))) orclDBGLOBALNAME: orcl11g orclNetDescName: 000:cn= DESCRIPTION_0
31.4.2.6 ロールと権限の構成
次の各トピックでは、Oracle Enterprise Managerを使用してロールと権限を構成するステップについて説明します。
31.4.2.6.1 データベースでの共有スキーマの作成
次のSQLコマンドを実行します。
SQL> CREATE USER global_ident_schema_user IDENTIFIED GLOBALLY; User created. SQL> GRANT CONNECT TO global_ident_schema_user; Grant succeeded.
31.4.2.6.2 新しいユーザースキーマ・マッピングの作成
ノート:
この手順に示されているステップを実行する前に、「Oracle Unified Directory管理者用のパスワード・ポリシーの構成」を参照してください。新しいユーザー・スキーマ・マッピングを作成するには:
-
Webブラウザで、Enterprise Managerに接続します。たとえば:
https://localhost:1158/em
次の情報を指定します。
「ユーザー名」。データベースの管理を許可されているユーザーの名前を入力します。
パスワード。管理者パスワードを入力します。
接続モード。SYSDBAを選択します。
「ログイン」をクリックします。
-
「サーバー」タブをクリックします。
「サーバー」タブの「セキュリティ」セクションで、「エンタープライズ・ユーザー・セキュリティ」をクリックします。
-
「Oracle Internet Directoryログイン: エンタープライズ・ユーザー・セキュリティ」ページで、次の情報を指定します。
「ユーザー」。Oracleコンテキストへの書込みアクセス権を持つユーザーのユーザー名(たとえば、
cn=directory manager
)を入力します。パスワード。同じユーザーのパスワードを入力します。
「ログイン」をクリックします。
-
「エンタープライズ・ユーザー・セキュリティ」ページで、「エンタープライズ・ドメインの管理」をクリックします。
エンタープライズ・ドメインには、1つ以上のデータベースを含めることができます。エンタープライズ・ドメインの設定は、そのドメインに含まれているすべてのデータベースに適用されます。
-
「エンタープライズ・ドメインの管理」ページで、構成するドメインを選択し、「構成」をクリックします。
-
「ドメインの構成」ページで、「ユーザー・スキーマ・マッピング」をクリックします。
-
「ユーザー・スキーマ・マッピング」ページで、「作成」をクリックします。
-
ドメイン・スキーマ・マッピングを作成するには、新規マッピング・ページで、次の情報を指定します。
自
グローバル・スキーマを特定のサブツリーのすべてのユーザーまたは特定のユーザーに関連付けることができます。
グローバル・スキーマを特定のサブツリーのすべてのユーザーに関連付けるには:
-
サブツリーを選択し、懐中電灯アイコンをクリックして、使用可能なサブツリーを検索します。
-
「ユーザーの選択」ページで、サブツリーを選択します。選択したDNの下にあるエンタープライズ・ユーザーは、同じグローバル・スキーマにマップされます。
-
「選択」をクリックします。
グローバル・スキーマを特定のユーザーに関連付けるには:
-
「ユーザー名」を選択し、懐中電灯アイコンをクリックして、使用可能なユーザーを検索します。
-
「ユーザーの選択」ページで、ユーザーDNを選択します。この特定のユーザーのみがグローバル・スキーマにマップされます。
-
「選択」をクリックします。
宛先
「スキーマ」フィールドに、グローバル・スキーマの名前を入力します。たとえば、
global_ident_schema_user
とします。「続行」をクリックします。
-
-
「ユーザー・スキーマ・マッピング」タブで、マッピングが正しければ、「OK」をクリックします。
31.4.2.6.3 データベースでのロールの作成
この例の場合、hr_access
という名前のロールが作成されます。ロールにより、hr.employees
表への読取りアクセス権が付与されます。
データベースにロールを作成するには:
SQL> CREATE ROLE hr_access IDENTIFIED GLOBALLY; Role created. SQL> GRANT SELECT ON hr.employees TO hr_access; Grant succeeded.
詳細は、Oracle Databaseのドキュメントを参照してください。
31.4.2.6.4 ドメインでの新しいロールの作成
ドメイン内に新しいロールを作成するには:
-
ドメインに新しいロールを作成するには、「エンタープライズ・ドメインの管理」ページで、ロールを作成するドメインを選択し、「構成」をクリックします。
-
「ドメインの構成」ページで、「エンタープライズ・ロール」をクリックします。「作成」をクリックします。
-
「エンタープライズ・ロールの作成」ページで、次の情報を指定します。
-
「名前」フィールドに、エンタープライズ・ロールの名前を指定します。
-
「DBグローバル・ロール」タブで、「追加」をクリックします。
-
-
「検索と選択: データベース・グローバル・ロール」ページで、次の情報を指定します。
「データベース」。ドロップダウン・リストからデータベースを選択します。
「ユーザー名」。Enterprise Managerは、データベースから使用可能なロールを取得します。ロールへのアクセスを許可されている管理者のユーザー名(たとえば、
SYS AS SYSDBA
)を入力します。パスワード。管理者パスワードを入力します。
「実行」をクリックします。
-
「検索と選択: データベース・グローバル・ロール」ページで、エンタープライズ・ユーザーに付与するグローバル・ロールを選択します。
「選択」をクリックします。
-
「エンタープライズ・ロールの作成」ページで、エンタープライズ・ロールを付与するエンタープライズ・ユーザーまたはグループを選択し、「権限受領者」タブをクリックします。
-
「権限受領者」タブで、エンタープライズ・ユーザーまたはグループを選択するには、「追加」をクリックします。
-
選択: ユーザーおよびグループ・ページで、「実行」をクリックします。Enterprise Managerは、使用可能なユーザーおよびグループを取得します。
「表示」。ユーザーまたはグループを検索できます。
「検索ベース」。Enterprise Managerは、このDNで検索を開始します。
名前。ここに文字列を入力して、検索を絞り込みます。たとえば、名前がjoで始まるユーザーを検索する場合は、「jo」と入力し、「実行」をクリックします。
表には、関連するエントリが表示されます。リストから、エンタープライズ・ロールを付与するユーザーおよびグループを選択し、「選択」をクリックします。
「続行」をクリックします。
-
「ドメインの構成」ページで、「OK」をクリックして続行します。
-
「エンタープライズ・ロールの編集」ページで、「続行」をクリックします。
-
「ドメインの構成」ページで、「OK」をクリックします。
ロールが正常に作成された後、「構成」をクリックします。
31.4.2.6.5 データベースでのプロキシ権限の定義
ユーザーSHにプロキシ権限を定義するには、次のコマンドを実行します。
SQL> ALTER USER SH GRANT CONNECT THROUGH ENTERPRISE USERS; User altered. This command defines a proxy permission on user SH.
31.4.2.6.7 特定のデータベース用のマッピングの構成
特定のデータベース用のマッピングを構成するには:
-
「エンタープライズ・ユーザー・セキュリティ」ページで、「データベースの管理」をクリックします。
-
「データベースの管理」ページで、構成するデータベースを選択し、「構成」をクリックします。
-
「データベースの構成」ページで、「ユーザー・スキーマ・マッピング」タブをクリックします。
-
「ユーザー・スキーマ・マッピング」ページで、「作成」をクリックします。
-
ドメイン・スキーマ・マッピングを作成するには、新規マッピング・ページで、次の情報を指定します。
自
グローバル・スキーマを特定のサブツリーのすべてのユーザーまたは特定のユーザーに関連付けることができます。
グローバル・スキーマを特定のサブツリーのすべてのユーザーに関連付けるには:
-
サブツリーを選択し、懐中電灯アイコンをクリックして、使用可能なサブツリーを検索します。
-
「ユーザーの選択」ページで、サブツリーを選択します。選択したDNの下にあるエンタープライズ・ユーザーは、同じグローバル・スキーマにマップされます。
-
「選択」をクリックします。
グローバル・スキーマを特定のユーザーに関連付けるには:
-
「ユーザー名」を選択し、懐中電灯アイコンをクリックして、使用可能なユーザーを検索します。
-
「ユーザーの選択」ページで、ユーザーDNを選択します。この特定のユーザーのみがグローバル・スキーマにマップされます。
-
「選択」をクリックします。
宛先
「スキーマ」フィールドに、グローバル・スキーマの名前を入力します。たとえば、
global_ident_schema_user
とします。「続行」をクリックします。
-
-
「ユーザー・スキーマ・マッピング」タブで、マッピングが正しければ、「OK」をクリックします。
31.5 追加のエンタープライズ・ユーザー・セキュリティ構成オプションの使用
Oracle Unified Directoryとエンタープライズ・ユーザー・セキュリティの基本的な統合を実行した後、複数のEUSドメインをサポートするようにOUDを構成し、高可用性をサポートするようにレプリケーションを構成できます。
31.5.1 複数のエンタープライズ・ユーザー・セキュリティ・ドメインをサポートするためのOUDの構成
ユーザーおよびグループが複数のドメインに格納されている場合は、複数のEUSドメインをサポートするようにOUDを構成する必要があります。たとえば、1つのOUDインスタンスに2つのEUSドメインが含まれているとします。1つのEUSドメインでは、Active Directoryのcn=users,dc=ad1,dc=com
の下にユーザー・エントリを格納しています。もう1つのEUSドメインでは、別のActive Directoryインスタンスのcn=users,dc=ad2,dc=com
の下にユーザー・エントリを格納しています。各EUSドメインをサポートするようにOUDを構成する必要があります。
複数のEUSドメインをサポートするようにOUDを構成するには:
-
プライマリ・ドメインがすべてのユーザーおよびグループを含む単一のドメインであるかのように、OUDを構成します。
この例では、プライマリ・ドメインは
dc=ad1,dc=com
です。「外部LDAPディレクトリおよびエンタープライズ・ユーザー・セキュリティと連携するためのOracle Unified Directoryプロキシの構成」のタスクを完了します。
-
セカンダリ・ドメインを構成します。
この例では、セカンダリ・ドメインは
dc=ad2,dc=com
です。このセカンダリ・ドメインについて、「外部LDAPディレクトリでのユーザー・アイデンティティの構成」のステップを完了します。
-
EUSドメイン(この例では
dc=ad2,dc=com
)の新しいネーミング・コンテキストを作成します。「OUDSMを使用した、エンタープライズ・ユーザー・セキュリティと連携するための既存のOracle Unified Directoryプロキシの構成」のステップを完了します。
-
新しいネーミング・コンテキストでOracleコンテキストを更新します。
-
LDIFファイルを作成します。
次の
myconfig.ldif
の例で、次の置換を行います。-
dc=ad1,dc=com
を1つ目のドメインのDNに置き換えます。 -
orclcommonusersearchbase
をセカンダリ・ドメインでのユーザーの場所に置き換えます。dn: cn=Common,cn=Products,cn=OracleContext,dc=ad1,dc=com changetype: modify add: orclcommonusersearchbase orclcommonusersearchbase: cn=users,dc=ad2,dc=com
-
orclcommongroupsearchbase
をセカンダリ・ドメインでのグループの場所に置き換えます。dn: cn=Common,cn=Products,cn=OracleContext,dc=ad1,dc=com changetype: modify add: orclcommongroupsearchbase orclcommongroupsearchbase: cn=groups,dc=ad2,dc=com
-
-
ステップ4aで作成したLDIFファイルを使用して、OUD構成を更新します。
ldapmodify -h oudhost -p 1389 -D "cn=directory manager" -w password -f myconfig.ldif
-
31.5.2 高可用性トポロジでのOracle Unified Directoryおよびエンタープライズ・ユーザー・セキュリティの使用
エンタープライズ・ユーザー・セキュリティと統合された2つ以上のOUDインスタンスの間で高可用性を実現できます。まず、OUDをエンタープライズ・ユーザー・セキュリティと統合します。次に、統合されたOUDインスタンス間にレプリケーションを構成します。構成が完了すると、エンタープライズ・ユーザー・セキュリティ・メタデータ(ディレクトリ・サーバーまたはディレクトリ・プロキシにあります)とOUDサーバー・ユーザーおよびグループとの間でレプリケーションが発生します。
レプリケーションに対応するように統合OUD LDAPサーバーを構成することは、レプリケートされる接尾辞のリストが異なるという1つの例外を除き、統合OUDプロキシ・サーバーを構成することと同じです。
統合OUDインスタンスがLDAPサーバーとして構成されている場合、次の接尾辞がレプリケートされます。
cn=oraclecontext
cn=oraclecontext,dc=example,dc=com
dc=example,dc=com
統合OUDインスタンスがプロキシ・サーバーとして構成されている場合、次の接尾辞がレプリケートされます。
cn=oraclecontext
cn=oraclecontext,dc=example,dc=com
ノート:
Oracle Data Guard、Oracle Real Application Clustersまたは高可用性を使用している場合、各データベース・インスタンスはNetCAおよびDBCAを使用して構成されている必要があります。
高可用性向けにOUD-EUS統合インスタンスを構成するには:
31.6 EUS管理ユーザーを使用するためのベスト・プラクティス
エンタープライズ・ユーザー・セキュリティ(EUS)では、ディレクトリ内のデータベース情報を変更およびユーザーのパスワードをリセットできる権限を持つユーザーが必要です。ディレクトリのルートDNユーザー(OUD/ODSEEではcn=Directory Manager
、OID/OVDではcn=orcladmin
)はこれを実行できますが、ベスト・プラクティスは、EUSを管理する権限を持つユーザーを少なくとも1人使用することです。このユーザーは、EUS管理ユーザー(cn=eusadmin
)と呼ばれます。
関連項目:
31.6.1 EUS管理ユーザーの概要
エンタープライズ・ユーザー・セキュリティ(EUS)では、ディレクトリ内のデータベース情報を変更およびユーザーのパスワードをリセットできる権限を持つユーザーが必要です。ディレクトリのルートDNユーザー(OUD/ODSEEではcn=Directory Manager
、OID/OVDではcn=orcladmin
)はこれを実行できますが、ベスト・プラクティスは、EUSを管理する権限を持つユーザーを少なくとも1人使用することです。このユーザーは、EUS管理ユーザー(cn=eusadmin
)と呼ばれます。
DIT構造内のこのユーザーの場所も重要です。EUS管理ユーザーをOUDの"cn=OracleContext, <Suffix>"
分岐を超える任意の分岐に配置すると、EUScontextワークフロー要素の制約により、EUS管理ユーザーは、それらのパスワードを変更できなくなります。パスワードのリセット権限を付与できるように、EUS管理ユーザーはローカル・バックエンドに配置するようにしてください。実装でローカル・バックエンド内にユーザーとグループが格納されている場合、そのバックエンドにEUS管理ユーザーを格納できます。ただし、実装でユーザーとグループが別のバックエンド・ディレクトリ・サービスにプロキシされている場合は、ユーザーをそこに格納しないでください。すべてのOUD EUSデプロイメントに存在するOUDインスタンスには、ローカル・バックエンド接尾辞がもう1つあります。これは、cn=OracleContext
ローカル・バックエンドです。必要ではありませんが、一貫性のために、EUS管理ユーザーをcn=OracleContext
に配置することをお薦めします。
サンプルのEUS管理ユーザーを次に示します。
dn: cn=eusadmin,ou=EUSAdmins,cn=OracleContext objectClass: top objectClass: organizationalperson objectClass: inetorgperson uid: cn=eusadmin,ou=EUSAdmins,cn=OracleContext cn: eusadmin sn: EUS givenName: Admin userPassword: password ds-privilege-name: password-reset ds-privilege-name: unindexed-search
31.6.2 監理者権限をEUS管理ユーザーに付与するためのEUSレルムの更新
EUSレルムを更新して、管理者権限をEUS管理ユーザーに付与する必要があります。これを行うには、それぞれのEUS監理者グループのメンバーにします。
次の例に、新しいEUS管理ユーザーcn=eusadmin,ou=EUSAdmins,cn=OracleContext
をOracleContextAdmins
グループに追加する方法を示します。この例は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』に従って、LDIFファイルを作成して、必要なすべてのグループに新しいユーザーを追加するための参照として使用できます。
それぞれのEUS管理グループの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』の管理グループに関する項を参照してください。
dn: cn=OracleContextAdmins,cn=Groups,cn=OracleContext changetype: modify add: uniqueMember uniqueMember: cn=eusadmin,ou=EUSAdmins,cn=OracleContext dn: cn=OracleContextAdmins,cn=groups,cn=OracleContext,dc=example,dc=com changetype: modify add: uniqueMember uniqueMember: cn=eusadmin,ou=EUSAdmins,cn=OracleContext
31.6.3 EUS管理ユーザーのパスワード・ポリシーの作成および適用
EUSでOracle Database 12cを実行する場合、SASL DIGEST-MD5認証スキームをサポートするには管理ユーザーが必要です。これには、ユーザーのUID値をそのユーザーの完全なDNに設定し、AES、Base64、Blowfish、Clear、RC4、TripleDESなど、ユーザーのパスワードの逆暗号化記憶域スキームをEUS管理ユーザーのパスワード・ポリシーに含める必要があります。このため、EUS管理ユーザーのパスワード・ポリシーを作成して、そのポリシーをEUS管理ユーザーに適用する必要があります。
31.7 エンタープライズ・ユーザー・セキュリティ・パスワード警告について
パスワード・ポリシーは、アイデンティティ管理レルム内のユーザー・パスワードすべてに適用されるルール・セットです。パスワード・ポリシーには、パスワードの複雑性、パスワードの最低文字数などの設定が含まれます。アカウントのロックアウトとパスワード有効期限の設定も含まれます。
データベースはOracle Unified Directoryと通信し、パスワード・ポリシー違反についてレポートするようにOracle Unified Directoryにリクエストします。データベースは、Oracle Unified Directoryからポリシー違反に関するレスポンスを取得すると、適切な警告またはエラー・メッセージをユーザーに表示します。次の表に、パスワード警告とその意味を示します。
表31-3 パスワード警告
警告条件 | メッセージの例 |
---|---|
ユーザー・パスワードはまもなく期限切れになります。メッセージは、ユーザーが各自のパスワードを変更するまでの残り日数を示しています。 |
SQL> connect joe/Admin123 ERROR: ORA-28055: the password will expire within 1 days Connected. |
パスワードは期限切れになり、残っている猶予期間ログインの数をユーザーに通知します。 |
SQL> connect joe/Admin123 ERROR: ORA-28054: the password has expired. 1 Grace logins are left Connected. |
ユーザー・パスワードは期限切れになり、ユーザーには猶予期間ログインが残っていません。 |
SQL> connect joe/Admin123 ERROR: ORA-28049: the password has expired |
ログイン試行に繰り返し失敗したために、ユーザー・アカウントはロックされています。 |
SQL> connect joe/Admin123 ERROR: ORA-28051: the account is locked |
ユーザー・アカウントは管理者によって無効にされました。 |
SQL> connect joe/Admin123 ERROR: ORA-28052: the account is disabled |
ユーザー・アカウントは非アクティブです。 |
SQL> connect joe/Admin123 ERROR: ORA-28053: the account is inactive |
エンタープライズ・ユーザーによってデータベースへのログイン試行が行われると、Oracle Unified Directoryまたはサポートされている外部LDAP準拠ディレクトリでそのユーザー・アカウントのステータスが更新されます。たとえば、データベースへのログイン試行が連続して失敗すると、ディレクトリのパスワード・ポリシーに従って、そのアカウントはディレクトリでロックされます。
31.8 OUDとエンタープライズ・ユーザー・セキュリティを統合した後の問題のトラブルシューティング
OUDとエンタープライズ・ユーザー・セキュリティを統合した後に問題が発生し、そのトラブルシューティング方法についての情報が必要な場合があります。
これらのトピックでは、OUDとエンタープライズ・ユーザー・セキュリティを統合した後で発生する可能性がある問題の解決策を示します。
31.8.1 Net Configuration Assistantツールのエラー・メッセージの解決
OUDとエンタープライズ・ユーザー・セキュリティの統合中にNet Configuration Assistant (NetCA)ツールによって報告されるエラー・メッセージを解決する方法について説明します。
次の各トピックでは、Net Configuration Assistant (NetCA)ツールのエラー・メッセージとそれらの解決策について説明します。
31.8.1.1 LDAPサーバー接続エラーの解決
NetCAによるディレクトリへの接続に失敗すると、「Oracle Net Configuration Assistant」画面に次のエラー・メッセージが表示されます。
このエラーを解決するには、コマンド行で次のコマンドを実行して、ホスト名とポート番号が正しいかどうかを確認します。
$ OracleUnifiedDirectory/bin/ldapsearch -h $LDAPSERVER -p $PORT -b "" -s base "(objectclass=*)" dn: objectClass: top objectClass: ds-root-dse $ OracleUnifiedDirectory/bin/ldapsearch -h $LDAPSERVER -p $LDAPSPORT -Z -X -b "" -s base "(objectclass=*)" dn: objectClass: top objectClass: ds-root-dse
31.8.1.2 スキーマ・エラーの解決
必要なスキーマを使用できなかったり、バージョン番号が正しくない場合に、「Oracle Net Configuration Assistant」画面に次のエラー・メッセージが表示されます。
このエラーを解決するには、Oracle Unified Directoryに匿名でアクセスできることと、次のcn=subschemasubentry
エントリが含まれていることを確認します。
$ OracleUnifiedDirectory/bin/ldapsearch -h $LDAPSERVER -p $LDAPSPORT -Z -X -b cn=subschemasubentry -s base "(objectclass=*)" dn: cn=subschemasubentry objectClass: top objectClass: ldapSubentry objectClass: subschema
Oracle Unified Directoryがエンタープライズ・ユーザー・セキュリティに対して有効化されていない場合、cn=subschemasubentry
エントリは使用できません。エンタープライズ・ユーザー・セキュリティを有効にするには、Oracle Unified DirectoryのインストールのGUIを使用したディレクトリ・サーバーの設定に関する項を参照してください。
cn=subschemasubentry
に匿名でアクセスできない場合は、次のACIがOracle Unified DirectoryでグローバルACIとして定義されているかどうかを確認します。
(target="ldap:///cn=subschemasubentry")(targetscope="base") \ (targetattr="objectClass||attributeTypes||dITContentRules||dITStructureRules| \ |ldapSyntaxes||matchingRules||matchingRuleUse||nameForms||objectClasses") \ (version 3.0; acl "User-Visible SubSchemaSubentry Operational Attributes"; \ allow (read,search,compare) userdn="ldap:///anyone";)
詳細は、「dsconfigを使用したグローバルACIの管理」を参照してください。
31.8.2 Database Configuration Assistantのエラー・メッセージの解決
OUDとエンタープライズ・ユーザー・セキュリティの統合中にDatabase Configuration Assistant (DBCA)によって報告されるエラー・メッセージを解決する方法について説明します。
次の各トピックでは、Database Configuration Assistant (DBCA)のエラー・メッセージとそれらの解決策について説明します。
31.8.2.1 TNS-04409エラー/TNS-04427: 「ディレクトリ・サーバーへのSSLアクセス」の解決
このエラー・メッセージは、SSLがOracle Unified Directoryに対して有効化されていない場合に表示されます。
このエラーを解決するには、コマンド行で次のコマンドを実行して、SSLがOracle Unified Directoryに対して有効化されているかどうかを確認します。
$ OracleUnifiedDirectory/bin/ldapsearch -h $LDAPSERVER -p $LDAPSPORT -Z -X -b "" -s base "(objectclass=*)" dn: objectClass: top objectClass: ds-root-dse
詳細は、「クライアント/サーバー間のセキュリティ構成」を参照してください
31.8.2.2 TNS-04409エラー/TNS-04431: 「接尾辞が必要」の解決
このエラー・メッセージは、接尾辞が使用できない場合に表示されます。
このエラーを解決するには、『Oracle Unified Directoryのインストール』のGUIを使用したディレクトリ・サーバーの設定に関する項の説明に従って、接尾辞が作成されていることを確認します。
31.8.2.3 DBにcn=directory manager以外のユーザーを登録するときのTNS-04411エラーの解決
このエラー・メッセージは、データベース登録時にcn=directory manager
以外のユーザーを指定した場合に表示されます。
このエラーを解決するには、ユーザーがパスワード・リセット権限を持ち、ユーザー・エントリに次のいずれかのuniqueMember
属性が含まれていることを確認します。
-
cn=oraclecontextadmins,cn=groups,cn=oraclecontext,dc=eusovd,dc=com
-
cn=oraclenetadmins,dc=oraclecontext,dc=eusovd,dc=com
コマンド行で次のコマンドを実行します:
$ OracleUnifiedDirectory/bin/ldapmodify -h $LDAPSERVER -p $LDAPPORT -D $DN -w $PWD dn: cn=newadmin,ou=people,dc=eusovd,dc=com changetype: modify add: ds-privilege-name ds-privilege-name: password-reset Processing MODIFY request for cn=newadmin,ou=people,dc=eusovd,dc=com MODIFY operation successful for DN cn=newadmin,ou=people,dc=eusovd,dc=com dn: cn=oraclenetadmins,cn=oraclecontext,dc=eusovd,dc=com changetype: modify add: uniquemember uniquemember: cn=newadmin,ou=people,dc=eusovd,dc=com Processing MODIFY request for cn=oraclenetadmins,cn=oraclecontext,dc=eusovd,dc=com MODIFY operation successful for DN cn=oraclenetadmins,cn=oraclecontext,dc=eusovd,dc=com dn: cn=oraclecontextadmins,cn=groups,cn=oraclecontext,dc=eusovd,dc=com changetype: modify add: uniquemember uniquemember: cn=newadmin,ou=people,dc=eusovd,dc=com Processing MODIFY request for cn=oraclecontextadmins,cn=groups,cn=oraclecontext,dc=eusovd,dc=com MODIFY operation successful for DN cn=oraclecontextadmins,cn=groups,cn=oraclecontext,dc=eusovd,dc=com
31.8.3 Oracle SQLエラー・メッセージの解決
OUDとエンタープライズ・ユーザー・セキュリティの統合中にOracle SQLによって報告されるエラー・メッセージを解決する方法について説明します。
次の各トピックでは、Oracle SQLのエラー・メッセージとそれらの解決策について説明します。
31.8.3.1 ORA-28030: 「LDAPディレクトリ・サービスへアクセス中にサーバーに問題が発生しました。」の解決
このエラー・メッセージは、データベースとディレクトリ間の接続に問題がある場合に表示されます。
この問題を解決するには:
-
データベース・ウォレットの自動ログインが有効になっていることを確認します。Oracle Wallet Managerを使用するか、
$ORACLE_HOME/admin/<ORACLE_SID>/wallet/
にcwallet.sso
ファイルがあることを確認します。 -
次のコマンドを実行して、ユーザー・エントリのDNおよびパスワードを確認します。
$ mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -viewEntry ORACLE.SECURITY.DN Oracle Secret Store Tool : Version 11.2.0.2.0 - Production Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. Enter wallet password: ******** ORACLE.SECURITY.DN = cn=orcl11gr2,cn=OracleContext,dc=eusovd,dc=com $ mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -viewEntry ORACLE.SECURITY.PASSWORD Oracle Secret Store Tool : Version 11.2.0.2.0 - Production Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. Enter wallet password: ******** ORACLE.SECURITY.PASSWORD = zQ7v4ek3
-
次のコマンドを実行して、データベースがディレクトリ・サーバーに接続できるか確認します。
$ oracleUnifiedDirectory/bin/ldapsearch -h $LDAPSERVER -p $PORT -b cn=common,cn=products,cn=oraclecontext,$BASEDN "(objectclass=*)" orclcommonusersearchbase orclcommongroupsearchbase orclcommonnicknameattribute orclcommonnamingattribute dn: cn=Common,cn=Products,cn=OracleContext,dc=eusovd,dc=com orclcommonusersearchbase: ou=people,dc=eusovd,dc=com orclcommongroupsearchbase: ou=groups,dc=eusovd,dc=com orclcommonnicknameattribute: uid orclcommonnamingattribute: cn
ディレクトリ・サーバーへの接続に失敗する場合は、次の手順を実行する必要があります。
-
データベース・エントリがディレクトリ・サーバー内に存在していることを確認します。
-
次のコマンドを実行して、
orclcommonrpwdattribute
にデータベース・エントリのパスワードが含まれていることを確認します。$ OracleUnifiedDirectory/bin/ldapsearch -h $LDAPSERVER -p $PORT -b cn=oraclecontext,$BASEDN -s one "(objectclass=orcldbserver)" orclcommonrpwdattribute dn: cn=orcl11gr2,cn=OracleContext,dc=eusovd,dc=com orclcommonrpwdattribute: {SASL-MD5}KvIVAyYahxnHWdlfN649Kw==
エントリが見つからないか、またはエントリにパスワードが含まれていない場合は、「LDAPサーバーへのデータベースの登録」の説明に従って、DBCAを使用する必要があります。
-
31.8.3.2 ORA-01017: 「ユーザー名/パスワードが無効です。ログオンは拒否されました。」の解決
このエラー・メッセージは、無効なユーザー名またはパスワードが指定された場合に表示されます。
このエラーを解決するには、正しいユーザー名およびパスワードを指定します。
31.8.3.3 ORA-28274: 「ユーザー・ニックネームに対応するORACLEパスワード属性が存在しません。」の解決
このエラー・メッセージは、データベースが対応するユーザーを検出したが、そのパスワードをSQLに提供されたパスワードと比較できない場合に表示されます。
この問題を解決するには:
31.9 アップグレードされた環境での既存の匿名ACIの無効化
12.2.1.3.0より前では、Oracle Unified Directoryがエンタープライズ・ユーザー・セキュリティ向けディレクトリとして使用される場合、匿名ACIがEUS統合に付与されていました。そのようなアップグレードされた環境では、Oracle Unified Directoryの既存の匿名グローバルACIを次のように変更して、Oracle Unified Directoryへの匿名検索リクエストを制限できます。
例の中のdc=oracle,dc=com
は実際のデプロイメント固有のDNに置き換えてください。
(target="ldap:///dc=oracle,dc=com")(targetattr!="userpassword||authpassword||aci")(targetfilter="(objectclass=orclContext)")(version 3.0; acl "Anonymous read access to subtree";allow (read,search,compare) userdn="ldap:///anyone";) (target="ldap:///dc=oracle,dc=com")(targetattr="*")(version 3.0; acl "EUS reads authpassword"; allow (read,search,compare) userdn="ldap:///??sub?(&(objectclass=orclservice)(objectclass=orcldbserver))";)
外部LDAPディレクトリおよびエンタープライズ・ユーザー・セキュリティとの連携にOracle Unified Directoryプロキシが使用されている場合は、次の仮想ACIを追加することで、Oracle Unified Directoryプロキシへの匿名検索リクエストを制限できます。例の中のdc=oracle,dc=com
は実際のデプロイメント固有のDNに置き換えてください。
(target="ldap:///dc=oracle,dc=com")(targetattr="*")(version 3.0; acl "EUS reads users"; allow (read,search,compare) userdn="ldap:///??sub?(&(objectclass=orclservice)(objectclass=orcldbserver))";) (target="ldap:///dc=oracle,dc=com")(targetattr="orclaccountstatusevent")(version 3.0; acl "EUS write orclaccountstatusenabled"; allow (write) userdn="ldap:///??sub?(&(objectclass=orclservice)(objectclass=orcldbserver))";) (target="ldap:///dc=oracle,dc=com")(targetattr="*")(version 3.0; acl "Proxy self entry access"; allow (read,search,compare,write) userdn="ldap:///self";)