この章では、Oracle Directory Integration Platformのセキュリティにおける最も重要な事項について説明します。内容は次のとおりです。
認証は、Oracleディレクトリ・サーバーが、そのディレクトリに接続しているユーザーの正確なアイデンティティを取得するプロセスです。認証は、LDAPセッションがldapbind
操作によって確立されたときに発生します。
Oracle Directory Integration Platformの各コンポーネントが、ディレクトリへのアクセスを許可される前に適切に認証されることは重要です。
この項の内容は次のとおりです。
Oracle Directory Integration Platformをデプロイできるのは、Oracle Internet DirectoryがSecure Socket Layer(SSL)を使用して動作している場合のみです。SSLの実装は、次のモードをサポートします。
認証なし: SSLデータ暗号化を提供しますが、認証にはSSLを使用しません。
SSLサーバー認証: SSLデータ暗号化とクライアントに対するSSL認証の両方が含まれます。Oracle Directory Integration Platformでは、サーバーはディレクトリ・サーバーであり、クライアントはOracle Directory Integration Platformです。
サーバーは、信頼できる認証局(CA)が発行する証明書を送信することにより、クライアントに対して自身のアイデンティティを検証します。このモードでは、公開鍵インフラストラクチャ(PKI)と証明書がJavaキーストア(JKS)に格納される必要があります。
Oracle Directory Integration PlatformでSSLを使用するには、Oracle Internet DirectoryとOracle Directory Integration Platformの両方を、同じSSLモードで起動する必要があります。たとえば、Oracle Internet DirectoryがSSLモード1で実行されている場合、Directory Integration Platformは、同じSSLモード1を使用してOracle Internet Directoryに接続するように構成されている必要があります。
関連項目: Oracleディレクトリ・サーバーをSSLモードで起動する方法は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の予備的なタスクと情報に関する章を参照してください。 |
ディレクトリ・サーバーのアイデンティティを設定するには、Oracle Internet DirectoryとDirectory Integration Serverの両方をSSLサーバー認証モードで起動します。この場合、ディレクトリ・サーバーは自身の証明書をDirectory Integration Serverに提供し、Directory Integration ServerはOracle Internet Directoryのクライアントとして機能します。
サード・パーティのディレクトリに接続するときにSSLを使用するようにOracle Directory Integration Platformを構成することもできます。この場合は、「Oracle Internet Directoryと接続ディレクトリのSSL証明書の管理」で説明されているように、接続ディレクトリ証明書をJavaキーストア(JKS)に保存します。
Oracle Internet Directoryでは、統合プロファイルは、識別名(DN)とパスワードを持つユーザーを表します。プロファイルにアクセスできるユーザーは次のとおりです。
Oracle Directory Integration Platformの管理者、識別名cn=dipadmin,cn=dipadmins,cn=directory integration platform,cn=products,cn=oraclecontext
Oracle Directory Integration Platform管理者グループのメンバー、識別名cn=odisgroup,cn=DIPadmins,cn=Directory Integration Platform,cn=Products,cn=OracleContext
Oracle Directory Integration Platformが統合プロファイルに基づいてOracle Internet Directoryにデータをインポートする場合、その統合プロファイルとしてディレクトリにプロキシ・バインドします。Oracle Directory Integration Platformは、SSLモードでも非SSLモードでもバインドできます。
認可は、ユーザーが権限を持つ情報のみの読取りまたは更新を行うことを保証するプロセスです。ディレクトリ・セッション内でディレクトリ操作が行われようとすると、ディレクトリ・サーバーは、その操作の実行に必要な権限がユーザーに与えられていることを確認します(ユーザーの識別は、セッションに対応付けられた認可識別子によって行われます)。ユーザーに権限がない場合、ディレクトリ・サーバーはこれらの操作を許可しません。この方法(アクセス制御)によって、ディレクトリ・サーバーは、ディレクトリ・ユーザーによる不正操作からディレクトリ・データを保護します。
アクセスをOracle Internet Directoryデータの必要なサブセットのみに制限するには、Directory Integration Serverとコネクタの両方に対する適切なアクセス・ポリシーをディレクトリに設定します。
この項では、このようなポリシーの詳細を説明します。内容は次のとおりです。
Oracle Directory Integration Platformは、次のようにディレクトリへのバインドをそれ自身として行う場合と、プロファイルのかわりに行う場合があります。
それ自身としてバインドする場合、様々な統合プロファイルに情報をキャッシュできます。これによって、Directory Integration Serverは、様々なコネクタによって実行される同期アクションをスケジュールできます。
プロファイルのかわりに操作を行う場合、Directory Integration Serverはプロファイルのプロキシとして動作します。つまり、ディレクトリにバインドして様々な操作を実行するためにプロファイル資格証明を使用します。Directory Integration Serverは、プロファイルで許可された操作のみをディレクトリ内で実行できます。
Directory Integration Serverに付与されるアクセス権限を設定し管理するために、Oracle Directory Integration Platformはインストール時にodisgroup
と呼ばれるグループ・エントリを作成します。Directory Integration Serverは、登録時にこのグループのメンバーになります。odisgroup
の識別名は次のとおりです。
cn=odisgroup,cn=directory admins,cn=directory integration plataform,cn=products,cn=oraclecontext
Directory Integration Serverに付与されるアクセス権限を制御するには、odisgroup
エントリにアクセス制御ポリシーを設定します。デフォルトのポリシーでは、プロファイルにアクセスするための様々な権限がDirectory Integration Serverに付与されます。たとえば、デフォルトのポリシーでは、Directory Integration Serverは、プロファイルのかわりにプロキシとしてバインドするOracle Internet Directoryと接続ディレクトリとの間でユーザー・パスワードを比較できます。デフォルトのポリシーによって、Directory Integration Serverは、最終正常実行時間や同期ステータスなど、プロファイルのステータス情報を変更することもできます。
インストール時に、Oracle Internet Directoryによりodipgroup
と呼ばれるグループ・エントリが作成されます。これを使用すると、様々なプロファイルに付与したアクセス権限を制御できます。セキュリティをさらに強化するため、インストール時にodipigroup
グループとodipegroup
グループも作成されます。インポート・プロファイルはすべてodipigroup
グループに割り当てられ、エクスポート・プロファイルはすべてodipegroup
グループに割り当てられます。権限は、適切なアクセス・ポリシーをodipgroup
エントリに設定することによって制御されます。製品とともに自動的にインストールされたデフォルトのアクセス・ポリシーでは、プロファイルに対して、そのプロファイルが所有する統合プロファイルへの標準的なアクセス権限が付与されます。たとえば、統合プロファイル内のorclodipConDirLastAppliedChgTime
パラメータなどのステータス情報を変更できる権限が付与されます。また、デフォルトのアクセス・ポリシーの場合、プロファイルはOracle Internet Directoryの変更ログにアクセスできます(デフォルトのアクセス・ポリシー以外ではアクセスは制限されます)。
関連項目: グループ・エントリのアクセス制御ポリシーの設定方法は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のアクセス制御の章のセキュリティ・グループに関する項を参照してください。 |
Oracle Directory Integration Platformは、SSLを使用して、送信時にデータの変更、削除または再現が行われていないことを保証します。このSSL機能は、暗号方式の保護メッセージ・ダイジェストを、Message-Digest algorithm 5(MD5)またはSecure Hash Algorithm(SHA)を使用する暗号チェックサムを使用して生成し、ネットワークを介して送信する各パケットにそのメッセージ・ダイジェストを組み込みます。
Oracle Directory Integration Platformは、SSLで使用可能な公開鍵暗号を使用して、データが送信中に開示されないことを保証します。公開鍵暗号では、メッセージの送信側が受信側の公開鍵を使用して、メッセージを暗号化します。メッセージが送達されると、受信側は、受信側の秘密鍵を使用して、メッセージを復号化します。
Directory Integration ServerとOracle Internet Directoryの間でデータを安全に交換するには、両方のコンポーネントを同じSSLモードで実行する必要があります。
一般的に使用されているツール(Oracle Enterprise Manager Fusion Middleware Controlを含む)は、すべてSSLモードで実行することによりOracle Internet Directoryにデータを安全に送信できます。
Oracle Directory Integration Platformでは、Oracle Application Server 11gインフラストラクチャの資格証明ストア・フレームワークが使用されます。Oracle Directory Integration Platformによってこの資格証明ストア・フレームワークに格納される資格証明および説明を次に示します。
Oracle Directory Integration Platformのユーザー・パスワード。このパスワードはインストール時に作成されるもので、読取り専用として格納され、ランタイム操作で読み取られます。
JKSパスワード。JKSのパスワードは、Oracle Internet Directoryまたはサード・パーティ・ディレクトリへの接続に対して、サーバーのみ(モード2)SSL設定が構成されている場合に使用されます。WebLogic Scripting Tool(WLST)のcreateCred()
コマンドを使用して、キーストアのパスワードを資格証明ストア・フレームワークに書き込むことができます。たとえば、WLSTシェルを呼び出し、connect()
コマンドを使用してOracle WebLogic Admin Serverに接続した後で、次のように入力します。
createCred(map="dip", key="jksKey", type="PC", user="userName", password="password")
マップおよびキーのオプションは固定です。サポートされている値はmap="dip"
およびkey="jksKey
"のみです。
wlst listCred()
コマンドを使用して、資格証明ストア・フレームワークにあるキーストアのパスワードを表示することができます。たとえば、WLSTシェルを呼び出し、connect()
コマンドを使用してOracle WebLogic Admin Serverに接続した後で、次のように入力します。
listCred(map="dip", key="jksKey")
関連項目:
|