Oracle® Fusion Middleware Oracle Access Management管理者ガイド 11g リリース2 (11.1.2.3) for All Platforms E61950-08 |
|
![]() 前 |
![]() 次 |
この項のタスクは、選択する方法に関係なく必要です。ただし、これはOracle固有ではありません。
ノート:
次のサンプル・シナリオは、一般的なActive Directoryトポロジを表しています。Access Managerによって指示された要件でもAccess Manager用の要件でもありません。ここで使用される名前は単なる例です。環境はユーザーによって異なります。
サンプルのシナリオとして、企業内で動作する2つのActive Directoryフォレストについて検討します。
フォレスト | ドメイン名 |
---|---|
ORACLE |
|
SPRITE |
|
ORACLEフォレスト内に子ドメイン(child.lm.example.com
)が存在するとします。
信頼は次のように要求されます。
フォレスト間: 双方向、非推移的な信頼。
子ドメインとその親の間: 双方向、推移的な信頼。
接尾辞と継承は次のとおりです。
SPRITEユーザーには、sun.com
やjava.com
などのUPN接尾辞があります。SPRITEフォレストにはtestuser.java.com
が含まれています。
ORACLEユーザーには、myoracleco.com
やoracleco.com
などの接尾辞が付きます。ORACLEフォレストにはtestuser.oracleco.com
が含まれています。
ORACLEの子ドメインは、親ドメインのUPN接尾辞を継承します。
ノート:
DOMAIN\USERNAMEという形式の事前Windowsユーザー名はサポートされません。
WNAとの統合では、デフォルト・アイデンティティ・ストアに定義されているUser Name Attribute
は、Active DirectoryユーザーのsamAccountName
の値と一致する属性にできます。
また、環境で使用する暗号化の種類を理解している必要があります。場合によっては、「このアカウントにDES暗号化タイプを使用する」を有効にしてユーザーを作成する場合があります。ただし、Active DirectoryはDES暗号化を使用しません。
ノート:
次の手順で作成するkeytabファイルはRC4-HMAC暗号化を使用します。
Access ManagerはJGSS/JDK6がサポートするものをサポートします。使用可能なTGT暗号化の制限事項は、サポートされる最も一般的でないまたは最下位の暗号化(KDC、Keytab、オペレーティング・システム、Kerberosクライアント)であるピースによって決まります。Access Managerは、どのKerberos暗号化タイプもサポートしません。これは、認定される汎用セキュリティ・サービス(GSS)/Kerberos jdk暗号化タイプによって決まります。Access Managerは、暗号化タイプに依存せず、TGT暗号化を使用しません。SPNEGOトークンの一部として、Access Managerは、ktpass/keytabコマンド実行時にサービス(ここではAccess Manager)が登録したキーで暗号化されたサービス・チケットのみを検索します。
ノート:
次の手順で作成するkeytabファイルはRC4-HMAC暗号化を使用します。
暗号化は、異なるOS (Kerberosサーバー/クライアントとして動作するWindows/Linux)の間の通信に使用されます。OAMサーバーは、ユーザーの資格証明の抽出元であるSPNEGOトークンのみを必要とします。Access Managerによって使用されるWindowsクライアント(ブラウザ)、Windows KDCおよび汎用セキュリティ・サービス(GSS)の各クラス間のこの3つの否定プロセスで使用される暗号化は、使用されるバージョンに依存します(これは一致する必要があります)。
関連項目:
Access ManagerがサポートするKerberos暗号化タイプの詳細のMy Oracle Support [Doc 1212906.1](https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1212906.1
)
信頼できるドメインでは(たとえば、ルート・ドメインlm.example.com
)、次の提供されたステップに従う必要があります。
OAMサーバーのアカウントの作成。
Active Directoryマルチドメインまたはマルチフォレスト・トポロジおよび信頼関係で構成されたkeytabファイルの抽出。
OAMサーバー(またはOAMクラスタを表すロード・バランサ)の完全修飾ホスト名にレルム名を付加したサービス・プリンシパル名(SPN)の指定。
この例では、表57-1の名前が使用されます。
表57-1 サンプル名
名前 | 説明 |
---|---|
|
KDCホスト名 KDCは、Active Directoryドメイン内のユーザーとコンピュータにセッション・チケットおよび一時セッション・キーを提供する、信頼できるネットワーク・サービスです。KDCは、Active Directoryドメイン・サービスの一部として各ドメイン・コントローラ上で実行され、ドメイン・サービスとして実装されます。KDCは、Active Directoryをアカウント・データベースとして使用します。Kerberosプロトコルの実装では、KDCは、2つのサービス(認証サービス(AS)とチケット付与サービス(TGS))を提供する単一プロセスです。 |
|
AdminServerホスト名 これは、KDCホスト名と同じです。 |
|
OAMサーバー・ホスト名 |
|
デフォルトのActive Directoryレルム 2つ目のActive Directoryレルム レルム名は、ユーザー・アカウントの場所を識別します。レルム名は、接頭辞または接尾辞のいずれかにできます。 アクセス・クライアントがユーザー資格証明を送信するとき、ユーザー名が含まれることが多いです。ユーザー名の中には2つのエレメント(ユーザー・アカウント名とユーザー・アカウントの場所)が入っています。 |
HTTP/fully_qualified_OAMServerhostname@REALM_NAME (大文字) |
ユーザー・アカウント(クライアントがサービスのインスタンスを一意に識別する名前)にはサービス・プリンシパル名(SPN)が必要です。 ノート: フォレスト全体にわたってコンピュータにサービスのインスタンスを複数インストールする場合、各インスタンスに独自のサービス・プリンシパル名がある必要があります。 |
Active DirectoryおよびKerberosを準備できます。
コマンドは、Unixオペレーティング・システムに対応しています。コマンド構文は、環境内固有のオペレーティング・システムによって異なります。
Oracle動作保証マトリックスを確認し、この統合に対してサポートされているバージョンのActive Directoryをインストールしていることを確認します。
https://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
次のようにActive Directoryをインストールして構成します。
次の必要な信頼関係を備えたマルチフォレスト・トポロジが構成されていて動作する
a.Kerberosサービスをマップするユーザー・アカウント
b.これらのユーザー・アカウント(クライアントがサービスのインスタンスを一意に識別する名前)のサービス・プリンシパル名(SPN)。
c.キー・タブ・ファイル
Active Directoryグローバル・カタログ(ADGC)が各フォレスト内で有効になっていて動作する
マルチフォレスト・デプロイメント: この場合、様々なフォレストに基づくユーザーを一意に識別するネーミング属性(グローバル・カタログ内にある)が存在することを確認します。一般的に、userprincipalname
はフォレストに対して一意で、samAccountName
はドメインに対して一意です。
フォレスト・アフィリエーションに関係なく、他のドメインそれぞれに直接的または間接的に信頼されている1つのドメイン。
WNA認証中に使用するAccess Managerのユーザーを作成し、このユーザー名を記録してkeytabファイル(DES暗号化なし)を生成します。
OAMサーバー・ホスト名を記録します。次に例を示します。
oam11g.example.com
KDCホスト名およびActive Directoryドメイン/レルムを記録します。
KDC = kdc.lm.example.com Default AD Realm = lm.example.com
OAMサーバー・クライアントが使用しているActive Directoryユーザーのサービス・プリンシパル名(SPN)を作成し、その結果(暗号化タイプを含む)を記録します。
このユーザー名は、user_name@example.com
という形式にしてください(example.com
はActive Directoryのドメイン名)。次に例を示します。
ktpass -princ <protocol/oamserver_host> -pass <mypassword> -mapuser <user from step 3> -out <path_to_filename>
ノート:
ktpass、kinitおよびklistコマンドを使用してユーザー名を入力する際は、大文字小文字が一貫していることを確認してください。最初のコマンドの実行時に小文字でユーザー名を入力した場合は、残りのコマンドの実行時にも小文字で入力する必要があります。
たとえば、keytabと構成を/etc/krb5.confファイルに作成するために、コマンドで使用する大文字小文字は一致している必要があります。keytab (後述)を作成するのにktpassが実行される場合、KDCサーバーのホスト名はlm.example.comになります。これはすべて小文字のため、/etc/krb5.confファイルの構成も小文字である必要があります。大文字小文字が一致しているかぎり、大文字と小文字の区別は問題になりません。
ktpass -princ HTTP/oam11g.example.com@lm.example.com -mapuser oam -pass examplepw -out c:\temp\oam.keytab C:\Users\Administrator>ktpass -princ HTTP/oam11g.example.com@LM.EXAMPLE.COM -mapuser oam -pass welcome1 -out c:\temp\oam.keytab Targeting domain controller: kdc.lm.example.com Using legacy password setting method Successfully mapped HTTP/oam11g.example.com to oam. WARNING: pType and account type do not match. This might cause problems. Key created. Output keytab to c:\temp\oam.keytab: Keytab version: 0x502 keysize 80 HTTP/oam11g.example.com@lm.example.com ptype 0 (KRB5_NT_ UNKNOWN) vno 3 etype 0x17 (RC4-HMAC) keylength 16 (0xa3a685f89364d4a 5182b028fbe79ac38)
ノート:
ユーザーが管理者グループに含まれていない場合、次の手順を実行して、ユーザーのリモート・デスクトップ接続を明示的に許可します。
Oracle Access Managementコンソールから、「コントロール パネル」→「リモートの設定」→「システムのプロパティ」を選択して、「リモート」タブに移動します。
「リモート デスクトップを実行しているコンピュータからの接続を許可する」オプションを選択します。
「ユーザーの選択」をクリックします。
ユーザーを追加します。
「適用」をクリックします。
新しく作成したkeytabファイルをOAMサーバーの適切な場所にコピーし、権限が正しいことを確認して、Access Managerを作成したユーザーがこのファイルにアクセスしてktpass
コマンドを実行できるようします。
単純なOAMサーバーKerberosのkrb5.confまたはkrb5.ini構成を作成します。次に例を示します。
[libdefaults] default_realm = lm.example.com ticket_lifetime = 600 clock_skew = 600 [realms] lm.example.com = { -- kdc = kdc.lm.example.com admin_server = kdc.lm.example.com default_domain = lm.example.com } [domain_realm] lm.example.com =LM.EXAMPLE.COM .lm.example.com = LM.EXAMPLE.COM
ノート:
OAMアカウントは、すべてが信頼する1つのドメイン(lm.example.com)に作成します。これは、lmsib.sprite.comでは必要ありません。
keytabファイルと作成したActive DirectoryおよびAccess ManagerのユーザーのSPNを使用して、klist
およびkinits
が機能することを確認し、その結果を記録します。
kdestroy
klist [-k] [-t <keytab_filename>]。次に例を示します。
bash-3.2$ klist -k -t -K -e FILE:/refresh/home/oam.keytab Keytab name: FILE:/refresh/home/oam.keytab KVNO Timestamp Principal ---- ----------------- --------------------------------------------------- 3 12/31/69 19:00:00 HTTP/oam11g.example.com@lm.example.com (ArcFour with HMAC/md5)(0xa3a685f89364d4a5182b028fbe79ac38) bash-3.2$
kdestroy
kinit [-k] [-t <keytab_filename>] [<principal>]。次に例を示します。
klist -k -t -K -e FILE:/refresh/home/oam.keytab
bash-3.2$ kinit -V -k -t /refresh/home/oam.keytab
HTTP/oam11g.example.com@lm.example.com
Authenticated to Kerberos v5
klist -e
bash-3.2$ klist -e Ticket cache: FILE:/tmp/krb5cc_8000 Default principal: HTTP/oam11g.example.com@lm.example.com Valid starting Expires Service principal 02/25/12 18:46:55 02/25/12 18:56:55 krbtgt/LM.EXAMPLE.COM@LM.EXAMPLE.COM Etype (skey, tkt): ArcFour with HMAC/md5, AES-256 CTS mode with 96-bit SHA-1 HMAC Kerberos 4 ticket cache: /tmp/tkt8000 klist: You have no tickets cached bash-3.2$
次のように進めます。
成功: 「Access Manager操作の確認」を続行します。
不成功: 停止してこの統合と関係のない問題を解決します。この時点での失敗は、Access Manager WNAを機能できないことを示します。
フォレスト間で信頼関係が確立されていないときは、Kerberos認証モジュールではなくKerberosPluginを使用して、複数のフォレストまたはドメインに対してKerberos認証を構成してください。
各フォレストには、OAMがWNAを使用して認証するために使用するサービス・プリンシパル名(SPN)を設定する必要があります。各フォレストに対してKTAプラグインを追加して、フォレストに対応するSPNを指定する必要があります。KTAプラグインに適切にフォールバックするように、各KTAプラグインの「ステップ・オーケストレーション」タブの失敗条件とエラー条件を変更します。成功条件を満たすと、指定されたSPNを使用して、特定のフォレストに対してKerberosトークンが検証されたことが保証されるようにします。