Oracle Access Manager 11gは、Windowsネイティブ認証(WNA)と相互運用します。この章では、WNAと統合する方法について説明します。
この章では、次の内容を説明します。
Kerberosサービスをマップするユーザー・アカウント、それらのアカウントのサービス・プリンシパル名(SPN)、およびキー・タブ・ファイルを含む、完全に構成されたMicrosoft Active Directory認証サービスが設定されている必要があります。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護 11g リリース1 (10.3.3)』E13707-03を参照してください。
Oracle Access Managerでは、Microsoft Internet Explorerユーザーが各自のデスクトップ資格証明を使用して自動的にWebアプリケーションへの認証を行うように設定できます。これはWindowsネイティブ認証(WNA)と呼ばれています。
クロス・プラットフォーム認証は、Kerberosプロトコルを使用するWindows間のネイティブ認証サービスのネゴシエーション動作をエミュレートすることによって実現します。クロス・プラットフォーム認証を機能させるため、非Windowsサーバー(この場合はOracle Access Manager)は、SPNEGOトークンを解析して、認証に使用されるKerberosトークンを抽出する必要があります。
Oracle Access Managerシングル・サインオンをWNAと組み合せると、ログイン資格証明などが含まれたKerberosセッション・チケットが生成されます。このKerberosセッション・チケットはユーザーには表示されません。
ただし、WNAが実装されていることで、ユーザーは資格証明のチャレンジを別途行うことなくWebアプリケーションをクリックできます。かわりに、資格証明を含んだKerberosセッション・チケットが、ブラウザを通じてOracle Access Managerサーバーに渡されます。サーバーでは、資格証明をWindowsドメイン・サーバー上のKey Distribution Centerサーバー(KDCサーバー)と照らし合わせることによって検証します。(注意: 信頼できるサード・パーティであるKDCは、セッション・チケットを認証してクライアントのアイデンティティを確認するサービス・サーバーなどとして、論理的に別個のサーバーを使用してチケットを許可および処理します。)
認証が成功すると、Webアプリケーションへのアクセスが自動的に許可されます。
たとえば、Kerberos認証スキーム(KerbScheme)およびチャレンジ・メソッドのWNAを使用するOracle Access Managerアプリケーション・ドメインによって、アプリケーションを保護する必要があります。この場合は、ユーザー・アイデンティティ・ストアとしてOracle Access Managerに登録されたWindows Active Directoryインスタンスに、資格証明を保存する必要があります。
統合タスクは次のとおりです。
krb5.confファイルを編集する手順は、次のとおりです。
/etc/krb5.conf
にあるkrb5.conf
ファイルを開きます。
次のエントリを使用してファイルを更新します。
[Libdefaults] default_realm = HOLMIUM.NGAM.COM ticket_lifetime = 600 [realms] HOLMIUM.NGAM.COM = { kdc = holmium.us.oracle.com admin_server = holmium.us.oracle.com default_domain = HOLMIUM.NGAM.COM } [domain_realm] .holmium.ngam.com = HOLMIUM.NGAM.COM holmium.ngam.com = HOLMIUM.NGAM.COM
このタスクを実行して、SPNを作成し、それをユーザーに関連付けます。
次の手順では、testuser
というサンプル・ユーザーが使用されています。Oracle Access Managerサーバーは、mynode47.us.mycorp.com
というマシンにデプロイされています。
SPNを作成し、それをユーザーに関連付ける手順は、次のとおりです。
Microsoft Active Directoryでユーザーを作成します。
ktpass
を実行して、サービス・プリンシパル名を作成し、それをこのユーザーに関連付けます。次に例を示します。
ktpass -princ HTTP/service@HOLMIUM.NGAM.COM -pass Oblix!@# -mapuser testuser -out D:\etc\ keytab.service
各変数は次のとおりです。
HTTP/service@HOLMIUM.NGAM.COMは、ユーザーtestuserに関連付けられたプリンシパル名です。
Oblix!@#はtestuserのパスワードです。
service
は、Oracle Access Managerサーバーがデプロイされているマシンの名前です。たとえば、serviceがmynode47.us.mycorp.comである場合、プリンシパル名はHTTP/mynode47.us.mycorp.com@HOLMIUM.NGAM.COMです。
-mapuser
パラメータは、このプリンシパル名がアタッチされるユーザーID(samaccountname
)を示します。指定されたプリンシパル名は、1つのユーザーにのみアタッチできます。
D:\etc\ keytab.service
は、生成するkeytabファイルです。ファイルが生成されたら、Oracle Access Managerサーバーでこのkeytabファイルが使用されます。
新しく作成されたkeytab.services
ファイルを、NGサーバーが実行されているマシンにコピーします。
kinit
コマンドを使用して、他のサービスに対するチケットの取得に使用するマスターKerberosチケットを取得します。
kinit
コマンドでは/etc/krb5.conf
ファイルを使用するため、このファイルの属性が正しいことを確認します。kinit
の基本的な構文は次のとおりです。
kinit [-k] [-t <keytab_filename>] [<principal>]
Kerberosチケットを取得する手順は、次のとおりです。
Oracle Access Managerサーバー・ホスト・マシンで、次の場所からコマンドを実行します。
JDK_HOME/bin
kinit –V HTTP/mynode47.us.mycorp.com@HOLMIUM.NGAM.COM –k –t /scratch/kerberos/keytab.service
説明:
-Vは冗長モードを指定します。
プリンシパル名はHTTP/mynode47.us.mycorp.com@HOLMIUM.NGAM.COMです。
-kは、keytabを使用するようにコマンドに指示します。
-tは、使用するkeytabファイル名です。
この項では、次のトピックと手順について説明します。
WNAを使用するには、Oracle Access Managerポリシー構成ファイルoam-policy.xml
でKerberos認証モジュール用の特定の値を定義する必要があります。
有効なOracle Access Manager管理者の資格証明を持つユーザーは、次のタスクを実行して、Oracle Access ManagerでKerberos認証モジュール用の特定の値を定義できます。
Kerberos認証モジュールを設定する手順は、次のとおりです。
注意: これらの手順では、手動で構成ファイルを編集する必要があります。OAM管理コンソールを使用してこのタスクを実行することもできます。 |
次のパスにあるoam-config.xml
ファイルを探します。
Middleware_Home/user_projects/domains/IDMDomain/config/fmwconfig/oam-config.xml
oam-config.xml
ファイルのバックアップ・コピーを作成し、後で必要になる場合に備えて別の場所に保存します。
oam-config.xml
ファイルを編集して、Kerberosモジュールのパラメータおよび値を定義します。これらのパラメータの例では、Kerberosプリンシパルと暗号化されたキーのペアを含むkeytabファイル、およびKDCの場所などのKerberos構成情報を含むkrb5.confファイルを使用しています。(注意: これらのファイルはKerberosのインストール時に作成され、インストール・ディレクトリに表示されます。)このファイルを次のように編集します。
<authn-module name="Kerberos" type="KERBEROS" id="4" description="Kerberos Module"> <property value="/u01/app/oracle/install/fmw11g/Middleware/wna/<host_ name>.keytab" name="keytabfile"/> <property value="HTTP/<host_name>.oracle.com" name="principal"/> <property value="/u01/app/oracle/install/fmw11g/Middleware/wna/krb5.conf" name="krbconfigfile"/> </authn-module>
ここで、「host_name」はOracle Access Managerサーバー・ホストの名前です。
ファイルを保存します。
有効なOracle Access Manager管理者の資格証明を持つユーザーは、次のタスクを実行して、Oracle Access ManagerでKerberos認証モジュール用の特定の値を定義できます。
Oracle Access Manager管理コンソールを使用して、保護されたページの認証ポリシーがKerberos認証スキームを使用するように設定されていること、およびそのスキームでチャレンジ・メソッドとしてWindowsネイティブ認証を使用することを確認できます。
Kerberos認証スキームを設定する手順は、次のとおりです。
WNAをチャレンジ・メソッドとして使用するように、Kerberos認証スキームを構成します。
Oracle Access Managerの「ポリシー構成」タブから、ナビゲーション・ペインで「認証スキーム」ノードを展開します。
「KerbScheme」をダブルクリックして、構成の詳細を表示します。
必要に応じて、「チャレンジ・メソッド」を「WNA」に変更します。
「適用」をクリックして、確認ウィンドウを閉じます。
ページを閉じます。
Kerberos認証スキームを使用するように、リソースを保護するアプリケーション・ドメインを次のように構成します。
Oracle Access Managerの「ポリシー構成」タブから、ナビゲーション・ペインで「アプリケーション・ドメイン」ノードを展開します。
目的のアプリケーション・ドメイン名を見つけて展開します。
アプリケーション・ドメイン・ノードで「認証ポリシー」ノードを展開して、既存のポリシーを表示します。
保護されたリソース・ポリシーをダブルクリックして、関連するページを表示します。
認証スキーム: リストから「KerbScheme」を選択します。
「適用」をクリックして、確認ウィンドウを閉じます。
ページを閉じます。
「ユーザー・アイデンティティ・データ・ストアとしてのMicrosoft Active Directoryの登録」に進みます。
Windowsネイティブ認証を使用する場合は、Oracle Access Managerのユーザー・アイデンティティ・ストアとして登録されたMicrosoft Active Directoryに、ユーザー資格証明が存在する必要があります。
有効なOracle Access Manager管理者の資格証明を持つユーザーは、次のタスクを実行して、Microsoft Active DirectoryをOracle Access Managerのユーザー・ストアとして登録できます。
前提条件
Kerberosサービスをマップするユーザー・アカウント、それらのアカウントのサービス・プリンシパル名(SPN)、およびキー・タブ・ファイルを含む、完全に構成されたMicrosoft Active Directory認証サービスが設定されている必要があります。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護 11g リリース1 (10.3.3)』を参照してください。
Microsoft Active DirectoryをOracle Access Managerに登録する手順は、次のとおりです。
「システム構成」タブから、ナビゲーション・ペインで「データソース」ノードを展開します。
「ユーザー・アイデンティティ・ストア」ノードをクリックし、ツール・バーの「追加」ボタンをクリックします。
Microsoft Active Directoryについての必要な値を入力します。次に例を示します。
UserIdentityStoreAD
ldap://ldap_host.domain.com:389
CN=Users,DC=dept,DC=domain,DC=com
UserPrincipalName
CN=Users,DC=dept,DC=domain,DC=com
プライマリ: 「プライマリ」ボタンをクリックして、これをOracle Access Managerのプライマリ・ユーザー・アイデンティティ・ストアにします。
ロール・マッピング: デフォルトでは、Oracle Access Manager管理者のロールはWebLogic管理者のロール(管理者)と同じです。ただし、新しいOracle Access Manager管理者のロールをOracle Access Manager 11gのプライマリ・ユーザー・アイデンティティ・ストアに定義できます。詳細は、『Oracle Fusion Middleware Oracle Access Manager管理者ガイド』を参照してください。
「適用」をクリックして変更を送信し、確認ウィンドウを閉じます。
Oracle Access Manager管理サーバーおよび管理対象サーバーを再起動します。
oam-config.xml
ファイルで、次のものが指定されていることを検証します。
krb5.confファイルへのパス
keytabファイルへのパス
KDCに接続するプリンシパル
前述の手順で使用した例の場合、oam-config.xml
ファイルは次のようになります。
<Setting Name="KerberosModules" Type="htf:map"> <Setting Name="6DBSE52C" Type="htf:map"> <Setting Name="principal" Type="xsd:string">HTTP/mynode47.us.mycorp.com@HOLMIUM.NGAM.COM </Setting> <Setting Name="name" Type="xsd:string">XYZKerberosModule</Setting> <Setting Name="keytabfile" Type="xsd:string">/scratch/kerberos/keytab.service </Setting> <Setting Name="krbconfigfile" Type="xsd:string">/etc/krb5.conf</Setting> </Setting> </Setting>
次の手順を使用して、Kerberosトークンを返すようにInternet ExplorerまたはMozilla Firefoxブラウザを構成します。
Internet ExplorerでKerberosトークンを有効化する手順は、次のとおりです。
Active Directoryドメイン内のWindowsホストに、ドメイン・ユーザーとしてサインインします。
Internet Explorerブラウザを開きます。
「ツール」メニューから「インターネット オプション」をクリックし、「セキュリティ」→「ローカル イントラネット」→「詳細設定」をクリックします。
「詳細設定」タブで、「セキュリティ」セクションの「統合Windows認証を使用する」の横にあるボックスを選択して「OK」をクリックします。
Oracle Access Manager CCホストまたはドメイン名を「ローカル イントラネット」ゾーンに追加します(http://mynode.myhost:myport
の形式を使用します)。
Internet Explorerブラウザを再起動して、変更を有効にします。
Mozilla FirefoxでKerberosトークンを有効化する手順は、次のとおりです。
ブラウザでabout:config
に移動します。
Oracle Access Manager CCホストまたはドメイン名をnetwork.negotiate-auth.trusted-urisに追加します。network.negotiate-auth.trusted-uris=http://mynode.myhost:myport
の形式を使用します。
WNA認証は内部的に行われます。
ユーザーは、認証のためにOracle Access Managerサーバーにリダイレクトされます。
Oracle Access Managerサーバーは、www-negotiateヘッダーにより認証をリクエストします。
ブラウザは、認証のためにOracle Access ManagerサーバーにKerberos SPNEGOトークンを送信します。
Oracle Access Managerサーバーは、ユーザーのSPNEGOトークンを認証し、ユーザーを元のOSSOエージェントまたはOracle Access ManagerエージェントにCookieとともにリダイレクトして、リソースへのアクセスを得ます。
Oracle Access Managerによって保護されたリソースでWNAを検証する手順は、次のとおりです。
Active Directoryドメイン内のWindowsシステムに、ドメイン・ユーザーとしてログインします。Internet Explorerで、統合Windows認証が有効になっていることを確認します(「ツール」→「インターネット オプション」→「統合Windows認証を使用する」→ブラウザの再起動)。
Oracle Access Managerに登録されたホスト対象のActive Directoryに保存されているWindowsドメイン資格証明を使用して、Windows OSクライアントにサインインします。
IEブラウザを起動し、OMAMによって保護されたリソースのURLを入力します。
追加ログインなしでアクセスが許可されることを確認します。