Oracle Identity Management 統合ガイド 10gリリース2(10.1.2) B15777-02 |
|
この章では、本番環境でOracle Identity ManagementをどのようにMicrosoft Active Directoryと統合できるかを説明します。
注意 この章を読む前に、『Oracle Internet Directory管理者ガイド』のOracle Internet Directoryの概念とアーキテクチャに関する章を理解しておく必要があります。また、このマニュアルのここまでの章、特に次の章を理解していることを前提としています。
Microsoft Active Directoryとの統合のデモンストレーションを構成する場合は、Oracle Identity Management 10gリリース2(10.1.2)のOracle By Exampleシリーズを参照してください。Oracle Technology Network(http://www.oracle.com/technology/)で入手できます。 |
この章の内容は次のとおりです。
関連資料
すべてのOracleコンポーネントは、Oracle Identity Managementと統合することによって、セキュリティが集中管理されます。同様に、Microsoft Windowsでは、すべてのMicrosoftアプリケーションをMicrosoft Active Directoryと統合することによって、セキュリティが集中管理されます。
環境内でOracle Identity ManagementとMicrosoft Active Directoryの両方を使用する場合、一方のデータを他方のデータと同期化するには、2つのシステムを統合する必要があります。これはActive Directoryコネクタを使用して行います。
この項では、Oracle Identity ManagementとActive Directoryの統合に必要なOracleコンポーネントとアーキテクチャについて説明します。内容は次のとおりです。
この項では、Microsoft Active Directoryとの統合に使用される次のコンポーネントについて説明します。
Oracle Internet DirectoryとMicrosoft Active Directoryとの統合に使用されるツールの説明は、第3章「Oracle Directory Integration and Provisioning 管理ツール」を参照してください。
関連項目
Oracle Internet Directoryは、Oracleコンポーネントとサード・パーティのアプリケーションによって、ユーザーIDおよび資格証明が格納され、アクセスされるリポジトリです。ここでは、Oracleディレクトリ・サーバーを使用して、ユーザーにより入力された資格証明をOracle Internet Directoryに格納された資格証明と比較することで、ユーザー認証が行われます。資格証明がサード・パーティのディレクトリに格納されていて、Oracle Internet Directoryに格納されていない場合でも、ユーザーを認証することはできます。この場合は、Oracle Internet Directoryでは、サード・パーティのディレクトリ・サーバーに対してユーザー認証を行う外部認証プラグインが使用されます。
関連資料
|
Oracle Directory Integration and Provisioningは、Oracle Application Server Infrastructureの一部としてインストールされます。これをOracle Internet Directoryと同じホストで実行するようにも、異なるホストで実行するようにも構成できます。
Oracle Directory Integration and Provisioningを使用すると、次のことができます。
Oracle Directory Integration and Provisioningには、Oracle Internet Directoryを他のLDAPディレクトリまたはデータ・ストアと同期化するためのコネクタが含まれます。そのコネクタの1つであるActive Directoryコネクタは、Oracle Internet DirectoryをMicrosoft Active Directoryと同期化するためのものです。
Active Directoryコネクタを使用すると、次のことができます。
関連項目
第19章「Microsoft Windows NT 4.0環境との統合」を参照してください。
OracleAS Single Sign-Onを使用すると、1回のみのログインで、WebベースのOracleコンポーネントにアクセスできます。
Oracleコンポーネントは、ログイン機能をOracleAS Single Sign-On Serverに委任します。初めてOracleコンポーネントにログインする場合は、そのコンポーネントによってOracleAS Single Sign-On Serverへログインが送信されます。OracleAS Single Sign-On Serverでは、ユーザーが入力した資格証明を、Oracle Internet Directoryに格納されている資格証明と比較します。資格証明の検証後、OracleAS Single Sign-On Serverにより、現行セッション中、ユーザーが使用を認可されているすべてのコンポーネントに対するユーザー・アクセス権が付与されます。
Oracle Application Server Single Sign-Onを使用すると、Microsoft Windows環境でのネイティブ認証が有効になります。ユーザーは、Windows環境にログインすると、自動的にOracleコンポーネントにアクセスできるようになります。OracleAS Single Sign-Onが、ユーザーのKerberos資格証明を使用してユーザーをOracle環境に自動的にログインさせます。
関連資料
|
Oracleディレクトリ・サーバーの一部であるこのプラグインを使用すると、Microsoft Windowsユーザーは、Microsoft Windows資格証明を使用してOracle環境にログインできます。このプラグインがインストールされていれば、Oracleディレクトリ・サーバーにより起動されます。このプラグインにより、Microsoft Active Directoryでユーザーの資格証明が検証されます。検証が正常に実行された場合は、Oracleディレクトリ・サーバーからOracleAS Single Sign-Onに通知されます。
Windowsネイティブ認証は、Microsoft WindowsでのMicrosoft Internet Explorerユーザーの認証方法です。この機能がOracleAS Single Sign-Onで有効な場合、ユーザーはOracleAS Single Sign-Onのパートナ・アプリケーションに自動的にログインします。このためにユーザーは、Windowsのドメインへのログイン時に取得したKerberos資格証明を使用します。
Internet Explorerバージョン5.0以上では、Simple and Protected GSS-API Negotiation Mechanism(SPNEGO)プロトコルを使用して、ユーザーのKerberos資格証明をリクエスト先のKerberos対応のWebサーバーに自動的に渡すことができます。これにより、Webサーバーは資格証明を復号化してそのユーザーを認証できます。
SPNEGOプロトコルは、Kerberosバージョン5とNT Lan Manager(NTLM)の両方の認証方法をサポートしますが、Oracle Application Server 10gリリース2(10.1.2)では、SPNEGO使用のKerberos V5のみをサポートします。
次の手順は、シングル・サインオンで保護されたアプリケーションにユーザーがアクセスするときのプロセスを示しています(図18-1を参照)。
ユーザーがWindowsセッションからログアウトすると、このアプリケーションとアクセスされたすべてのシングル・サインオン・アプリケーションからも、同時にログアウトします。
Oracle Internet DirectoryとMicrosoft Active Directoryの同期を維持するために、Oracle Directory Integration and Provisioningでは、Microsoft Active Directory変更追跡メカニズムで使用可能になる増分変更を利用します。Oracle Directory Integration and Provisioningでは、次の2つの方式がサポートされています。
いずれの方式でも、変更が導出されるディレクトリに対して、Active Directoryコネクタによりスケジュールされた間隔で問合せが行われます。
各方式には、長所と短所があります。表18-1に、これら2つの方式の相違点を示します。
考慮事項 | DirSync方式 | USN-Changed方式 |
---|---|---|
キーの変更 |
エントリの一意の識別子である |
識別名に変更を渡します。 |
エラー処理 |
エラー状態の結果、同期が停止した場合、次のサイクル中に、適用済の変更がすべて読み取られ、スキップされます。 |
同期が原子性を持つ必要はありません。同期が停止した場合、同期が中断されたエントリから、次の同期サイクルが開始します。 |
検索結果の情報 |
変更は、変更された属性と新しい値のみです。このためUSN-Changed方式より速くなる可能性があります。 |
変更エントリのすべての属性が取得されます。取得された値は、Oracle Internet Directoryに格納されている古い値と比較され、更新されます。このためDirSync方式より時間がかかる可能性があります。 |
複数値の属性の変更 |
複数値の属性に加えられた増分変更を、属性値の完全置換として反映します。 |
複数値の属性に加えられた増分変更を、属性値の完全置換として反映します。 |
同期点の追跡方法 |
ディレクトリ内の変更を問い合せたときに、ディレクトリの状態を識別するCookie値に基づく増分変更が渡されます。 |
|
必須のユーザー権限 |
ユーザーは、対象となるネーミング・コンテキストに対する変更の複製権限が必要です。これにより、Microsoft Active Directory内のすべてのオブジェクトおよび属性を、それらに対するアクセス保護に関係なく、読み取ることができます。 関連資料:
|
Microsoft Active Directoryユーザーには、Oracle Internet Directoryに対して同期化するすべての必要属性を読み取る権限が必要です。 関連資料: USN-Changed方式使用時に、Microsoft Active Directoryユーザーに権限を割り当てる方法については、Microsoftライブラリ(http://msdn.microsoft.com/)で入手可能なMicrosoftのネットワーキングおよびディレクトリ関連のドキュメントを参照してください。 |
複数ドメインのサポート |
異なるドメイン内のエントリに加えられた変更を読み取るには、異なるドメイン・コントローラへの個々の接続が必要です。 |
|
異なるMicrosoft Active Directoryドメイン・コントローラへの切替え時のレプリケートされたディレクトリからの同期 |
同期は続行可能です。レプリケートされた環境に接続するときも同期キーは同じです。 |
次のことが必要です。 関連項目: 「同一ドメイン内の異なるMicrosoft Active Directoryドメイン・コントローラへの切替え」 |
同期の有効範囲 |
ディレクトリ内のすべての変更を読み取り、必須エントリへの変更のみをOracle Internet Directoryに伝播します。 |
特定のサブツリーで変更の同期を有効にします。 |
ロード・バランサの背後に複数のMicrosoft Active Directory Serverを配置した環境の可用性 |
- |
特定のMicrosoft Active Directoryドメイン・コントローラに接続するか、グローバル カタログに接続します。次の場合にグローバル カタログに接続します。 |
Microsoft Active Directory内のオブジェクトと同期化されるオブジェクトを識別するために、Oracle Internet DirectoryにはActive Directory固有の属性に対応するスキーマ要素が含まれています。これらのスキーマ要素については、『Oracle Identity Managementユーザー・リファレンス』を参照してください。
この項の内容は次のとおりです。
Oracle Internet Directoryでは、ID管理レルムは、あるID管理ポリシーが配置により定義され、施行される企業内での範囲を定義します。次の要素で構成されます。
同じOracle Identity Managementインフラストラクチャ内で複数のID管理レルムを定義できます。したがって、ユーザーの集団を区別し、各レルムで異なるID管理ポリシー(パスワード・ポリシー、ネーミング・ポリシー、自己変更ポリシーなど)を施行できます。これは、Oracle Application Serverのホスティングされた配置で役立ちます。
各ID管理レルムには、他のレルムと区別するために固有の名前が付けられます。また、レルムに対して完全な管理制御を行うために、レルム固有の管理者も決められます。
すべてのOracleコンポーネントが機能するには、ID管理レルムが必要です。Oracle Internet Directoryのインストール中に作成される特別なレルムは、デフォルトID管理レルムと呼ばれます。これは、レルムの名前が指定されていない場合に、Oracleコンポーネントが、ユーザー、グループおよび関連付けられたポリシーを検索する場所です。このデフォルトのレルムにより、ディレクトリ内で情報の適切な編成が容易になり、適切なアクセス制御が実行されます。
デフォルトID管理レルムは、ディレクトリに1つのみです。配置に複数のID管理レルムが必要である場合、その1つをデフォルトとして選択します。
図18-2は、デフォルトID管理レルムを示しています。
図18-2が示すように、デフォルトID管理レルムは、グローバルなディレクトリ情報ツリー(DIT)の一部です。ルートDSEに続くノードはdc=com
で、その下にdc=MyCompany
、dc=us
が続きます。これらの4つのノードは、DITの全体構造を表しています。dc=us
ノードは、デフォルトID管理レルムのルートです。このノードには、ユーザーとグループの情報を格納するための2つのサブツリー、cn=Users
とcn=Groups
があります。説明のために、cn=Users
ノードには2つのリーフ、uid=user1
とuid=user2
があります。同様に、cn=Groups
ノードには、cn=group1
とcn=group2
があります。
Oracle Directory Integration and Provisioningで次のことを可能にするには、Oracle Internet Directoryで適切なACLを構成する必要があります。
users
コンテナとgroups
コンテナでオブジェクトの追加、変更および削除ができるようにします。デフォルトでは、インポート・プロファイルはレルム管理グループの一部で、レルム識別名の下の任意のエントリに対してあらゆる操作を実行できます。レルム内でアクセス制御リスト(ACL)をカスタマイズした場合、同期化されるサブツリーで、あるいは同期が行われる場所に応じてuser
コンテナ、groupコンテナ、あるいはその両方で、インポート・プロファイルにこれらの操作を実行するための適切な権限があることを確認します。
users
コンテナとgroups
コンテナのそれぞれのユーザーとグループを管理できます。レルム内でusersearchbase
とgroupsearchbase
を更新した場合、users
コンテナとgroups
コンテナで適切なACLを設定します。DITを計画する際、同期の前に行う最も重要な決定は、次のとおりです。
このように同期化する場合、「サポートされている属性マッピング・ルールと例」で説明されているように、dnconvert
マッピング・ルールを使用する必要があります。
図18-3は、2つのディレクトリ間での1対1マッピングの例を示しています。
図18-3の1対1マッピングの場合:
users.us.MyCompany.com
)に格納されます。
cn=users,dc=us,dc=MyCompany,dc=com
で識別される同じusersサブツリーに表示されます。
図18-3に示した例では、1対1のドメイン・マッピングを使用して、users
サブツリーのみをActive DirectoryからOracle Internet Directoryに同期化する必要があります。
注意 図18-3の例では2つのディレクトリのトポロジは同じですが、これは図示のためのみであるので注意してください。2つのディレクトリは、同じドメインに存在する必要はありません。Oracle Internet Directoryは、Microsoft Active Directoryに接続できるのであれば、ネットワークのどこにあってもかまいません。 さらに、例では同期がMicrosoft Active DirectoryからOracle Internet Directoryへの一方向ですが、かわりに同期を双方向に行うこともできます。 |
複数のドメインを持つMicrosoft Active Directoryの配置では、単一のDITにすることも、複数のDITを組み合せることもできます。Microsoft Active Directoryでは、DITのグループをフォレストと呼びます。
図18-4は、Microsoft Active Directoryの複数のドメインがどのようにOracle Internet DirectoryのDITにマップされるかを示しています。
図18-4では、Microsoft Active Directory環境に1つの親ドメインと2つの子ドメインがあります。各ドメインにはドメイン・コントローラが関連付けられています。us.mycompany.com
ノードをサポートしているActive Directoryドメイン・コントローラは、グローバル カタログ サーバーです。
最初の子ドメインa.us.MyCompany.com
は、Oracle Internet Directoryのdc=a,dc=us,dc=MyCompany,dc=com
にマップされます。2番目の子ドメインb.us.MyCompany.com
は、Oracle Internet Directoryのdc=b,dc=us,dc=MyCompany,dc=com
にマップされます。Active Directory環境の共通ドメイン・コンポーネントus.MyCompany.com
は、Oracle Internet DirectoryのデフォルトID管理レルム、この場合はdc=us,MyCompany,dc=com
にマップされます。
図18-5は、Microsoft Active DirectoryのフォレストがOracle Internet Directoryにどのように反映されるかを示しています。
このディレクトリでは、2つのドメイン・ツリーが1つのフォレストを構成しています。これらのツリーは信頼関係にあります。つまり、一方のドメインのユーザーは、他方のドメインのドメイン・コントローラにより認証されます。Microsoft Active Directoryのこのフォレストは、Oracle Internet Directory内の同一構造のサブツリーにマップされます。
Microsoft Active Directoryのユーザーやコンピュータ・アカウントは、コンピュータや人などの物理エンティティを表します。ユーザー・アカウントおよびコンピュータ・アカウントは、グループと同様に、セキュリティ・プリンシパルと呼ばれます。セキュリティ・プリンシパルは、自動的にセキュリティ識別子を割り当てられるディレクトリ・オブジェクトです。セキュリティ識別子を持つオブジェクトは、ネットワークにログインし、ドメイン・リソースにアクセスできます。ユーザー・アカウントまたはコンピュータ・アカウントは、次のことに使用されます。
たとえば、エンタープライズ管理者グループのメンバーであるユーザー・アカウントまたはコンピュータ・アカウントは、フォレスト内のすべてのドメイン・コントローラで、ログインの許可を自動的に付与されます。
ユーザー・アカウントおよびコンピュータ・アカウントは、Microsoft Active Directory Users and Computersを使用して、追加、無効化、リセットおよび削除されます。
Active Directoryの信頼関係では、あるドメインのユーザーは、別のドメインのドメイン・コントローラにより認証されます。信頼関係は、推移的にも非推移的にもなります。
あるフォレストのWindows 2000ドメインと、そのフォレスト外のWindows 2000ドメインの間に信頼関係が確立されている場合、外部ドメインからのセキュリティ・プリンシパルは、フォレスト内のリソースへのアクセス権を付与されます。外部ドメインからのセキュリティ・プリンシパルは、外部セキュリティ・プリンシパルと呼ばれ、Active Directoryでは外部セキュリティ・プリンシパル・オブジェクトとして表されます。これらの外部セキュリティ・プリンシパルは、フォレスト外のドメインからメンバーを受け入れるドメイン・ローカル・グループのメンバーになることができます。
外部セキュリティ・プリンシパルは、Microsoft Active Directory環境の2つのドメイン間に非推移的な信頼関係がある場合に使用されます。
Microsoft Active Directory環境の非推移的な信頼関係では、あるドメインが別のドメインからの外部セキュリティ・プリンシパルを認識すると、そのエンティティは識別名エントリのように表されます。そのエントリでは、RDNコンポーネントは、信頼関係のドメインにおける元のエントリのSIDに設定されます。グループの場合は、外部セキュリティ・プリンシパルの識別名が、信頼関係のドメインにおける元のエントリの識別名としてではなく、メンバーの値として表されます。このため、外部セキュリティ・プリンシパルがOracle Internet Directoryと同期化されるときに問題が発生する可能性があります。
Microsoft Windows環境との統合には、2つの一般的な方法があります。
この項では、各配置の要件を説明します。内容は次のとおりです。
表18-2に、この配置の一般的な要件を示します。
Oracle Internet Directoryの新しいユーザーまたはグループは、Oracle Directory Integration and Provisioning ServerによってMicrosoft Windows環境に自動的にプロビジョニングできます。この自動プロビジョニングには、次の条件が必要です。
これら2つの条件が満たされていない場合、Oracle Internet DirectoryのエントリをLDIFファイルにロードし、Microsoft Active Directoryに対してそのデータをアップロードする必要があります。
複数のMicrosoft Active Directoryドメインが含まれている場合は、Oracle Directory Integration and Provisioning Serverによって、それぞれのMicrosoft Active Directoryドメイン内のユーザーおよびグループがプロビジョニングされます。プロビジョニングが行われるには、Oracle Internet DirectoryからMicrosoft Active Directoryドメインへの一方向の同期を構成する必要があります。
表18-3に、この配置の一般的な要件を示します。
Microsoft Active Directoryに作成された新しいユーザーまたはグループは、Oracle Directory Integration and Provisioning Serverによって、Oracle Internet Directoryに自動的に同期化されます。プロビジョニングが実行される前に、Microsoft Active DirectoryとOracle Internet Directory間で一方向の同期が確立されている必要があります。
複数のMicrosoft Active Directoryドメインが含まれている場合は、Oracle Directory Integration and Provisioning Serverによって、それぞれのMicrosoft Active DirectoryドメインからOracle Internet Directoryにユーザーおよびグループが同期化されます。プロビジョニングが実行される前に、Oracle Internet Directoryと各Microsoft Active Directoryドメインのドメイン・コントローラ間で一方向の同期が確立されている必要があります。
パスワードは、Microsoft Active DirectoryからOracle Internet Directoryへ移行されません。
この項の内容は次のとおりです。
レルムを構成する手順は、次のとおりです。
uid
です。Microsoft Active Directoryと統合して、userprincipalname
属性をログインに使用する場合は、userprincipalname
をOracle Internet Directoryのuid
属性にマップします。詳細は、「ログイン名の属性の選択」の項を参照してください。
usersearchbase
値とgroupsearchbase
値を設定します。これらの値によって、Oracle Internet Directory内でユーザーおよびグループを検索する場所が、各種Oracleコンポーネントに指定されます。これらの値は、インストール時にデフォルトの値に設定されます。ただし、Active Directoryとの統合が必要な配置では、これらの値を、2つのディレクトリ内のDIT構造に対応するようにリセットすることが必要になる場合があります。これらを正しく設定してください。間違って設定すると、同期が正常に機能していても、コンポーネントがOracle Internet Directoryのユーザーやグループにアクセスできないままになる可能性があります。ユーザー検索ベースとグループ検索ベースの構成方法は、図18-3を例に説明します。ここでusersearchbase
は、cn=users,dc=us,dc=MyCompany,dc=com
かその親の1つに設定します。同様に、DITにgroups
というサブツリーがあるとすると、複数の値のあるgroupsearchbase
属性は、次の両方に設定します。
ユーザー検索ベースとグループ検索ベースを構成するには、Oracle Internet Directoryセルフ・サービス・コンソールを使用します。
usercreatebase
値とgroupcreatebase
値を設定します。これらの値は、各種Oracleコンポーネントに、ユーザーおよびグループを作成できる場所を指定します。これらの値は、インストール時にデフォルトの値に設定されます。ユーザー作成ベースとグループ作成ベースの構成方法は、図18-3を例に説明します。ここでusercreatebase
は、cn=users,dc=us,dc=MyCompany,dc=com
かその親の1つに設定します。同様に、groupcreatebase
はcn=groups,dc=us, dc=MyCompany,dc=com
またはその親の1つに設定します。
ユーザー作成ベースとグループ作成ベースを構成するには、Oracle Internet Directoryセルフ・サービス・コンソールを使用します。
この項では、配置で必要になる可能性のある様々なカスタマイズについて説明します。内容は次のとおりです。
インストール時に、Active Directoryコネクタ同期プロファイルの3つのサンプルが用意されます。これらのサンプルは、配置の必要に応じてカスタマイズできます。同期プロファイルのサンプルは、次のとおりです。
ActiveImport
: DirSync方式を使用して、Microsoft Active DirectoryからOracle Internet Directoryへ変更をインポートするためのプロファイル
ActiveChgImp
: USN-Changed方式を使用して、Microsoft Active DirectoryからOracle Internet Directoryへ変更をインポートするためのプロファイル
ActiveExport
: Oracle Internet DirectoryからMicrosoft Active Directoryへ変更をエクスポートするためのプロファイル
ActiveImport
またはActiveChgImp
のいずれを使用するかは、変更の追跡方法でDirSync方式かUSN-Changed方式のどちらを選択したかによって決まります。
これらのサンプル・プロファイルで必要が満たされる場合は、それらをコピーし、Active Directoryコネクタを実行するためにそのまま使用します。必要が満たされない場合は、それらをコピーしてカスタマイズします。
サンプル・プロファイルをコピーするには、Directory Integration and Provisioningアシスタントのcreateprofilelike
(cpl
)コマンドを使用し、第7章「ディレクトリ同期の管理」の指示に従い、プロファイルを有効にします。Oracle Directory Integration and Provisioning Serverを再起動すると、同期には複製のプロファイルが使用され、変更された情報によってキャッシュが自動的にリフレッシュされます。
同期プロファイルの重要な要素であるマッピング・ルールは、同期化されるディレクトリ情報、および同期化されたときのディレクトリ情報の変換方法を決定します。マッピング・ルールは、要件にあわせて実行時に変更できます。
サンプルのActive Directory同期プロファイルには、それぞれデフォルトのマッピング・ルールが含まれています。これらのルールには、デフォルトで同期用に構成された、最小限のデフォルトのユーザー属性およびグループ属性が含まれています。
関連項目
|
新しいプロファイルを作成するには、インストール時に用意されたサンプル・プロファイルをコピーし、それを変更します。
新しいプロファイルを作成し、構成するには、Directory Integration and Provisioningアシスタントを使用します。Assistantは、コマンドライン・ツールまたはグラフィカル・インタフェース・ツールとして起動できます。
dipassistant
を入力します。
$ORACLE_HOME/bin/dipassistant -gui
これにより、Oracle Directory Integration and Provisioning Server管理ツールが表示され、ツールのコマンドライン版によって提供される機能のサブセットが使用できます。
関連資料
|
Active Directoryコネクタは、Oracle Directory Integration and Provisioning Server管理ツール、またはDirectory Integration and ProvisioningアシスタントのExpress構成オプションのいずれかを使用して構成できます。これらのいずれかを使用して、スクリプトに対する入力として、接続詳細を指定できます。これらの詳細を構成する方法としてお薦めします。
インストール時に用意されたテンプレート・プロパティ・ファイルに基づいて、プロファイルを作成することもできます。これを行う場合、プロファイルのodip.profile.condirurl
、odip.profile.condiraccount
およびodip.profile.condirpassword
の各プロパティに接続詳細を指定する必要があります。
接続詳細の指定に加えて、Active Directoryのユーザー・アカウントに、変更の監視対象となっているフォレストのすべてのドメインに対して、ディレクトリ変更をレプリケートする権限があることを確認する必要もあります。これは、次のいずれかの方法により実行できます。
この権限を管理者以外のユーザーに付与するには、Microsoft Help and Support(http://support.microsoft.com/)の記事「How to Grant the 'Replicating Directory Changes' Permission for the Microsoft Metadirectory Services ADMA Service Account」の「More Information」の項の指示に従います。
マッピング・ルールにより、ソース・ディレクトリと宛先ディレクトリが同期化されるときに、データを変換する方法が決定されます。次の変更を行う必要がある場合は、サンプル・プロファイルにあるデフォルトのマッピング・ルールをカスタマイズします。
宛先ディレクトリで変換の結果得られたデータがそのディレクトリのスキーマに一致すれば、どのようなマッピングでも実行できます。
Active DirectoryのDITをOracle Internet DirectoryのDITにマップする方法を変更できます。
Distinguished Name Rules %USERBASE INSOURCE%:%USERBASE ATDEST%:
USERBASE
は、Microsoft Active Directoryのユーザーおよびグループのマップ元のコンテナを指します。通常、これは、Microsoft Active Directoryドメインのルートの下にあるusers
コンテナです。
1対1マッピングを行うには、Microsoft Active Directoryの識別名がOracle Internet Directoryの識別名と一致する必要があります。
この例では、Microsoft Active Directoryの識別名がOracle Internet Directoryの識別名に一致します。具体的には、次の条件を満たしている必要があります。
us.mycompany.com
ドメインにあり、したがって、Microsoft Active Directoryドメインのルートはus.mycompany.com
です。ドメインの下にあるuserコンテナのDN値は、cn=users,dc=us,dc=mycompany,dc=com
になります。
dc=us,dc=mycompany,dc=com
です。このデフォルトのレルムには、識別名値がcn=users,dc=us,dc=mycompany,dc=com
のusers
コンテナが自動的に含まれます。
Microsoft Active Directoryの識別名がOracle Internet Directoryの識別名と一致するため、ディレクトリ間の1対1識別名マッピングが行われます。
dc=us,dc=mycompany,dc=com
の下のcn=users
コンテナのみを同期化する場合、ドメイン・マッピング・ルールは次のとおりです。
Distinguished Name Rules cn=users,dc=us,dc=mycompany,dc=com:cn=users,dc=us,dc=mycompany,dc=com
このルールでは、cn=users,dc=us,dc=mycompany,dc=com
の下のすべてのエントリが同期化されます。ただし、このコンテナの下で同期化されるオブジェクトのタイプは、識別名マッピング・ルールに従う属性レベルのマッピング・ルールによって決まります。
cn=users,dc=us,dc=mycompany,dc=com
の下のエントリcn=groups,dc=us,dc=mycompany,dc=com
を同期化する場合、ドメイン・マッピング・ルールは次のとおりです。
cn=groups,dc=us,dc=mycompany,dc=com: cn=users,dc=us,dc=mycompany,dc=com
属性レベル・マッピングは、次のものを指定します。
次の属性レベル・マッピングは、すべてのオブジェクトに対して必須です。
ObjectGUID: : : :orclObjectGUID: ObjectSID: : : :orclObjectSID:例18-3 Userオブジェクトの属性レベル・マッピング
SAMAccountName:1: :user:orclADSAMAccountName: :orclADUser userPrincipalName: : :user:orclADUserPrincipalName: :orclADUser:userPrincipalName例18-4 Groupオブジェクトの属性レベル・マッピング
SAMAccountName:1: :user:orclADSAMAccountName: :orclADGroup
ここで、Microsoft Active DirectoryのSAMAccountName
およびuserPrincipalName
は、それぞれOracle Internet DirectoryのorclADSAMAccountName
およびorclADUserPrincipalName
にマップされます。
同期化する別の属性を追加するには、前述したとおり、別のルールを追加する必要があります。同様に、属性を同期化する必要がなくなった場合は、対応するルールを削除またはコメント化する必要があります。
関連資料
|
マッピング・ルールをカスタマイズする手順は、次のとおりです。
map.master
の拡張子が付いています。マッピング・ルールの編集の方法は、「マッピング・ルールの構成」を参照してください。
$ORACLE_HOME/bin/dipassistant modifyprofile -profile profile_name -host oid_host -port oid_port -dn DN -passwd password odip.profile.mapfile=path_name
たとえば、次のようになります。
$ORACLE_HOME/bin/dipassistant modifyprofile -profile my_profile -host my_host -port 3060 -dn cn=orcladmin -passwd welcome1 odip.profile.mapfile=my_profile.map
次の場合、LDAPスキーマをカスタマイズする必要があります。
LDAPスキーマをカスタマイズするには、次のことを行う必要があります。
デフォルトで、Active Directoryコネクタにより、同期用に構成されたコンテナ内のすべてのオブジェクトに対する変更が取得されます。特定のタイプの変更のみ(ユーザーやグループに対する変更のみなど)を取得する場合は、LDAP検索フィルタを構成する必要があります。このフィルタにより、Active DirectoryコネクタのActive Directoryに対する問合せの際に、不要な変更が排除されます。フィルタは、同期プロファイルのsearchfilter
属性に格納されます。
サンプル・プロファイルのactiveChgImp
とactiveImport
では、グループとユーザーのみがMicrosoft Active Directoryから取得されます。コンピュータは取得されません。searchfilter
属性の値は、searchfilter=(|(objectclass=group)(&(objectclass=user)
のように設定されます。
(!(objectclass=computer)))
searchfilter
属性は、Oracle Directory Integration and Provisioning Server管理ツールかDirectory Integration and Provisioningアシスタントのいずれかを使用して更新できます。
Directory Integration and Provisioningアシスタントを使用して検索フィルタをカスタマイズする手順は、次のとおりです。
orclODIPConDirMatchingFilter
)属性をカスタマイズするために、次のコマンドを入力します。
$ORACLE_HOME/bin/dipassistant modifyprofile -D bindDn -w password -profile profName odip.profile.condirfilter=searchfilter=(|(objectclass=group) (objectclass=organizationalunit)(&(objectclass=user)(!(objectclass=computer))))
orclODIPOIDMatchingFilter
)属性をカスタマイズするために、次のコマンドを入力します。
$ORACLE_HOME/bin/dipassistant modifyprofile -D bindDn -w password -profile profName odip.profile.oidfilter=orclObjectGUID
Oracle Directory Integration and Provisioning Server管理ツールを使用して検索フィルタをカスタマイズする手順は、次のとおりです。
$ORACLE_HOME/bin/dipassistant -gui
orclODIPConDirMatchingFilter
)フィールドおよび「OID一致フィルタ」(orclODIPOIDMatchingFilter
)フィールドにsearchfilter
属性の適切な値を入力します。searchfilter
属性を指定する方法は、「LDAP検索による変更のフィルタ処理」の項を参照してください。
Active Directoryでの削除は、Active Directoryで削除を問い合せることで、Oracle Internet Directoryと同期化できます。この方法は、DirSync方式またはUSN-Changed方式のいずれを使用しているかによって決まります。
DirSync方式の場合、Oracle Directory Integration and Provisioning ServerでActive Directoryへのアクセスに使用されるActive Directoryユーザー・アカウントは、Domain Administratorsグループに属するドメイン管理者権限を持つか、「ディレクトリの変更の複製」権限を明示的に付与される必要があります。
USN-Changed方式の場合、Oracle Directory Integration and Provisioning ServerでActive Directoryへのアクセスに使用されるActive Directoryユーザー・アカウントには、指定したドメインのcn=Deleted Objects
コンテナに対する「内容の一覧表示」権限と「プロパティの読み取り」権限が必要です。これらの権限を設定するには、Active Directory Application Mode(ADAM)の最近のバージョンで使用可能なdsacls.exeコマンドを使用する必要があります。ADAMの最新バージョンは、http://www.microsoft.com/downloads/でダウンロードできます。
Active Directoryでの削除をOracle Internet Directoryと同期化するためにDirSync方式またはUSN-Changed方式のどちらを使用する場合であっても、ActiveImport
プロファイル(DirSync方式用)またはActiveChgImp
プロファイル(USN-Changedプロファイル用)の一致フィルタを作成する場合は、必ず次のActive Directoryキー属性のみを含めます。
これらのキー属性以外の属性を一致フィルタに指定すると、Active Directoryの削除はOracle Internet Directoryに伝播されません。
Oracle Internet DirectoryのパスワードをActive Directoryと同期化できます。Microsoft Active Directoryに格納されているパスワードを、Oracle Internet Directoryで使用可能にすることもできます。パスワードの同期は、ディレクトリがSSLモード2、すなわちサーバー専用認証で実行されている場合にのみ可能です。
この方向でActive Directoryコネクタによるパスワードの同期化を可能にするには、次の処理を行います。
Userpassword: : :inetorgperson:unicodepwd: :user
1
の値を、cn=PwdPolicyEntry,cn=common,cn=products,cn=oraclecontext,
DN_of_realm
エントリのorclPwdPolicyEnable
属性とorclpwdEncryptionEnable
属性に指定します。そのためには、Oracle Directory Managerまたはldapmodifyのいずれかを使用します。
関連資料
Microsoft Active Directoryのパスワードは、LDAPクライアントによってアクセスできないため、Oracle Internet DirectoryのパスワードをOracle Application Server内のMicrosoft Active Directoryと同期化することはできません。ただし、Oracle Internet Directoryで使用可能なパスワードが配置に必要な場合は、次の2つの方法をお薦めします。
この項では、インポート・プロファイル、エクスポート・プロファイルおよびその他のOracleコンポーネント用に、ACLをカスタマイズする方法を説明します。内容は次のとおりです。
インポート・プロファイルは、Oracle Directory Integration and Provisioning ServerでOracle Internet Directoryへのアクセスに使用される識別情報です。ACLにより、ユーザー・コンテナおよびグループ・コンテナ、またはアクセスするエントリのあるサブツリーで、インポート・プロファイルによるオブジェクトの追加、変更および削除ができるようにする必要があります。デフォルトで、インポート・プロファイルは、デフォルト・レルムのレルム管理者グループ(cn=RealmAdministrators, cn=groups,cn=OracleContext
,realm_DN
)の一部です。このグループは、デフォルト・レルムの識別名の下にある任意のエントリで、あらゆる操作を実行する権限を付与します。
Oracle Internet Directory 10gリリース2(10.1.2)でインストールされるデフォルト・レルムとのインポート同期のために、ACLをカスタマイズする必要はありません。それより前のリリースのOracle Internet Directoryからアップグレードする場合、あるいはデフォルト以外のOracle Internet Directoryレルムと同期が行われる場合、適切なサブツリーまたはコンテナで必要な権限が、同期を処理するインポート・プロファイルに付与されていることを確認します。
LDIF形式のACLテンプレートは、$ORACLE_HOME/ldap/schema/oid/ oidRealmAdminACL.sbsファイルを参照してください。デフォルト・レルムでACLを変更しなかった場合、このテンプレート・ファイルは、置換変数をインスタンス化し、%s_SubscriberDN%
をOracle Internet Directoryのデフォルト・レルム識別名と、%s_OracleContextDN%
をcn=OracleContext
,default_realm_DN
とそれぞれ置換すると、直接適用できます。たとえば、realmacl.ldif
がインスタンス化されたファイルの場合、次のldapmodifyコマンドを使用して、このファイルをアップロードできます。
$ORACLE_HOME/bin/ldapmodify -h <OID host> -p <OID port> -D "DN of privileged OID user" -w "password of privileged OID user" -v -f realmacl.ldif
Oracle Directory Integration and Provisioning ServerでActive Directoryにアクセスできるようにするには、Active Directoryで識別情報を作成する必要があります。この識別情報は、各エクスポート・プロファイルで構成されます。
デフォルトのACLにより、ユーザーおよびグループの作成、変更、削除ができますが、それはデフォルト・レルムの下のユーザー・コンテナとグループ・コンテナに限られます。その他のコンテナのオブジェクトを同期化するには、ACLをカスタマイズする必要があります。
Oracleコンポーネント用にACLをカスタマイズするために使用できるサンプルACLファイルがあります。これらのサンプル・ファイルは、$ORACLE_HOME/ldap/schema/oid/ディレクトリにインストールされています。サンプル・プロファイルには、次のようなものがあります。
oidUserAdminACL.sbs
: Oracleコンポーネントのサブツリーに対して、ユーザーの管理やアクセスに必要な権限を付与します。
oidGroupAdminACL.sbs
: Oracleコンポーネントのサブツリーに対して、グループの管理やアクセスに必要な権限を付与します。
oidUserAndGroupAdminACL.sbs
: Oracleコンポーネントに、サブツリー内のユーザーとグループの管理およびアクセス権限を付与します。
コンテナごとに必要な権限を付与するように、ACLポリシーをカスタマイズできます。
Active Directoryコネクタでは、SSLを使用して同期プロセスを保護します。SSLモードで同期化するかどうかは、配置要件によって決まります。たとえば、SSLは、パブリック・データの同期化には必要ありませんが、パスワードなどの機密情報の同期化には必要です。Oracle Internet DirectoryとMicrosoft Active Directory間で、パスワードの変更を同期化するには、サーバー専用認証のSSLモード、すなわちSSLモード2を使用する必要があります。
チャネルを保護するには、次のことが必要です。
Oracle Internet DirectoryとOracle Directory Integration and Provisioning Server間のSSLまたはOracle Directory Integration and Provisioning ServerとMicrosoft Active Directory間のSSLを有効にできますが、機密情報を同期化する前に、完全にチャネルを保護することをお薦めします。パスワードの同期化などの場合は、SSLを介してのみ同期化を行うことができます。
SSLを構成するには、次のことを実行する必要があります。
sslauth
パラメータを、認証なしの場合は1
、サーバー専用認証の場合は2
に指定します。
この項では、Microsoft Active DirectoryからOracle Internet Directoryへインポートし、Oracle Internet DirectoryからMicrosoft Active Directoryへエクスポートする方法を説明します。
通常、インポートを行うには、DirSynch方式またはUSN-Changed方式のいずれを使用しているかに関係なく、Microsoft Active Directoryドメインごとに1つインポート・プロファイルを構成する必要があります。ただし、USN-Changed方式を使用している場合は、グローバル カタログを使用すれば、Microsoft Active Directoryフォレスト全体からインポートできます。この場合、構成が必要なインポート・プロファイルは1つのみですが、次のことを考慮してください。
複数ドメインMicrosoft Active Directory環境と統合するために、Oracle Directory Integration and Provisioning Serverでは、各Active Directoryドメインから構成情報を取得します。Microsoft Active Directoryドメインの数と同数のエクスポート・プロファイルを構成する必要があります。
Oracle Directory Integration and Provisioning Serverには、Directory Integration and ProvisioningアシスタントまたはOracle Directory Integration and Provisioning Server管理ツールのいずれかで実行できるExpress構成オプションがあります。Express構成では、事前定義の仮定を使用して、インポート用とエクスポート用の2つの同期プロファイルが作成されます。プロファイルを有効にすると、ただちにMicrosoft Active Directoryのcn=users,default_naming_context
とOracle Internet Directoryのcn=users,
default_realm
間で、ユーザーおよびグループの同期化を開始できます。
Express構成によって作成されたActive Directoryコネクタのインポートおよびエクスポート同期プロファイルは、Oracle Internet DirectoryとMicrosoft Active Directoryの統合を配置する際に使用する開始点としてのみ利用されます。デフォルトの同期プロファイルは事前定義の仮定を使用して作成されるため、自分の環境用にそれらをさらにカスタマイズする必要があります。
自分の環境に合ったプロファイルの構成を正常に完了するには、この項で示す手順を必ず次の順序で実行してください。
Oracle Internet DirectoryとMicrosoft Active Directory間の同期を準備する手順は、次のとおりです。
ldapsearch
ユーティリティを次のように実行します。
$ORACLE_HOME/bin/ldapsearch -h <AD host> -p <AD port> -b "DN of subtree" -s sub -D "DN of privileged AD user" -w "password for privileged AD user" "objectclass=*"
ldapsearch
ユーティリティから返される結果には、同期化されるすべての属性および値を含む、対象の全オブジェクトが含まれている必要があります。
Active Directoryにおけるユーザーの削除をOracle Internet Directoryと同期化するには、「Microsoft Active Directoryからの削除の同期化」の指示に従い、ユーザー・アカウントに必要な権限を付与する必要があります。
この項では、Express構成による同期プロファイルの作成およびカスタマイズの方法を説明します。内容は次のとおりです。
構成を簡単にするために、Express構成オプションでは次のことを仮定します。
Active Directoryのユーザーおよびグループのエントリは、cn=users,
default_naming_context
コンテナにあります。
cn=users,
default_realm_DN
コンテナにあります。
cn=groups,
default_realm_DN
コンテナにあります。
ActiveImport
、ActiveExport
およびActiveChgImp
)は、Oracleディレクトリ・サーバーにあります。
activechg.map.master
およびactiveexp.map.master
です。
cn=dipadmingrp,cn=odi,cn=oracle internet directory
)には、必要な権限があります。
次の手順に従い、Express構成を実行し、Microsoft Active Directoryのcn=users,default_naming_context
とOracle Internet Directoryのcn=users,
default_realm
との間で、ユーザーとグループが同期していることを確認します。
modifyprofile
オプションと使用することで、インポートおよびエクスポートの同期プロファイルを有効にします。たとえば、次のDirectory Integration and Provisioningアシスタントコマンドにより、myprofile
というインポート・プロファイルが有効になります。
$ORACLE_HOME/bin/dipassistant modifyprofile -host myhost -port 3060
-passwd my_password -file import.profile -dn bind_DN
-passwd Password_of_bind_DN -profile myprofile odip.profile.status
=ENABLE
$ORACLE_HOME/bin/ldapsearch -h <OID host> -p <OID port> -D "DN of privileged OID user" -w "password of privileged OID user" -b "orclodipagentname=activechgimp,cn=subscriber profile,cn=changelog subscriber,cn=oracle internet directory" -s base "objectclass=*" orclodipsynchronizationstatus orclodiplastsuccessfulexecutiontime
注意 デフォルトのスケジューリング間隔は60秒(1分)です。Directory Integration and ProvisioningアシスタントまたはOracle Directory Integration and Provisioning Server管理ツールを使用すれば、デフォルトのスケジューリング間隔を変更できます。詳細は、第3章「Oracle Directory Integration and Provisioning 管理ツール」を参照してください。 |
同期が正常に開始された場合は、次のようになります。
次に、正常な同期を示す結果の例を示します。
Synchronization successful November 04, 2003 15:56:03
cn=users,
default_naming_context
とOracle Internet Directoryのcn=users,
default_realm
間で、ユーザーおよびグループが同期していることを確認します。
Express構成は、この後の項で説明するように、Oracle Directory Integration and Provisioning Server管理またはDirectory Integration and Provisioningアシスタントを使用して実行できます。
Active DirectoryコネクタのExpress構成を実行する手順は、次のとおりです。
$ORACLE_HOME/bin/dipassistant -gui
Active DirectoryコネクタのExpress構成を実行する手順は、次のとおりです。
$ORACLE_HOME/bin/dipassistant expressconfig [-h oracle_internet_directory_host -p oracle_internet_directory_port -configset configuration_set_entry]
この例の引数は、表18-4のとおりです。
cn=orcladmin
)か、またはDirectory Integration and Provisioning管理者グループのメンバーである任意のユーザー(cn=dipadmingrp,cn=odi,cn=oracle internet directory
)を指定する必要があります。
hostname
@us.oracle.com
の場合は、administrator@MyCompany.com
)を持つ必要があります。
abc
という名前を指定した場合、ツールによりabcImport
とabcExport
という2つのプロファイルが作成されます。
cn=users
コンテナでの適切なACL。ユーザーおよびグループが、cn=users
コンテナにあるOracleコンポーネントによって管理されるように選択できます。このようにACLをカスタマイズすると、元のACLは
この項では、同期プロファイルの構成時に考慮が必要になる可能性のある、その他の問題について説明します。内容は次のとおりです。
同期結果の検査中に、Oracle Directory Integration and Provisioning Serverにより、同じ変更の処理が繰り返し試みられていることに気付く場合があります。これは、その変更の同期中にエラーが発生していることを示しています。デフォルトでは、エラーが解決されるまで、Oracle Directory Integration and Provisioning Serverによる変更の処理は続きます。ただし、エラーの原因となる変更をスキップするように、Oracle Directory Integration and Provisioning Serverを構成できます。詳細は、「SkipErrorToSyncNextChangeパラメータ」を参照してください。
Active Directory内の削除をOracle Internet Directoryと同期化するには、Oracle Directory Integration and Provisioning ServerでActive Directoryとの同期を実行するために使用されるActive Directoryユーザー・アカウントに、必要な権限を付与する必要があります。詳細は、「Microsoft Active Directoryからの削除の同期化」を参照してください。
Express構成で作成されたインポート同期プロファイルでは、変更追跡にUSN-Changed方式を使用します。インポート同期プロファイルでDirSync変更追跡方式が使用されるように変更する手順は、次のとおりです。
$ORACLE_HOME/bin/dipassistant modifyprofile -profile profile_name odip.profile.configfile=$ORACLE_HOME/ldap/odi/conf/activeimp.cfg.master
$ORACLE_HOME/bin/dipassistant modifyprofile -profile profile_name -updcln
最終変更番号を更新するには、インポート同期プロファイルのodip.profile.condirurl
プロパティに、非SSL接続の値が指定されていることが必要です。インポート同期プロファイルがすでにSSL用に構成されている場合は、最終変更番号の更新を行う前に、odip.profile.condirurl
プロパティの値を、一時的に非SSLポートの値に変更する必要があります。
Oracle Internet DirectoryとMicrosoft Active Directory間の同期を確立すると、同期プロファイルの属性マッピング・ルールを、配置の必要を満たすようにカスタマイズできます。同期プロファイルの属性マッピング・ルールをカスタマイズする手順は、次のとおりです。
この項では、Express構成で作成されたインポートおよびエクスポートの同期プロファイルに対する、最終的な構成要件について説明します。内容は次のとおりです。
Oracle Internet DirectoryとMicrosoft Active Directory間の同期用属性マッピング・ルールのカスタマイズが終了すると、次に同期プロファイル用の識別名マッピング・ルールを、自分の配置の要件を満たすようにカスタマイズする必要があります。
同期プロファイルの識別名マッピング・ルールをカスタマイズする手順は、次のとおりです。
複数のActive Directoryドメインと同期化する場合は、通常、ドメインごとに別々のインポートおよびエクスポート同期プロファイルが必要です。ただし、各ドメインのプロファイルは非常に似たものにします。唯一の例外は、グローバル カタログをインポート同期プロファイルとともに使用する場合です。この場合、Active Directoryフォレスト用の
1つのインポート同期プロファイルを作成するのみです。詳細は、「Microsoft Active DirectoryからOracle Internet Directoryへのインポートに必要な構成」を参照してください。
複数ドメインに個別のインポートおよびエクスポート同期プロファイルを作成する最善の方法は、次のとおりです。
createprofilelike
コマンドを使用して、プロファイルを次のように複製します。
$ORACLE_HOME/bin/dipassistant createprofilelike [-h hostName] [-p port] [-D bindDn] [-w password] -profile origProfName -newprofile newProfName
modifyprofile
コマンドを使用して、その他のActive Directoryドメインごとに、プロファイルを次のようにカスタマイズします。
$ORACLE_HOME/bin/dipassistant modifyprofile [-h hostName] [-p port] [-D bindDn] [-w password] {-f fileName | -profile profName [-updlcn] } [propName1=value] [propName2=value]...
$ORACLE_HOME/bin/dipassistant modifyprofile -profile profile_name -updcln
最終変更番号を更新するには、インポート同期プロファイルのodip.profile.condirurl
プロパティに、非SSL接続の値が指定されていることが必要です。インポート同期プロファイルがすでにSSL用に構成されている場合は、最終変更番号の更新を行う前に、odip.profile.condirurl
プロパティの値を、一時的に非SSLポートの値に変更する必要があります。
属性マッピング、識別名マッピングのカスタマイズや、複数のActive Directoryレルム用の構成など、インポートおよびエクスポート同期プロファイルの構成が終了すると、Directory Integration and Provisioningアシスタントのbootstrap
オプションを使用して、Active DirectoryドメインからOracle Internet Directoryにデータを移行できます。詳細は、「ディレクトリ間でのデータのブートストラップ」を参照してください。
Microsoft Active Directoryを、デフォルト・レルムにないOracle Internet Directoryサブツリーと同期化する必要がある場合、必ずインポートおよびエクスポート同期プロファイルに必要な権限を付与してください。インポート同期プロファイルには、エントリの作成、変更、削除を行う権限が必要であり、エクスポート同期プロファイルには、Oracle Internet Directoryに対する読取り権限が必要で、cn=changelog
が含まれている必要があります。
インポートおよびエクスポート同期プロファイルのカスタマイズにおける最後の手順は、SSLを有効にすることです。デフォルトでは、Express構成により作成されたインポートおよびエクスポート同期プロファイルに対して、SSLは使用できません。この項では、SSLをActive Directory同期に対して有効にする方法を説明します。
modifyprofile
コマンドを次のように使用して、Active Directory接続情報(ホスト名やプロファイルなど)を変更できます。
$ORACLE_HOME/bin/dipassistant modifyprofile <-h hostName> <-p port> -profile profilename odip.profile.condirurl= ad_host_name:636:1
その他の構成要件については、次の項目を参照してください。
この項では、Active Directory外部認証プラグインを削除、無効化および再有効化する方法について説明します。内容は次のとおりです。
プラグインをインストールする手順は、次のとおりです。
cd $ORACLE_HOME/ldap/admin sh oidspadi.sh
Windowsオペレーティング・システムを使用している場合は、UNIXエミュレーション・ユーティリティのインストール後、次のとおり入力してoidspadi.shを実行します。
sh oidspadi.sh
orcladmin
)を入力します。この値は必須です。
cn=OracleUserSecurityAdmins,cn=Groups,cn=OracleContext
グループに属しているとします。プラグイン・リクエスト・グループ識別名にこの値を入力すると、Oracle Application Server Single Sign-On管理者からのリクエストのみが外部認証プラグインをトリガーできます。複数の識別名値を入力できます。セミコロン(;)を使用して区切ります。この値は必須ではありませんが、セキュリティのため、指定することをお薦めします。
(&(objectclass=inetorgperson)(cn=orcladmin))
を指定すると、手順9で指定したユーザー・コンテナの下にあるエントリでcn=orcladmin
およびobjectclass=inetorgperson
属性値を持つものはMicrosoft Active Directoryに対して認証されません。
Oracle Internet Directoryの外部認証用に複数のActive Directoryドメインを構成するには、グローバル・カタログの単一インスタンスを使用する必要があります。ただし、配置環境で複数のActive Directoryドメインにグローバル・カタログの単一インスタンスを構成できない場合は、次の手順に従って、ドメインごとに複数のActive Directory外部認証プラグインをインストールします。
cn=adwhencompare2,cn=plugin,cn=subconfigsubentry
およびcn=adwhenbind2,cn=plugin,cn=subconfigsubentry
という2つの構成エントリが作成されます。ldapmodify
を使用して、これらのエントリを無効化するか削除します。
デフォルトでは、Active Directory外部認証プラグインは有効ではありません。ただし、それらを有効にする必要がある場合があります。
Active Directory外部認証プラグインを有効にする手順は、次のとおりです。
dn: cn=adwhencompare,cn=plugin,cn=subconfigsubentry changetype: modify replace: orclpluginenable orclpluginenable: 1 dn: cn=adwhenbind,cn=plugin,cn=subconfigsubentry changetype: modify replace: orclpluginenable orclpluginenable: 1
ldapmodify
コマンドにより、LDIFファイルを次のようにロードします。
ldapmodify -h host -p port -D cn=orcladmin -w password -f fileName
Active Directory外部認証プラグインをテストする手順は、次のとおりです。
http://
host of OracleAS Single Sign-On:port number of OracleAS Single Sign-On
/pls/orasso
にアクセスします。
user identifier@
domain
)を使用してログインします。
この項では、Windowsネイティブ認証を構成するためのシステム要件と作業について説明します。内容は次のとおりです。
Windowsネイティブ認証は、イントラネットのWebアプリケーションを対象にしています。イントラネットでの配置に必要な要素は、次のとおりです。
Windowsネイティブ認証を設定するには、次の作業を順序どおりに実行して、Oracle Internet Directory、OracleAS Single Sign-On Serverおよびユーザーのブラウザを構成します。
Microsoft Active Directoryが正しく構成され、稼働していることを確認するには、Windows 2000/2003サーバーのドキュメントを参照してください。
Oracle Internet DirectoryとOracleAS Single Sign-Onをインストールします。自分のインストールに適した配置構成を決めるには、『Oracle Application Server Single Sign-On管理者ガイド』の拡張構成に関する章を参照してください。インストールの手順は、使用しているオペレーティング・システムのインストール・マニュアルを参照してください。
Oracle Internet DirectoryとMicrosoft Active Directoryのユーザー・エントリを同期化する必要があります。
この作業は、ユーザーがOracle Application Server Single Sign-OnアプリケーションにInternet Explorer 5.0以上とは別のブラウザでアクセスできるようにするために必要です。
Single Sign-On Serverを構成するには、次の項目で説明されている作業を完了します。
Active DirectoryでOracleAS Single Sign-On Serverのサービス・アカウントを作成し、次にそのサーバー用のkeytabファイルを作成して、サービス・プリンシパル(サーバー)をアカウント名にマップします。keytabファイルには、サーバーの秘密鍵が格納されます。このファイルにより、サーバーではKDCに対する認証が可能になります。サービス・プリンシパルはエンティティであり、この場合は、KDCによりセッション・チケットが付与されるシングル・サインオン・サーバーです。
/etc/services
から選択されます。Windowsシステムでは、サービス・ファイルは、system_drive
:¥WINNT¥system32¥drivers¥etc
にあります。サービス名はKerberosです。通常、ポートはWindows 2000 Serverで88/udp
および88/tcp
に設定されます。servicesファイルに正しく追加すると、これらのポート番号のエントリは次のようになります。
kerberos5 88/udp kdc # Kerberos key server kerberos5 88/tcp kdc # Kerberos key server
130.111.111.111 sso.MyCompany.com sso loghost
OracleAS Single Sign-Onホストの名前を、ドメイン名を省略して入力します。たとえば、ホスト名がsso.MyCompany.com
の場合は、sso
と入力します。これは、Microsoft Active Directoryのアカウント名です。
アカウントに割り当てたパスワードを書き留めておいてください。このパスワードは後で必要になります。「ユーザーは次回ログオン時にパスワードの変更が必要」を選択しないでください。
C:> Ktpass -princ HTTP/sso.MyCompany.com@MyCompany.COM -pass password -mapuser
sso
-out sso.keytab
-princ
引数はサービス・プリンシパルです。HTTP/
single_sign-on_host_name
@
KERBEROS_REALM_NAME
の書式を使用して、この引数の値を指定します。HTTP
とKerberosレルムは大文字で指定します。
single_sign-on_host_name
は、OracleAS Single Sign-Onホスト自体でも、複数のOracleAS Single Sign-On中間層が配置されているロード・バランサの名前でもかまいません。MyCompany.COM
は、Microsoft Active Directory内の架空のKerberosレルムです。ユーザー・コンテナは、このレルム内にあります。-pass
引数は、手順4で取得したアカウント・パスワードです。-mapuser
引数は、OracleAS Single Sign-On中間層のアカウント名です。このアカウントは手順4で作成したものです。-out
引数は、サービス鍵を格納する出力ファイルです。
例の値をそれぞれのインストール環境に適した値に置き換えてください。置き換える値は、例の中では太字で示されています。
sso.keytab
)をOracleAS Single Sign-On中間層にコピーまたはFTP転送し、$ORACLE_HOME/j2ee/OC4J_SECURITY/configに配置します。FTPを使用する場合、ファイルをバイナリ・モードで送信してください。 OracleAS Single Sign-On中間層のWebサーバーの一意識別子(UID)にkeytabファイルの読取り権限を付与してください。
この時点でossoca.jar
ツールを実行すると、次のようになります。
ossoca.jar
ツールをOracleAS Single Sign-On中間層で実行する手順は、次のとおりです。
$
ORACLE_HOME
/sso/conf/policy.properties
$
ORACLE_HOME
/j2ee/OC4J_SECURITY/config/jazn.xml
$
ORACLE_HOME
/opmn/conf/opmn.xml
$
ORACLE_HOME
/j2ee/OC4J_SECURITY/config/jazn-data.xml
$
ORACLE_HOME
/j2ee/OC4J_SECURITY/applications/sso/web/WEB-INF/web.xml
$
ORACLE_HOME
/j2ee/OC4J_SECURITY/applications-deployments/sso/orion-application.xml
ossoca.jar
ツールを次のように実行します。
$
ORACLE_HOME
/sso/bin/ssoca wna -mode sso -oh $ORACLE_HOME -ad_realm AD_REALM -kdc_host_port kerberos_server_host:port -verbose
%ORACLE_HOME%¥jdk¥bin¥java -jar %ORACLE_HOME%¥sso¥lib¥ossoca.jar wna -mode sso -oh %ORACLE_HOME% -ad_realm AD_REALM -kdc_host_port kerberos_server_host:port -verbose
AD_REALM
は、Microsoft Active DirectoryのKerberosレルムです。これはユーザー・コンテナです。構文からわかるように、この値は大文字で入力します。KDCのデフォルト・ポート番号は通常88です。これを確認するには、「OracleAS Single Sign-On ServerのKerberosサービス・アカウントの設定」の手順2を参照してください。
$
ORACLE_HOME
/opmn/bin/opmnctl startall
Windowsネイティブ認証を使用できるようにInternet Explorerを構成します。構成方法は、使用するバージョンによって異なります。
Internet Explorer 5.0以上を構成するには、次の手順を実行します。
http://sso.mydomain.com
MyCompany.com
)を入力します。
Internet Explorer 6.0を使用している場合は、「Internet Explorer 5.0以上」の手順1〜12の実行後に、次の手順を実行します。
Windowsネイティブ認証の構成後、Oracle Internet Directory管理者(orcladmin
)と、アカウントがOracle Internet Directoryにあるその他のWindowsローカル・ユーザーのアカウントを再構成する必要があります。この作業を省略すると、これらのユーザーがログインできなくなります。
Oracle Internet DirectoryのOracle Directory Managerを使用して、次の手順を実行します。
orclADUser
クラスを追加します。
orclSAMAccountName
属性にローカル・ユーザーのログインIDを追加します。たとえば、orcladminアカウントのログインIDはorcladmin
です。
exceptionEntry
プロパティにローカル・ユーザーを追加します。
この項では、次のタイプの配置において、複数のMicrosoft Active DirectoryドメインまたはフォレストでWindowsネイティブ認証を構成する方法について説明します。
複数のMicrosoft Active DirectoryドメインまたはフォレストでWindowsネイティブ認証を構成するには、次の作業をリスト順に実行します。
複数のMicrosoft Active Directoryドメイン間の信頼を検証する方法の詳細は、使用しているMicrosoft Active Directoryのドキュメントを参照してください。
Microsoft Active Directoryが正しく構成され、稼働していることを確認するには、Windows 2000/2003サーバーのドキュメントを参照してください。
Oracle Internet DirectoryとOracleAS Single Sign-Onをインストールします。自分のインストールに適した配置構成を決めるには、『Oracle Application Server Single Sign-On管理者ガイド』の拡張構成に関する章を参照してください。インストールの手順は、使用しているオペレーティング・システムのインストール・マニュアルを参照してください。
「同期プロファイルの構成」の指示に従い、Microsoft Active Directoryごとに個別の同期プロファイルを作成します。
この作業は、ユーザーがOracle Application Server Single Sign-OnアプリケーションにInternet Explorer 5.0以上とは別のブラウザでアクセスできるようにするために必要です。
『Oracle Application Server Single Sign-On管理者ガイド』の拡張配置オプションに関する章の指示に従い、Oracle Application Server Single Sign-On Serverをロード・バランサの背後で実行するように、またはリバース・プロキシを通じて実行するように構成します。
「作業5: OracleAS Single Sign-On Serverの構成」の指示に従い、各Oracle Application Server Single Sign-On Serverを構成します。各Oracle Application Server Single Sign-On Serverの物理インスタンスを構成する際は、必ず同一のActive Directoryレルムおよび対応するKey Distribution Center(KDC)を使用してください。また、Oracle Application Server Single Sign-Onの論理ホスト名として、ロード・バランサまたはリバース・プロキシの名前を使用してください。
「作業6: Windowsネイティブ認証用のInternet Explorerの構成」の指示に従い、Oracle Application Server Single Sign-On Serverを構成します。
SPNEGO-Kerberos認証は、Internet Explorer 5.0以上のブラウザでのみサポートされています。OracleAS Single Sign-Onでは、Netscape Communicatorなどのサポート外のブラウザでフォールバック認証を利用できます。ブラウザのタイプと構成内容に応じて、OracleAS Single Sign-Onログイン・フォームまたはHTTP Basic認証のダイアログ・ボックスが表示されます。いずれの場合でも、ユーザーはユーザー名とパスワードを入力する必要があります。ユーザー名はKerberosレルム名とユーザーIDを連結したものです。デフォルトでは、ユーザー名を次の例のように入力します。
domain_name¥user_id
次の例では、「OracleAS Single Sign-On ServerのKerberosサービス・アカウントの設定」で示した例に基づいて、ユーザー名の入力方法を示しています。
MyCompany.COM¥jdoe
ユーザー名とパスワードは、大文字と小文字が区別されます。また、Microsoft Active Directoryのパスワード・ポリシーは適用されません。Oracle Directory Integration and Provisioning Serverを使用することで、別の同期プロファイルを構成できます。その場合、前述のログイン書式は適用されません。
フォールバック認証は、Oracle Internet Directoryの外部認証プラグインによってMicrosoft Active Directoryに対して実行されます。
使用しているInternet Explorerのバージョンに応じて、ログインの方法が異なる場合があります。表18-5は、自動サインオンとフォールバック認証が起動する状況を示しています。
この項では、Oracle Internet Directory外部セキュリティ・プリンシパル参照をActive Directoryと同期化する方法を説明します。
Microsoft Active Directoryでは、グループ・メンバーの情報が信頼関係のドメインに外部セキュリティ・プリンシパル参照として格納されますが、Oracle Internet Directoryでは、これらのメンバーの識別名がOracle Internet Directoryでの表示どおりに格納されます。このため、エントリとグループのメンバーとしてのその値が一致しなくなります。Oracle Internet Directoryでは、ユーザーとグループとの関係を直接確立することはできません。
ユーザーとグループとの関係を確立するには、外部セキュリティ・プリンシパルを参照するメンバー識別名を、グループの同期中にエントリの識別名に置き換える必要があります。これは外部キー参照の解決と呼ばれます。
この項の例は、外部キー参照がどのように解決されるかを説明しています。
A、B、Cの3つのドメインがあるとします。
この例では、ドメインAからドメインB、ドメインAからドメインC、ドメインBからドメインCに対して一方向の非推移的な信頼があります。
この項では、外部キー参照を解決する手順を説明します。
外部セキュリティ・プリンシパル参照が設定されている可能性のあるプロファイルごとに、次の手順を実行します。ここで言及するサンプル構成ファイルは、$ORACLE_HOME/ldap/odi/samplesディレクトリにあります。
activeimp.cfg.fsp
ファイルをコピーします。次にactiveimp.cfg.fsp
ファイルの例を示します。
[INTERFACEDETAILS] Package: gsi Reader: ActiveReader [TRUSTEDPROFILES] prof1 : <Name of the profile1> prof2 : <Name of the profile2> [FSPMAXSIZE] val=10000
この例では、DirSync変更追跡方式を使用しているものと仮定しています。変更対的にUSN-Changed方式を使用している場合、ReaderパラメータにActiveChgReader
の値を指定します。
activeimp.cfg.fsp
ファイルの[TRUSTEDPROFILES]
タグの下で、このドメインに外部セキュリティ・プリンシパル参照を持つその他のドメインのプロファイル名を指定します。例18-5を参照すると、ドメインAのエージェント構成情報は、次のようになります。
[INTERFACEDETAILS] Package: gsi Reader: ActiveReader [TRUSTEDPROFILES] prof1: profile_name_for_domain_B prof2: profile_name_for_domain_C
ドメインBのエージェント構成情報は、次のようになります。
[INTERFACEDETAILS] Package: gsi Reader: ActiveReader [TRUSTEDPROFILES] prof1: profile_name_for_domain_C
ドメインCには外部キー参照がないため、ドメインCのエージェント構成情報ファイルには変更がありません。
[FSPMAXSIZE]
タグの下で、外部セキュリティ・プリンシパルのキャッシュ・サイズを指定します。これは、設定できる外部セキュリティ・プリンシパルの平均値でかまいません。activeimp.cfg.fsp
ファイルでは、サンプルの値1000が指定されています。
$ORACLE_HOME/bin/dipassistant modifyprofile -profile profile_name_for_domain_A_or_B -host host_name -port port_name -dn bind_DN -passwd password_of_bind_DN odip.profile.configfile=activeimp.cfg.fsp
これには、次の手順を実行します。
$ORACLE_HOME/ldap/odi/admin/fsptodn host=oid_host port=oid_port dn= OID_privileged_DN (that is, superuser or dipadmin user) pwd=OID_password profile=profile_name_for_domain_A_or_B infile=input_filenameo_of_the_LDIF_dump_from_Active_Directory outfile=output_filename [sslauth=0|1]
デフォルトで、host
はlocal_host
に、port
は389
に、sslauth
は0
に設定されています。
-bootstrap
オプションを使用して、Microsoft Active DirectoryからOracle Internet Directoryにデータをブートストラップします。ブートストラップ後、グループに対する変更は、正しいグループ・メンバーシップの値でOracle Internet Directoryに反映する必要があります。fsptodn
マッピング・ルールにより、同期化の際にこれが可能になります。外部セキュリティ・プリンシパルの解決が必要なすべてのプロファイルで、このマッピング・ルールを変更します。例18-5を参照すると、ドメインAとBについて、マッピング・ルールを変更する必要があります。
識別名マッピングがない場合は、member
属性のマッピング・ルールを次のように変更します。
member: : :group:uniquemember: :groupofUniqueNames: fsptodn(member)
識別名マッピングがある場合は、マッピング・ルールを次のように変更します。
domainrules
は、次のような内容になります。
DOMAINRULES <Src Domain A >:<Dst domain A1 in OID> <Src Domain B >:< Dst domain B1 in OID> <Src Domain C>:<Dst domain C1 in OID>
member
属性のマッピング・ルールを次のように変更します。
member:::group:uniquemember::groupofUniqueNames:dnconvert(fsptodn(member))
この項では、構成直後に行う作業と、継続的な管理作業について説明します。内容は次のとおりです。
構成の完了後、次の作業を行います。
Oracle Directory Integration and Provisioning Server管理ツールを使用して、統合プロファイルを有効にするには、次の手順を実行します。
$ORACLE_HOME/bin/dipassistant -gui
Directory Integration and Provisioningアシスタントのコマンドライン版を使用して、同期プロファイルを有効にするには、次のコマンドを入力します。
$ORACLE_HOME/bin/dipassistant modifyprofile [-h host name] [-p port_number] [-D bind_DN] [-w password] -profile profile_name_in_OID odip.profile.status=ENABLE [-configset configset_number]
管理作業には一般に次のものがあります。
この項の内容は次のとおりです。
関連資料
ブートストラップは、データの移行と呼ばれることがあります。Active Directoryコネクタおよびプラグインの構成完了後、データをブートストラップするには、次の手順を実行します。
bootstrap
オプションを指定したDirectory Integration and Provisioningアシスタントを使用して、ディレクトリ間でデータをブートストラップします。ブートストラップの詳細は、第8章「Oracle Directory Integration and Provisioningにおけるディレクトリのブートストラップ」を参照してください。ブートストラップが完了すると、Directory Integration and Provisioningアシスタントによって同期プロファイルのプロファイル・ステータス属性が適切に更新されます。
lastchangekey
値を初期化します。
$ORACLE_HOME/bin/dipassistant modifyprofile -updlcn
このlastchangekey
属性は、ブートストラップを開始する前に、ソース・ディレクトリの最終変更番号の値に設定する必要があります。
最終変更番号を更新するには、インポート同期プロファイルのodip.profile.condirurl
プロパティに、非SSL接続の値が指定されていることが必要です。インポート同期プロファイルがすでにSSL用に構成されている場合は、最終変更番号の更新を行う前に、odip.profile.condirurl
プロパティの値を、一時的に非SSLポートの値に変更する必要があります。
-l
オプションによって制御されます。デフォルトでは、変更ロギングが有効なことを意味するTRUE
に設定されています。FALSE
に設定されている場合は、OID制御ユーティリティを使用してOracleディレクトリ・サーバーを停止した後、変更ログを有効にしてサーバーを再起動します。
この項では、Active Directory外部認証プラグインを削除、無効化および再有効化する方法について説明します。
Active Directory外部認証プラグインを削除するには、次のコマンドを入力します。
ldapdelete -h host -p port -D cn=orcladmin -w password "cn=adwhencompare,cn=plugin,cn=subconfigsubentry" ldapdelete -h host -p port -D cn=orcladmin -w password "cn=adwhenbind,cn=plugin,cn=subconfigsubentry"
Microsoft Active Directory外部認証プラグインを無効にする手順は、次のとおりです。
dn: cn=adwhencompare,cn=plugin,cn=subconfigsubentry changetype: modify replace: orclpluginenable orclpluginenable: 0 dn: cn=adwhenbind,cn=plugin,cn=subconfigsubentry changetype: modify replace: orclpluginenable orclpluginenable: 0
ldapmodify
コマンドにより、LDIFファイルを次のようにロードします。
ldapmodify -h host -p port -D cn=orcladmin -w password -f fileName
Active Directory外部認証プラグインを再度有効にするには、次の2つのコマンドを使用します。
dn: cn=adwhencompare,cn=plugin,cn=subconfigsubentry changetype: modify replace: orclpluginenable orclpluginenable: 1 dn: cn=adwhenbind,cn=plugin,cn=subconfigsubentry changetype: modify replace: orclpluginenable orclpluginenable: 1
ldapmodify
コマンドにより、LDIFファイルを次のようにロードします。
ldapmodify -h host -p port -D cn=orcladmin -w password -f fileName
この項では、変更のエクスポート先であるMicrosoft Active Directoryドメイン・コントローラを変更する方法を説明します。USN-Changed方式用とDirSync方式用の2つの方法があります。
USN-Changed方式を使用している場合は、次の手順を実行します。
uSNChanged
値(ルートDSEのhighestCommittedUSN
属性の属性値)を検索することにより、highestCommittedUSN
の現行値を取得します。
ldapsearch -h host -p port -b "" -s base -D user DN -w password "objectclass=*" highestCommittedUSN
searchfilter=(&(|(objectclass=user)(objectclass=organizationalunit))(!(obje ctclass=group)))
基本的に、実行中のプロファイルによりMicrosoft Active Directoryと同期化されるように構成された、Oracle Internet Directoryオブジェクト(エントリ)をすべて取得する検索範囲と検索フィルタを使用して、ldifdeを実行します。
lastchangenumber
属性を、手順2で取得されたhighestCommittedUSN
値により更新します。
uSNChanged
属性を使用して、Microsoft Active Directoryから通常の同期(増分同期)を再開します。
DirSync方式を使用している場合は、次の手順を実行します。
createlike
オプションを使用して、すでに使用しているプロファイルとまったく同じプロファイルを新たに作成します。新たに作成したプロファイルで、Microsoft Active Directoryホスト接続情報(ホスト、ポート、ユーザー、パスワード)を、新規ホストを指すように変更します。通常、更新が必要なアイテムは、ホスト名のみです。
|
![]() Copyright © 2005 Oracle Corporation. All Rights Reserved. |
|