ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Access Manager統合ガイド
11g リリース1 (11.1.1)
B65043-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

9 Windowsネイティブ認証を使用するためのOracle Access Managerの構成

Oracle Access Manager 11gは、Windowsネイティブ認証(WNA)と相互運用します。この章では、WNAと統合する方法について説明します。

この章では、次の内容を説明します。

9.1 始める前に

Kerberosサービスをマップするユーザー・アカウント、それらのアカウントのサービス・プリンシパル名(SPN)、およびキー・タブ・ファイルを含む、完全に構成されたMicrosoft Active Directory認証サービスが設定されている必要があります。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護 11g リリース1 (10.3.3)』E13707-03を参照してください。

9.2 Oracle Access ManagerとWindowsネイティブ認証について

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インスタンスに、資格証明を保存する必要があります。

9.3 前提条件となるタスクの実行

統合タスクは次のとおりです。

9.3.1 krb5.confファイルの編集

krb5.confファイルを編集する手順は、次のとおりです。

  1. /etc/krb5.confにあるkrb5.confファイルを開きます。

  2. 次のエントリを使用してファイルを更新します。

    [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
    

9.3.2 サービス・プリンシパル名(SPN)の作成

このタスクを実行して、SPNを作成し、それをユーザーに関連付けます。

次の手順では、testuserというサンプル・ユーザーが使用されています。Oracle Access Managerサーバーは、mynode47.us.mycorp.comというマシンにデプロイされています。

SPNを作成し、それをユーザーに関連付ける手順は、次のとおりです。

  1. Microsoft Active Directoryでユーザーを作成します。

  2. 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ファイルが使用されます。

  3. 新しく作成されたkeytab.servicesファイルを、NGサーバーが実行されているマシンにコピーします。

9.3.3 Kerberosチケットの取得

kinitコマンドを使用して、他のサービスに対するチケットの取得に使用するマスターKerberosチケットを取得します。

kinitコマンドでは/etc/krb5.confファイルを使用するため、このファイルの属性が正しいことを確認します。kinitの基本的な構文は次のとおりです。

kinit  [-k] [-t <keytab_filename>] [<principal>] 

Kerberosチケットを取得する手順は、次のとおりです。

  1. 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ファイル名です。

  2. 「WNA用のOracle Access Managerの構成」に進みます。

9.4 WNA用のOracle Access Managerの構成

この項では、次のトピックと手順について説明します。

9.4.1 Oracle Access ManagerでのKerberos認証モジュールの設定

WNAを使用するには、Oracle Access Managerポリシー構成ファイルoam-policy.xmlでKerberos認証モジュール用の特定の値を定義する必要があります。

有効なOracle Access Manager管理者の資格証明を持つユーザーは、次のタスクを実行して、Oracle Access ManagerでKerberos認証モジュール用の特定の値を定義できます。

Kerberos認証モジュールを設定する手順は、次のとおりです。


注意:

これらの手順では、手動で構成ファイルを編集する必要があります。OAM管理コンソールを使用してこのタスクを実行することもできます。

  1. 次のパスにあるoam-config.xmlファイルを探します。

    Middleware_Home/user_projects/domains/IDMDomain/config/fmwconfig/oam-config.xml

  2. oam-config.xmlファイルのバックアップ・コピーを作成し、後で必要になる場合に備えて別の場所に保存します。

  3. 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サーバー・ホストの名前です。

  4. ファイルを保存します。

  5. 「Windowsネイティブ認証用のOracle Access Manager認証スキームの設定」に進みます。

9.4.2 Windowsネイティブ認証用のOracle Access Manager認証スキームの設定

有効なOracle Access Manager管理者の資格証明を持つユーザーは、次のタスクを実行して、Oracle Access ManagerでKerberos認証モジュール用の特定の値を定義できます。

Oracle Access Manager管理コンソールを使用して、保護されたページの認証ポリシーがKerberos認証スキームを使用するように設定されていること、およびそのスキームでチャレンジ・メソッドとしてWindowsネイティブ認証を使用することを確認できます。

Kerberos認証スキームを設定する手順は、次のとおりです。

  1. WNAをチャレンジ・メソッドとして使用するように、Kerberos認証スキームを構成します。

    1. Oracle Access Managerの「ポリシー構成」タブから、ナビゲーション・ペインで「認証スキーム」ノードを展開します。

    2. 「KerbScheme」をダブルクリックして、構成の詳細を表示します。

    3. 必要に応じて、「チャレンジ・メソッド」を「WNA」に変更します。

    4. 「適用」をクリックして、確認ウィンドウを閉じます。

    5. ページを閉じます。

  2. Kerberos認証スキームを使用するように、リソースを保護するアプリケーション・ドメインを次のように構成します。

    1. Oracle Access Managerの「ポリシー構成」タブから、ナビゲーション・ペインで「アプリケーション・ドメイン」ノードを展開します。

    2. 目的のアプリケーション・ドメイン名を見つけて展開します。

    3. アプリケーション・ドメイン・ノードで「認証ポリシー」ノードを展開して、既存のポリシーを表示します。

    4. 保護されたリソース・ポリシーをダブルクリックして、関連するページを表示します。

    5. 認証スキーム: リストから「KerbScheme」を選択します。

    6. 「適用」をクリックして、確認ウィンドウを閉じます。

    7. ページを閉じます。

  3. 「ユーザー・アイデンティティ・データ・ストアとしてのMicrosoft Active Directoryの登録」に進みます。

9.4.3 ユーザー・アイデンティティ・データ・ストアとしての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に登録する手順は、次のとおりです。

  1. 「システム構成」タブから、ナビゲーション・ペインで「データソース」ノードを展開します。

  2. 「ユーザー・アイデンティティ・ストア」ノードをクリックし、ツール・バーの「追加」ボタンをクリックします。

  3. Microsoft Active Directoryについての必要な値を入力します。次に例を示します。


    名前: UserIdentityStoreAD
    LDAP URL: ldap://ldap_host.domain.com:389
    プリンシパル: CN=Administrator,CN=Users,DC=dept,DC=domain,DC=com
    資格証明: ********
    ユーザー検索ベース: CN=Users,DC=dept,DC=domain,DC=com
    ユーザー名属性: UserPrincipalName
    サブスクライバ名: CN=Users,DC=dept,DC=domain,DC=com
    LDAPプロバイダ: AD
  4. プライマリ: 「プライマリ」ボタンをクリックして、これをOracle Access Managerのプライマリ・ユーザー・アイデンティティ・ストアにします。

  5. ロール・マッピング: デフォルトでは、Oracle Access Manager管理者のロールはWebLogic管理者のロール(管理者)と同じです。ただし、新しいOracle Access Manager管理者のロールをOracle Access Manager 11gのプライマリ・ユーザー・アイデンティティ・ストアに定義できます。詳細は、『Oracle Fusion Middleware Oracle Access Manager管理者ガイド』を参照してください。

  6. 「適用」をクリックして変更を送信し、確認ウィンドウを閉じます。

  7. Oracle Access Manager管理サーバーおよび管理対象サーバーを再起動します。

9.4.4 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>

9.5 Kerberosトークンを返すためのブラウザの有効化

次の手順を使用して、Kerberosトークンを返すようにInternet ExplorerまたはMozilla Firefoxブラウザを構成します。

Internet ExplorerでKerberosトークンを有効化する手順は、次のとおりです。

  1. Active Directoryドメイン内のWindowsホストに、ドメイン・ユーザーとしてサインインします。

  2. Internet Explorerブラウザを開きます。

  3. 「ツール」メニューから「インターネット オプション」をクリックし、「セキュリティ」→「ローカル イントラネット」→「詳細設定」をクリックします。

  4. 「詳細設定」タブで、「セキュリティ」セクションの「統合Windows認証を使用する」の横にあるボックスを選択して「OK」をクリックします。

  5. Oracle Access Manager CCホストまたはドメイン名を「ローカル イントラネット」ゾーンに追加します(http://mynode.myhost:myportの形式を使用します)。

  6. Internet Explorerブラウザを再起動して、変更を有効にします。

Mozilla FirefoxでKerberosトークンを有効化する手順は、次のとおりです。

  1. ブラウザでabout:configに移動します。

  2. Oracle Access Manager CCホストまたはドメイン名をnetwork.negotiate-auth.trusted-urisに追加します。network.negotiate-auth.trusted-uris=http://mynode.myhost:myportの形式を使用します。

9.6 Oracle Access Managerによって保護されたリソースでのWNAの検証

WNA認証は内部的に行われます。

Oracle Access Managerによって保護されたリソースでWNAを検証する手順は、次のとおりです。

  1. Active Directoryドメイン内のWindowsシステムに、ドメイン・ユーザーとしてログインします。Internet Explorerで、統合Windows認証が有効になっていることを確認します(「ツール」→「インターネット オプション」→「統合Windows認証を使用する」→ブラウザの再起動)。

  2. Oracle Access Managerに登録されたホスト対象のActive Directoryに保存されているWindowsドメイン資格証明を使用して、Windows OSクライアントにサインインします。

  3. IEブラウザを起動し、OMAMによって保護されたリソースのURLを入力します。

  4. 追加ログインなしでアクセスが許可されることを確認します。

9.7 WNA構成のトラブルシューティング

原因

Oracle Access Managerが使用するアイデンティティ・ストアがWindows Active Directoryを指していない可能性があります。デフォルトでは、アイデンティティ・ストアは組込みLDAPです。

解決策

  1. Oracle Access Manager管理コンソールで、アイデンティティ・ストアの構成、「システム構成」、「データソース」、「ユーザー・アイデンティティ・ストア」を確認します。

  2. LDAPストア設定がActive Directoryを指していることを確認します。