| Oracle® Fusion Middleware Oracle WebCenter Portalの管理 11gリリース1 (11.1.1.9.0) E51441-06 |
|
![]() 前 |
![]() 次 |
この章では、アイデンティティ・ストアを、デフォルトの組込みLDAPアイデンティティ・ストアではなく外部のLDAPと再度関連付ける方法について説明します。また、Oracle WebCenter Content Server用のLDAPサーバーを構成する方法についても説明しますが、内容は次のとおりです。
|
注意: アイデンティティ・ストアを再度関連付ける前に、次の関連する構成ファイルを必ずバックアップしてください。
念のため、ドメインの管理サーバーの |
Portal Frameworkアプリケーションでは「ディスカッション・サーバーの新しい管理者アカウントの識別」の手順が必要でないことに注意してください。アイデンティティ・ストアの詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』を参照してください。
|
権限: この章のタスクを実行するには、Oracle WebLogic Server管理コンソールでWebLogic ServerのAdminロールが付与されている必要があります。MonitorまたはOperatorロールを持つユーザーは、セキュリティ情報を表示できますが変更することはできません。
第1.8項「管理操作、ロールおよびツールの理解」も参照してください。 |
ほとんどの場合、アイデンティティ・ストアは、デフォルトの組込みLDAPは使用せずに、外部LDAPサーバーに再度関連付ける必要があります。多くの様々なタイプのLDAPサーバー(サポートされているLDAPのリストは、『Oracle Platform Security Servicesによるアプリケーションの保護』のサポートされているLDAPアイデンティティ・ストアのタイプに関する項を参照)を使用できますが、この項ではアイデンティティ・ストアを構成してOracle Internet Directory (OID)を使用する方法に重点を置きます。
|
注意: 外部LDAPサーバーへのアイデンティティ・ストアの再関連付けは、ドキュメントまたはディスカッション・ツールを使用している場合にのみ必須で、その場合はWC_Spacesサーバー、Content Serverおよびコラボレーション・サーバーをすべて同じ外部LDAPサーバーを使用するように構成する必要があります。 |
サポートされている他のLDAP用のGUID属性は、第31.2項「外部LDAPアイデンティティ・ストア用のGUID属性の構成」を参照してください。サポートされているLDAPサーバー用の他のユーザー属性マッピングは、『Oracle Platform Security Servicesによるアプリケーションの保護』のユーザーとロールAPIリファレンスの付録を参照してください。表「LDAPディレクトリへのユーザー属性のマッピング」に示されているように、すべての属性がWLSに付属する組込みLDAPサーバーを含むすべてのLDAPサーバーで使用できるわけではありません。WebCenter PortalによってサポートされているLDAPのチューニングとパフォーマンスの詳細は、パフォーマンス・チューニング・ガイドのアイデンティティ・ストア構成のチューニングに関する項を参照してください。
|
注意: アイデンティティ・ストアの既存のデータベース(つまり、WebCenterをデフォルト構成でインストールする場合に作成されるデフォルトのデータベース・ストアではない)を使用するには、OVDを使用するか、ユーザーおよびロールAPIに基づいてカスタム・プロバイダを書き込む必要があります(『Oracle Platform Security Servicesによるアプリケーションの保護』のカスタム・ユーザーおよびロール・プロバイダの開発に関する項を参照)。LibOVDをデータベース・アイデンティティ・ストアとともに使用しないでください。 |
|
注意: 本番環境の外部LDAPアイデンティティ・ストア(OIDなど)を別の外部LDAPストアに再度関連付けすることはサポートされていません。ビジネス要件によりそのような再関連付けを行う場合は、プロセス中にユーザー情報やアーティファクトが失われる可能性があるため、実施前にOracleサポートにご連絡ください。 |
アイデンティティ・ストアをOIDに再度関連付ける手順は次のとおりです。
WebLogic Server管理コンソールにログインします。
WebLogic Server管理コンソールへのログインの詳細は、第1.13.2項「Oracle WebLogic Server管理コンソール」を参照してください。
「ドメイン構造」ペインで、「セキュリティ・レルム」をクリックします。
「セキュリティ・レルムのサマリー」ペインが表示されます。
「名前」列で、アイデンティティ・ストアを再度関連付けるレルムをクリックします。
「レルムの設定」ペインが表示されます。
「プロバイダ」タブを開きます。
プロバイダの設定ペインが表示されます。
「新規」をクリックして、新しいプロバイダを追加します。
「新しい認証プロバイダの作成」ペインが表示されます。
プロバイダの名前を入力します(OIDAuthenticatorなど、Oracle Internet Directoryに対してユーザーを認証するプロバイダの名前)を入力します。
LDAPディレクトリに適したオーセンティケータをオーセンティケータのリストから選択します。
一般的なDefaultAuthenticatorを選択するのではなく、構成するLDAPに関連付けられたオーセンティケータを選択してください。たとえば、OIDの場合はOracleInternetDirectoryAuthenticator、iPlanetの場合はIPlanetAuthenticatorを選択します。
「OK」をクリックして、設定を保存します。
設定ペインに新規の認証プロバイダが表示されます。
「認証プロバイダ」のリストで、新しく作成したプロバイダをクリックします。
新規の認証プロバイダの設定ペインが表示されます。
「制御フラグ」をSUFFICIENTに設定します。
「制御フラグ」をSUFFICIENTに設定すると、このオーセンティケータがユーザーを正常に認証できる場合はその認証を受け入れ、それ以上のオーセンティケータを起動しません。
|
注意: 認証に失敗した場合、その認証は連鎖内の次のオーセンティケータに渡されます。そのため、後続のすべてのオーセンティケータについても、制御フラグがSUFFICIENTに設定されていることを確認します。 |
「保存」をクリックして、設定を保存します。
「プロバイダ固有」タブを選択して、LDAPサーバーの詳細を入力します。
「プロバイダ固有」ペインが表示されます。
使用するLDAPサーバーに固有の詳細を入力します。
|
注意: OIDの場合の適切な値を次の表に示します。Active Directoryなど、他のLDAPの許容値については、『Oracle Platform Security Servicesによるアプリケーションの保護』の付録「OPSSのシステム・プロパティおよび構成プロパティ」を参照してください。 |
| パラメータ | 値 | 説明 |
|---|---|---|
| ホスト: | LDAPサーバーのサーバーID(例: <ldap_host>example.com) |
|
| ポート: | LDAPサーバーのポート番号(例: 3060) |
|
| プリンシパル: | LDAPサーバーへの接続に使用されるLDAPユーザーDN(例: cn=orcladmin) | |
| 資格証明: | LDAPサーバーへの接続に使用されるパスワード | |
| ユーザー・ベースDN: | ユーザーの基点となるDNを指定します(例: cn=users,dc=example,dc=com) |
|
| グループ・ベースDN: | グループ・ノードを示すDNを指定します(例: cn=groups,dc=example,dc=com) |
|
| 取得したユーザー名をプリンシパルとして使用する | 選択 | 有効にしておく必要があります。 |
| すべてのユーザーのフィルタ: | (&(uid=*)(objectclass=person)) |
「ユーザー・ベースDN」内のすべてのユーザーを検索するための検索フィルタ |
| 名前指定によるユーザー・フィルタ: | (&(uid=%u)(objectclass=person)) |
|
| ユーザー名属性: | uid |
「保存」をクリックします。
「プロバイダ」タブに戻り、リストの先頭に新しい認証プロバイダ、その次に他のオーセンティケータ、最後にDefaultAuthenticatorが表示されるようにプロバイダを並べ替えます。
すべてのオーセンティケータの制御フラグをSUFFICIENTに設定し、新しいプロバイダからDefaultAuthenticator(デフォルトのファイルベースの組込みLDAPのみで使用)に至るまで、後続のオーセンティケータで渡されたアイデンティティを認証できるようにする必要があります。たとえば、デフォルトの管理者アカウントなどのログインは通常、LDAPディレクトリ内に作成されませんが、サーバーを起動するためには認証が必要です。DefaultAuthenticatorにアイデンティティが渡されない場合、デフォルトの管理者アカウントは認証されません。DefaultAuthenticatorおよびデフォルトの管理者アカウントの詳細は、第31.4項「外部LDAPサーバーへの管理者アカウントの移行」を参照してください。
|
注意: 複数のオーセンティケータを使用する場合は、REQUIRED制御フラグを使用しないでください。オーセンティケータのリストでREQUIRED制御フラグが見つかった場合、その位置に関係なく、後続のオーセンティケータは調査されません。 |
変更が有効になるように、管理サーバーと管理対象サーバーを再起動します。
この項では、Oracle LDAP以外の実装で使用される様々なGUID属性について説明します。サポートされている他のLDAPサーバーの他のユーザー属性マッピングについては、『Oracle Platform Security Servicesによるアプリケーションの保護』のLDAPディレクトリへのユーザー属性のマッピングに関する項を参照してください。『Oracle Platform Security Servicesによるアプリケーションの保護』のユーザー属性をLDAPディレクトリにマップする方法に関する項も参照してください。
|
注意: orclGuid属性を使用しないLDAPアイデンティティ・ストア(IBM Tivoliなど)を使用する場合は、WLSオーセンティケータのGUID属性をマップして、WLSオーセンティケータが自動的に使用されるようにできます。 |
IBM Tivoli® Directory Server:
ibm-entryUUID
Microsoft® Active Directory:
objectGUID
Active Directoryを使用する場合、samAccountName属性は20文字に制限されます。また、Lotus Connectionsで使用される他のIDは256文字に制限されます。
Microsoft Active Directory Application Mode (ADAM):
objectGUID
objectSIDをADAMのデフォルトとして使用するには、次の行をwimconfig.xmlファイルの<config:attributeConfiguration>セクションに追加します。
<config:externalIdAttributes name="objectSID" syntax="octetString"/>
IBM Domino® Enterprise Server:
dominoUNID
Domino LDAPのバインドIDがDominoディレクトリに対して十分なマネージャ・アクセスができない場合、Virtual Member Manager (VMM)は、Dominoスキーマ問合せに対して正しい属性タイプを返さず、VMM IDとしてDNが返されます。VMMのデフォルトのID設定をオーバーライドするには、wimconfig.xmlファイルの<config:attributeConfiguration>セクションに次の行を追加します。
<config:externalIdAttributes name="dominoUNID"/>
Sun Java™ System Directory Server:
nsuniqueid
eNovell Directory Server:
GUID
開発またはテストを目的として、ユーザーを組込みLDAPに追加するには、WebLogic Server管理コンソールを使用するか、またはLDIFファイルとLDAPコマンドを使用します。LDIFファイルを使用すると、WebLogic Server管理コンソールからでは使用できない属性を追加できます。
|
注意: 組込みLDAPサーバーは、テストや概念実証の目的のみに使用してください。本番用には、Oracle Internet DirectoryやMicrosoft Active Directoryなど、OPSSユーザーおよびロールAPIでサポートされている外部アイデンティティ・ストアを使用することをお薦めします。ユーザーおよびロール属性の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のLDAPディレクトリへのユーザー属性のマッピングに関する項を参照してください。 |
Oracle Internet Directoryでは通常、ユーザーはODSMを使用して管理されます(『Oracle Internet Directory管理者ガイド』のディレクトリ・エントリの管理に関する項を参照してください)。
|
注意: アイデンティティ・ストアを外部LDAPに再度関連付けする予定がある場合は、再関連付けの手順(第31.1項「外部LDAPサーバーへのアイデンティティ・ストアの再関連付け」を参照)を先に実行してください。組込みLDAPをOIDや他の外部LDAP実装に再度関連付けする場合、ユーザーやユーザーのアーティファクトが移行できないことがあるからです。したがって、本番環境にユーザーを移行する場合を除き、組込みLDAPにはユーザーを追加しないでください。組込みLDAPは、テスト環境のみで使用することを目的としており、本番環境への移行が可能なステージング環境で使用することは意図していません。 |
WebCenter Portalでは自己登録がサポートされます。WebCenter Portalに自己登録した新規ユーザーは、アイデンティティ・ストアに直接追加されます。自己登録の詳細は、第48.11項「自己登録の有効化」を参照してください。
|
注意: アイデンティティ・ストアへのユーザーの追加は、一般にシステム管理者のタスクであり、アプリケーションレベルの管理者は必要な権限を持っていてもこのタスクを実行できない場合があります。 |
この項には次のサブセクションが含まれます:
WebLogic Server管理コンソールから組込みLDAPアイデンティティ・ストアにユーザーを追加するには:
WebLogic Server管理コンソールにログインします。
WebLogic Server管理コンソールへのログインの詳細は、第1.13.2項「Oracle WebLogic Server管理コンソール」を参照してください。
「ドメイン構造」ペインで、「セキュリティ・レルム」をクリックします。
「セキュリティ・レルムのサマリー」ペインが表示されます。
「名前」列で、ユーザーを追加するレルムをクリックします。
「レルムの設定」ペインが表示されます。
「ユーザーとグループ」タブをクリックし、現行ユーザーのリストを表示します。
「新規」をクリックして、新しいユーザーを追加します。
「新しいユーザーの作成」ページで、「名前」フィールドに新しいユーザーのログイン名を入力します。
ユーザー名では大/小文字が区別されます。また、ユーザー名は一意である必要があります。カンマ、タブ、および次のカンマ区切りリスト内のその他の文字は使用しないでください。
< >、#、|、&、?、( )、{ }
「説明」フィールドに、ユーザーの説明(たとえば、ユーザーのフル・ネーム)を入力します。
「プロバイダ」ドロップダウン・メニューからDefaultAuthenticatorを選択します。
「パスワード」フィールドに、ユーザーのパスワードを入力します。
WebLogic認証プロバイダで定義されたユーザーのパスワードの最低限の長さは8文字です(他のLDAPプロバイダではパスワード長の要件が異なる場合があります)。本番環境では、weblogic/weblogicのようなユーザー名とパスワードの組合せは使用しないでください。
「パスワードの確認」フィールドにパスワードを再入力します。
「OK」をクリックして変更を保存し、ユーザーを追加します。
追加したユーザーがユーザー・リストに表示されます。
LDIFファイルを使用して組込みLDAPアイデンティティ・ストアにユーザーを直接追加する手順は次のとおりです。LDIFファイルを使用すると、WebLogic Server管理コンソールからは使用できない追加のユーザー属性を指定できます。組込みLDAPサーバーはLDAPに準拠したサーバーであるため、LDAPコマンドを使用してユーザーの追加や変更ができます。また、ディレクトリを検索することもできます。これは、ユーザー・アカウントをエクスポートおよびインポートする場合に役立ちます。
LDIFファイルを使用して組込みLDAPにユーザーを追加するには、次のタスクを実行する必要があります。
外部LDAPアクセスの有効化
LDAPアクセス資格証明は、WebLogic Serverのインストール時にランダム値として設定され、config.xmlファイルに暗号化されます。外部LDAPアクセスを有効にするには、組込みLDAPのアクセス資格証明をリセットする必要があります。
組込みLDAPのアクセス資格証明をリセットする手順は次のとおりです。
WebLogic Server管理コンソールにログインします。
WebLogic Server管理コンソールへのログインの詳細は、第1.13.2項「Oracle WebLogic Server管理コンソール」を参照してください。
「ドメイン構造」ペインで、wc_domainをクリックします。
wc_domainの「設定」ペインで「セキュリティ」タブをクリックし、「組込みLDAP」タブをクリックします。
wc_domainの「設定」ペインに組込みLDAP設定が表示されます。
「資格証明」フィールドに新しいパスワードを入力し、「資格証明の確認」フィールドに再度入力します。
「保存」をクリックして、設定を保存します。
WebLogicサーバーを再起動します。
これを行った後は、次の値を使用してLDAPサーバーにアクセスできるようになります。
管理アクセスのDN値は"cn=Admin"です。
パスワードは「資格証明」フィールドに入力した値です。
ポートは管理ポートと同じポート(デフォルトは7001)です。
LDIFファイルの作成
LDIFファイルは任意のテキスト・エディタで作成できます。また、LDIFファイルには、組込みLDAPディレクトリに該当する任意の属性を含めることができます。WebLogic Serverの組込みLDAPサーバーのデフォルトでサポートされているobjectclassesは次のとおりです。
person
inetOrgPerson
organizationalPerson
wlsUser
組込みLDAPサーバーと正常に対話するには、ディレクトリ情報ツリー(DIT)のデフォルト・レイアウトを理解しておく必要があります。組込みLDAPディレクトリのデフォルト・レイアウトを図31-1に示します。
|
注意: 組込みLDAPのディレクトリ・ツリーでは、ユーザー・エントリのネーミング属性は「uid」です。これは、Oracle Internet Directory (OID)のデフォルトの構成(ネーミング属性は「cn」)とは異なります。また、このツリーにおけるユーザーの場所は「ou=people,ou=myrealm,dc=wc_domain」です。 |
次の例は、WebCenter Portalユーザー・プロファイルの画面に表示される属性が指定されたLDIFファイルを示しています。
dn: uid=john.doe,ou=people,ou=myrealm,dc=wc_domain description: John Doe cn: john.doe uid: john.doe sn: Doe objectclass: wlsUser objectclass: organizationalperson objectclass: inetOrgPerson objectclass: person objectclass: top userpassword: MyPassword displayName: John Doe employeeNumber: 12345 employeeType: Regular givenName: John homePhone: 650-555-1212 mail: john.doe@example.com title: Manager manager: uid=mary.jones,ou=people,ou=myrealm,dc=wc_domain preferredLanguage: en departmentNumber: tools facsimiletelephonenumber: 650-555-1200 mobile: 650-500-1200 pager: 650-400-1200 telephoneNumber: 650-506-1212 postaladdress: 200 Oracle Parkway l: Redwood Shores homepostaladdress: 123 Main St., Anytown 12345
複数のユーザー・エントリを含むファイルを作成するには、前述の行を必要な回数だけレプリケートし、エントリ間に空白行を入れます。
|
注意: WebCenter Portalのユーザー・プロファイルには、Oracle Internet Directoryのみで使用可能な属性が含まれます。これには、orclUserV2オブジェクト・クラスの次の属性があります。
これらの属性は、組込みLDAPアイデンティティ・ストアには追加できません。 |
ユーザーの追加
次の例では、ldappaddコマンドを使用しています。このコマンドは、Oracle Internet Directoryサーバーに付属のLDAPコマンド行ユーティリティに含まれます。ldappaddコマンドの使用の詳細は、『Oracle Identity Managementリファレンス』のOracle Internet Directoryデータ管理ツールに関する項を参照してください。WebCenter PortalおよびPortal FrameworkアプリケーションでサポートされるLDAPサーバーのユーザー属性マッピングの全リストは、『Oracle Platform Security Servicesによるアプリケーションの保護』のLDAPディレクトリへのユーザー属性のマッピングに関する項を参照してください。
ldapadd -h weblogichost.example.com -p 7001 -D cn=Admin -w password -v -f newuser.ldif
add description:
John Doe
add cn:
john.doe
add uid:
john.doe
add sn:
Doe
add objectclass:
wlsUser
organizationalperson
inetOrgPerson
person
top
add userpassword:
password
add displayname:
John Doe
add employeenumber:
12345
add employeetype:
Regular
add givenname:
John
add homephone:
650-555-1212
add mail:
john.doe@example.com
add title:
Manager
add manager:
uid=mary.jones,ou=people,ou=myrealm,dc=wc_domain
add preferredlanguage:
en
add departmentnumber:
tools
add facsimiletelephonenumber:
650-555-1200
add mobile:
650-500-1200
add pager:
650-400-1200
add telephonenumber:
650-506-1212
add postaladdress:
200 Oracle Parkway
add l:
Redwood Shores
add homepostaladdress:
123 Main St., Anytown 12345
adding new entry uid=john.doe,ou=people,ou=myrealm,dc=wc_domain
modify complete
外部LDAPサーバーを使用するようにドメインを構成する場合、必要に応じてシステム管理者アカウント(デフォルトではweblogic)をLDAPサーバーに移行することもできます。
システム管理者アカウントまたはLDAP内の他の適切なユーザーが「管理者」というLDAPグループに属する場合、このアカウントは、サーバーを管理するための権限を満たしています。また、DefaultAuthenticatorプロバイダを認証プロバイダのリストから削除できます。この場合、すべてのユーザー(管理者アカウントを含む)は外部LDAPに対して認証されます。
|
注意: WebCenter Portalは、最初のオーセンティケータによってマップされたアイデンティティ・ストア内のユーザーのみを認識します。WebCenter Portal管理者アカウントは当初は組込みのLDAPサーバーにのみ作成されるため、Oracle Internet Directoryなどの外部LDAPをWebCenter Portalのプライマリ・オーセンティケータとして構成する場合は、そのLDAP内にユーザーを作成し、そのユーザーにWebCenter Portal管理者ロールを付与する必要もあります。WebCenter Portal管理者ロールのユーザーへの付与の詳細は、第32.5.1項「WebCenter Portal管理者ロールの付与」を参照してください。 |
weblogic(デフォルト)ユーザーを外部LDAPディレクトリに作成できない場合は、2つのオプションがあります。次を実行できます。
DefaultAuthenticatorプロバイダを維持したまま、weblogicアカウントとローカルの組込みLDAPサーバーをWebLogic Serverで使用し、WebLogic Server管理コンソールからサーバーの起動と停止および他の管理者用操作を行います。DefaultAuthenticatorを維持する場合は、DefaultAuthenticationプロバイダの制御フラグがSUFFICIENTに設定されていることを確認してください。このオプションを選択する場合、第31.4.1項「ディスカッション・サーバーの新しい管理者アカウントの識別」に示されている追加の手順を実行する必要もあります。
|
注意: DefaultAuthenticatorからweblogicユーザー・アカウントを使用する場合は、WebCenter Portalにアクセスする際にこのアカウントを使用しないでください。アプリケーション・コードから外部LDAPストアのユーザーを検索できなくなります。 |
DefaultAuthenticatorを削除し、管理者用操作(サーバーの起動や停止など)で使用する有効なユーザー・アカウントを「管理者」グループに含めます。その他の名前のグループに含める場合は、そのグループにOIDまたは他の外部LDAPでドメインの管理を許可されたユーザーのリストが含まれている必要があります。「管理者」以外の名前を使用する場合は、WebLogic Serverグローバル管理者ロールの定義でグループ名を更新する必要があります。デフォルトでは、これは「管理者」というエンタープライズ・グループのメンバーシップとして定義されています。管理者グループ名の変更の詳細は、第31.4.2項「管理者グループ名の変更」を参照してください。
この項には次のサブセクションが含まれます:
ディスカッション・サーバーをインストールしており、管理者アカウントを外部LDAPに移行しない場合(第31.4項「外部LDAPサーバーへの管理者アカウントの移行」を参照)、WebLogic Serverでオーセンティケータの順序を変更する前に、ディスカッション・サーバーで新しい管理者アカウントを識別するために追加の手順を実行する必要があります。
ディスカッション・サーバーの管理者にするユーザー・アカウントを外部LDAPから選択します。
外部LDAPから選択したユーザー・アカウントに一致する管理者アカウントをDefaultAuthenticator(組込みLDAP)に作成します。組込みLDAPと外部LDAPサーバーのアカウント名は一致する必要があります。
組込みLDAPへのユーザーの追加の詳細は、第31.3項「組込みLDAPアイデンティティ・ストアへのユーザーの追加」を参照してください。
ディスカッション・サーバー管理コンソールに起動アイデンティティ・アカウント(weblogic)でログインし、次にアクセスします。
http://host:port/owc_discussions/admin
hostとportはWLS_Services管理対象サーバーのホストIDとポート番号です。
「設定」→「管理者/モデレータ」をクリックします。
「管理者およびモデレータ」ページが表示されます(図31-2を参照)。
「新規権限の付与」をクリックします。
「新規権限の付与」ペインが表示されます(図31-3を参照)。
作成したユーザーにシステム管理者権限を付与します(図31-4を参照)。
「システム」→「システム・プロパティ」をクリックします。
「Jiveプロパティ」ページが表示されます(図31-5を参照)。
赤でマークされたプロパティが追加され、図31-5のように設定されていることを確認します。
WebLogic Server管理コンソールにログインします。
WebLogic Server管理コンソールへのログインの詳細は、第1.13.2項「Oracle WebLogic Server管理コンソール」を参照してください。
「ドメイン構造」ペインで、「セキュリティ・レルム」をクリックします。
「セキュリティ・レルムのサマリー」ペインが表示されます。
「名前」列で、管理者グループ名を変更するレルムをクリックします。
「レルムの設定」ペインが表示されます。
「プロバイダ」タブを選択し、「認証」サブタブを選択したら、外部LDAPのオーセンティケータがリストの先頭に表示されるように認証プロバイダの順序を変更します(図31-6の例を参照)。
ドメインの管理サーバーとディスカッション・サーバーを再起動します。
まだ実行していない場合は、外部LDAP内にユーザーを作成し、そのユーザーにWebCenter Portal管理者ロールを付与する必要があります(第32.5.1項「WebCenter Portal管理者ロールの付与」を参照)。
LDAPサーバーにドメインの管理権限を持つユーザーが含まれる場合、そのサーバーで有効な他のエンタープライズ・ロールにグループ名を変更できます。これにより、エンタープライズ内で特定のドメインの管理を委任できます。様々な管理グループをディレクトリに作成し、対応するドメインで管理者を定義する際に適切なグループが使用されるよう構成できます。
次の例のLDIFファイルでは、Oracle Internet Directoryに管理グループを作成します。
dn: cn=wc_domain_Admin,cn=groups,dc=example,dc=com cn: wc_domain_Admin uniquemember: cn=joe.admin,cn=users,dc=example,dc=com owner: cn=orcladmin displayname: WebLogic Administrators Group description: WebLogic Administrators Group objectclass: orclgroup objectclass: groupofuniquenames
このグループの作成後に、WebLogic Server管理コンソールを使用してWebLogic Serverグローバル管理ロールのロール定義を更新する必要があります。
WebLogic Serverグローバル管理ロールのロール定義を更新する手順は次のとおりです。
WebLogic Server管理コンソールにログインします。
WebLogic Server管理コンソールへのログインの詳細は、第1.13.2項「Oracle WebLogic Server管理コンソール」を参照してください。
「ドメイン構造」ペインで、「セキュリティ・レルム」をクリックします。
「セキュリティ・レルムのサマリー」ペインが表示されます。
「名前」列で、管理者グループ名を変更するレルムをクリックします。
「レルムの設定」ペインが表示されます。
「ロールとポリシー」タブを開き、「レルム・ロール」サブタブを開きます。
「レルム・ロール」設定ペインが表示されます。
「グローバル・ロール」ノードを開き、「ロール」ノードを開きます。
Adminロールの「ロール条件の表示」をクリックします。
「グローバル・ロールの編集」ページが表示されます。
デフォルトでは、Oracle Internet Directory(または他の構成済アイデンティティ・ストア)のAdministratorsグループにはWebLogic Serverで管理者ロールを持つユーザーが定義されています。
「条件の追加」をクリックして、別のグループ名を追加します。
「グローバル・ロールの編集」ページに「述部リスト」が表示されます。
「述部リスト」からGroupを選択し、「次へ」をクリックします。
「グローバル・ロールの編集」ページに「引数」が表示されます。
新規管理者グループの名前を入力して、「追加」をクリックします。
選択した新規管理者グループを残したまま既存の管理者グループを削除するには、そのグループを選択して「削除」をクリックします。
「終了」をクリックして、変更を保存します。
この変更を行うと、指定した新規グループのすべてのメンバーにWebLogic Serverの管理権限が付与されます。
Oracle WebCenter Content Serverは、WebCenter Portalと同じアイデンティティ・ストアLDAPサーバーを使用するように構成する必要があります。Content Serverの構成の詳細は、第9章「コンテンツ・リポジトリの管理」を参照し、『Oracle Platform Security Servicesによるアプリケーションの保護』のLDAPアイデンティティ・ストア・サービスの構成に関する項も参照してください。
複数のアイデンティティ・ストアを使用するサイトでは、libOVDを使用することによりユーザー・プロファイル情報を集約できます。次の2つのシナリオの構成手順を説明します。
それぞれに完全なユーザー・プロファイル情報が存在する個別のアイデンティティ・ストアでユーザーを有効にする場合。
それぞれに部分的な属性が存在する2つのアイデンティティ・ストアで同一ユーザーを有効にする場合。
|
注意: Active Directoryによる自己登録をサポートする場合は、第30.3.3項「Active Directoryを使用してWebCenter Portalを構成するとユーザーが自己登録できない」に記載されているトラブルシューティングを必ず参照してください。 |
この項には次のサブセクションが含まれます:
各アイデンティティ・ストアに完全なユーザー・プロファイルが存在する場合にlibOVDを構成する手順は次のとおりです。
構成するアイデンティティ・ストアのWLS管理コンソールで必要なオーセンティケータを作成し、ドメインのWeblogic管理サーバーおよび管理対象サーバーを再起動します。または、jps-config.xmlでアイデンティティ・ストア情報を手動で構成することもできます。
アイデンティティ・ストア・サービス・インスタンスをjps-config.xmlで更新し、値がtrueであるvirtualizeプロパティおよびOPTIMIZE_SEARCHプロパティを追加します。これは手動でjps-config.xmlファイルを編集するか、Fusion Middleware Controlを使用して実行できます。
|
注意: 検索パフォーマンスを最適化するには、WLS認証済プロバイダのデフォルト・タイムアウト設定を増やすこともできます。OIDの例の設定を次に示します。OID Authenticator->Provider Specific: Connection Pool Size: 50 Connection Timeout: 30 Results time Limit: 10000 (=10 secs) Cache Size: 5120 (=5Mb or 10Mb) Cache TTL = 7200 (=2h) OID Authenticator->Performance: Max Group Hierarchies In Cache: 1000 Group Hierarchy Cache TTL: 7200 (=2h) |
WebCenter Portalを使用すると、ユーザーは自己登録が可能です。これにより、新しいユーザーまたはグループがアイデンティティ・ストアに作成されます。複数のアイデンティティ・ストアが使用されるため、ユーザー作成ベースおよびグループ作成ベースをjps-config.xmlで明示的に指定する必要があります。この手順は、jps-config.xmlを直接編集して行う必要があります。
構成後のjps-config.xmlファイルは、次の例のようになります。
<serviceInstance provider="idstore.ldap.provider" name="idstore.ldap"> <property value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvider" name="idstore.config.provider"/> <property value="oracle.security.idm.providers.stdldap.JNDIPool" name="CONNECTION_POOL_CLASS"/> <property value="true" name="virtualize"/> <property value="true" name="OPTIMIZE_SEARCH"/> <extendedProperty> <name>user.create.bases</name> <values> <value>ou=people,ou=myrealm,dc=wc_domain</value> </values> </extendedProperty> <extendedProperty> <name>group.create.bases</name> <values> <value>ou=groups,ou=myrealm,dc=wc_domain</value> </values> </extendedProperty> </serviceInstance>
ユーザー作成ベース「ou=people,ou=myrealm,dc=wc_domain」およびグループ作成ベース「ou=groups,ou=myrealm,dc=wc_domain」は実際の値に置き換えてください。
各アイデンティティ・ストアに部分的なユーザー・プロファイルのみが存在する場合にlibOVDを構成するには:
構成するアイデンティティ・ストアのWLS管理コンソールで必要なオーセンティケータを作成し、ドメインのWeblogic管理サーバーおよび管理対象サーバーを再起動します。または、jps-config.xmlでアイデンティティ・ストア情報を手動で構成することもできます。
アイデンティティ・ストア・サービス・インスタンスをjps-config.xmlで更新し、値がtrueであるvirtualizeプロパティおよびOPTIMIZE_SEARCHプロパティを追加します。これは手動でjps-config.xmlファイルを編集するか、Fusion Middleware Controlを使用して実行できます。
|
注意: 検索パフォーマンスを最適化するには、WLS認証済プロバイダのデフォルト・タイムアウト設定を増やすこともできます。OIDの例の設定を次に示します。OID Authenticator->Provider Specific: Connection Pool Size: 50 Connection Timeout: 30 Results time Limit: 10000 (=10 secs) Cache Size: 5120 (=5Mb or 10Mb) Cache TTL = 7200 (=2h) OID Authenticator->Performance: Max Group Hierarchies In Cache: 1000 Group Hierarchy Cache TTL: 7200 (=2h) |
WebCenter Portalを使用すると、ユーザーは自己登録が可能です。これにより、新しいユーザーまたはグループがアイデンティティ・ストアに作成されます。複数のアイデンティティ・ストアが使用されるため、ユーザー作成ベースおよびグループ作成ベースをjps-config.xmlで明示的に指定する必要があります。この手順は、jps-config.xmlを直接編集して行う必要があります。
構成後のjps-config.xmlファイルは、次の例のようになります。
<serviceInstance provider="idstore.ldap.provider" name="idstore.ldap"> <property value="oracle.security.jps.wls.internal.idstore.WlsLdapIdStoreConfigProvider" name="idstore.config.provider"/> <property value="oracle.security.idm.providers.stdldap.JNDIPool" name="CONNECTION_POOL_CLASS"/> <property value="true" name="virtualize"/> <property value="true" name="OPTIMIZE_SEARCH"/> <extendedProperty> <name>user.create.bases</name> <values> <value>ou=people,ou=myrealm,dc=wc_domain</value> </values> </extendedProperty> <extendedProperty> <name>group.create.bases</name> <values> <value>ou=groups,ou=myrealm,dc=wc_domain</value> </values> </extendedProperty> </serviceInstance>
前述の例の「ou=people,ou=myrealm,dc=wc_domain」および「ou=groups,ou=myrealm,dc=wc_domain」はそれぞれ、ユーザー作成ベースとグループ作成ベースです。構成時には実際の値に置き換えてください。
次のOVD WLSTコマンドを実行して、アイデンティティ・ストアの結合アダプタを構成します。MW_HOME/oracle_common/common/binに移動してwlst.sh(Windowsの場合はwlst.cmd)を起動すると、WLSTプロンプトが表示されます。Weblogic管理サーバーに接続して、次のWLSTコマンドを実行します。
createJoinAdapter(adapterName="<Join Adapter Name>", root="<Namespace>", primaryAdapter="<Primary adapter Name>") addJoinRule(adapterName="<Join Adapter Name>", secondary="<Secondary Adapter Name>", condition="<Join Condition>")
他にもセカンダリ・アイデンティティ・ストアがある場合は、それぞれのセカンダリ・アイデンティティ・ストアに対してaddJoinRuleコマンドを実行します。
modifyLDAPAdapter(adapterName="<AuthenticatorName>", attribute="Visible", value="Internal")
構成した各アイデンティティ・ストアに対して前述のmodifyLDAPAdapterコマンドを実行します。
例
オーセンティケータ1:
この例では、それぞれに部分的な属性が存在する2つのアイデンティティ・ストアで、同じユーザーが有効になります。たとえば、ADがプライマリ・ストアで、OIDがセカンダリ・ストアです。
オーセンティケータ名: AD
ユーザー・ベース: cn=users,dc=acme,dc=com
オーセンティケータ2:
オーセンティケータ名: OID
ユーザー・ベース: cn=users,dc=oid,dc=com
プライマリ・アダプタのネームスペースに対応するuser.create.basesとgroup.create.basesを指定して、前述の手順1から3を実行します。
次のWLSTコマンドを実行します。
createJoinAdapter(adapterName="JoinAdapter1", root="dc=acme,dc=com", primaryAdapter="AD") addJoinRule(adapterName="JoinAdapter1", secondary="OID", condition="uid=cn")
"「uid=cn」は前述の例の結合条件です。これは、セカンダリ・アイデンティティ・ストア(OID)のユーザーのuid値とプライマリ・アイデンティティ・ストア(AD)のユーザーのcn値が一致した場合に、属性が結合されることを示します。
modifyLDAPAdapter(adapterName="OID", attribute="Visible", value="Internal") modifyLDAPAdapter(adapterName="AD", attribute="Visible", value="Internal")
WebLogic管理サーバーと管理対象サーバーを再起動します。
単一オーセンティケータを復元するには結合アダプタ・ルールを削除します。これにより、第31.6.2項「アイデンティティ・ストアに部分的なユーザー・プロファイルが含まれる場合のlibOVDの構成」で実行した構成が取り消されます。
結合アダプタ・ルールを削除するには、Weblogic管理サーバーに接続して、次のWLSTコマンドを実行します。
deleteAdapter(adapterName="JoinAdapter1") modifyLDAPAdapter(adapterName="oid auth", attribute="Visible", value="Yes") modifyLDAPAdapter(adapterName="AD", attribute="Visible", value="Yes")
WebLogic管理サーバーと管理対象サーバーを再起動し、両方のアイデンティティ・ストアのユーザーがログインできることを確認します。
この項では、動的ロールをWebCenter Portal向けに構成する方法を説明します。
この項には次のサブセクションが含まれます:
静的ロールの場合、メンバーシップ・リレーションシップに対するロールは静的です。このリレーションシップはプロビジョニング時に確立され、確立後にユーザーがログインすると、そのユーザーが直接的なメンバーであるロール、またはエンタープライズ・グループに基づいた間接的なメンバーであるロールがすべてサブジェクトに移入されます。
動的ロールはルールベースのロール・メンバーシップを提供します。アプリケーション・ロールへのメンバーシップは動的グループを介して提供されます。動的グループの定義にはユーザー・プロファイル属性の制約と日時を含めることができます。これによりアプリケーションへの柔軟なアクセスが可能になります。たとえば、移行時やメンテナンス期間中のみに、アプリケーションに対してユーザーがアクセスできるようにすることができます。その際、ユーザーに対して明示的にアクセス権を付与する必要はありません。セッション属性またはリクエスト属性に基づくルールは、このリリースではサポートされていません。
Oracle Entitlement Server (OES) 10gでは、制約付きのロールとして動的ロールを定義できます。OESで定義されたロールは、OVDプラグインを通してユーザーのエンタープライズ・グループ・プリンシパルに追加されます。ユーザーがポリシー・ルールにログインする際には、ユーザーのサブジェクトが動的グループ・プリンシパルを取得するかどうかを決定するためにポリシー・ルールが評価されます。図31-7に、OESとOVDプラグインで構成されたトポロジのログイン・プロセスを示します。
図31-8に、OESとOVDプラグインで構成されたトポロジの動的グループ問合せで行われる処理を示します。
OVDプラグインをインストールして構成する前に、Oracle Internet Directory(OID)、Oracle Virtual Directory(OVD) 11gおよびOracle Entitlement Server (OES) 10gをインストールして構成しておく必要があります。現時点で、OVDプラグインはOES 11gでは動作保証されていません。
OIDおよびOVDはOracle Identity Management 11gスイートの一部です。まだインストールしていない場合、『Oracle Identity Managementインストレーション・ガイド』のOracle Identity Management (11.1.1.9.0)のインストールおよび構成に関する項の説明に従ってインストールします。『Oracle Identity Managementインストレーション・ガイド』のOracle Virtual Directoryの構成に関する項の説明に従って、config.shを実行してOVDを構成します。
RMI-SSMと最新の累積パッチを使用してOES 10gをインストールします(SSMのインストールおよび構成ガイドのリモートSSMとプロキシの構成に関する項を参照)。
また、WebCenter Portalのパーソナライズに基づいて制約を組み込む予定がある場合は、第25項「パーソナライズの管理」の説明に従って、パーソナライズ・サーバーのインストールと構成も行う必要があります。
Oracle Virtual Directory(OVD)はOracle Identity Management製品スイートの一部です。OVDを使用すると、複数の異機種間データ・ソースは、WebCenter PortalまたはPortal FrameworkアプリケーションのLDAPクライアントから使用可能な1つの統合ビューとして提供されるため、これらのデータ・ソースの統合に関する問題を簡単に解決できます。OVDを経由することにより、WebCenter PortalまたはPortal Frameworkアプリケーションが使用できる方法でOVDカスタム・アダプタを使用して、OESのデータを公開できます。このアダプタは、LDAP以外のデータをLDAPのようなツリー構造で表現できます。カスタム・アダプタの機能は、アダプタにアタッチ可能なプラグインに含まれています。
OVDプラグインをインストールする手順は次のとおりです。
次のフォルダでoes-ovd-plugin.zipファイルを探します。
WCP_HOME/modules/oracle.webcenter.framework_11.1.1/oes-ovd-plugin.zip
oes-ovd-plugin.zipファイルのコピーを作成します。
OVDをインストールしたplugins/libディレクトリ(例: asinst_1/OVD/ovd1/plugins/lib)に移動します。
oes-ovd-plugin.zipファイルを解凍します。
webcenterNames.xmlをインスタンス・ホーム(例: ORACLE_HOME/asinst_1)にコピーします。
次のディレクトリを作成します。
mkdir pdpproxy mkdir keys
OESの次のjarをOES/rmi-ssmインストール・ディレクトリからlibディレクトリにコピーします。
EccpressoCore.jar antlr.jar api.jar asi_classes.jar asitools.jar commons-pool-1.3.jar connector.jar framework.jar jsafeFIPS.jar jsafeJCEFIPS.jar kodo-runtime.jar log4j.jar managementapi.jar orawsdl14.jar rmi-ssm.jar rmi-stubs.jar rmi-types.jar ssladapter.jar sslplus.jar webservice.jar webserviceclient.jar webservices.jar xbean.jar
作成したkeysディレクトリに移動し、このディレクトリにOESインストール(ales32-shared/keysディレクトリ)のすべてのキーをコピーします。
作成したpdpproxyディレクトリに移動し、PDP構成プロパティ・ファイルをOES (rmi-ssm/pdpproxy/PDPProxyConfiguration.properties)からコピーします。
次のコマンドを使用してOVDプロセスを再起動します。
./opmnctl stopall startall
制約を定義する際にパーソナライズを使用する場合は、次のようにp13nattributeRetrieverをインストールします。
<WebCenter Home>/webcenter/modules/oracle.webcenter.framework_11.1.1/attribute-retriever.jarファイルを見つけます。
OESインストールのrmi-ssm/lib/providersディレクトリを見つけて、そのディレクトリにattribute-retriever.jarファイルをコピーします。
rmi-ssmを再起動します。
この項では、OESおよびOVDプラグインを使用して動的ロールをサポートするように、WebCenter Portal環境を構成する方法について説明します。この項の構成手順を実行する前に、前提条件のアプリケーション(第31.7.2項「動的ロールの構成の前提条件」を参照)とOVDプラグイン(第31.7.3項「OVDプラグインのインストール」を参照)をインストールしておく必要があります。
この項には次のサブセクションが含まれます:
WebCenter Portalで使用する動的ロールはすべて、単一のアンブレラ・リソースとアクションに定義する必要があります。次の手順では、WebCenterApp/WebCenterResourceをアンブレラ・リソース、browseをアクションとして使用します。動的ロールを作成すると、そのロールにはロール・マッピング・ポリシーによってリソースへの参照権限が付与されます。ロール・マッピング・ポリシーには、アイデンティティ・ストアまたはパーソナライズ属性に基づいて制約を追加することもできます。
動的グループにOESを構成するには:
ブラウザを開いて、管理者としてOESコンソールにログオンします。
https://<host>:<port>/asi
「Administration Console」ノードで「Resources」をクリックすると、現在定義されているリソースのリストが「Resources」ページに表示されます(図31-9を参照)。
リソース・ルートを作成するには、javaapi_appノードを右クリックして「Add Resource」を選択し、「Create Resource」ダイアログを表示します。リソースの名前にWebCenterAppと入力し、「Type」でBindingを選択します(図31-10を参照)。
WebCenterAppを右クリックして、その下にWebCenterResourceという名前の新しいリソースを作成し、「Type」でResourceを選択します(図31-11を参照)。
「Resources」ノードの下で「Privileges」をクリックし、「Privileges」ページを表示します。
「New」をクリックしてbrowseという名前のアクションを作成します(図31-12を参照)。
「Identity」ノードを開き、「Roles」をクリックして「Roles」ページを表示します。
「New」をクリックし、「Create Role」ダイアログを使用して動的ロールを作成します(図31-13を参照)。
「Resources」ノードを開き、「Attributes」をクリックして「Resource Attributes」ページを表示します。
「New」をクリックし、「Create Resource Attribute」ダイアログで、制約で使用されるアイデンティティ・ストア属性と同じ名前のリソース属性(例: business_email、timezone)を作成します(図31-14を参照)。制約でパーソナライズ属性を使用する場合は、それらの属性も作成する必要があります。ロール・マッピング・ポリシーで制約として使用する属性を、アイデンティティ・ストア内で空にはできません。
「Policy」ノードを開き、「Role Mapping Policies」をクリックして「Role Mapping Policies」ページを表示します。
「New」をクリックして「Create Role Mapping Policy」ダイアログを表示し、アイデンティティ・ストア属性または組込みシステム属性(hour、dayなど)を使用してロール・マッピング・ポリシーと制約を作成します(図31-15を参照)。
「Policy」ノードの下で、「Authorization Policies」をクリックして「Authorization Policies」ページを表示します。
「New」をクリックし、「Create Authorization Policies」ダイアログを使用して新しい認可ポリシーを作成するか、認可ポリシーのサマリーからポリシーを選択して「Edit」をクリックし、ポリシーのリソースやポリシー・サブジェクトなどの詳細を編集および入力します(図31-16を参照)。
「Service Control Managers」の下で「Authorization」ノードを開き、「ASIAuthorizationProvider」をクリックしてから「Attribute Retrievers」タブを開きます(図31-17を参照)。
「Configure a new Custom Attribute Retriever」をクリックし、WebCenterP13nAttributeRetriever (oracle.webcenter.security.internal.plugins.oes.attributeretriever.WebCenterP13nAttributeRetriever)という名前のカスタム属性リトリーバを作成して、図31-18のようにクラスの詳細を追加します。
「Service Control Managers」の下で「Role Mapping」ノードを開き、「ASIRoleMapperProvider」をクリックして「Bindings」タブを開きます。WebCenterAppリソースを認可プロバイダにバインドします(図31-19を参照)。
「Deployment」をクリックし、「Configuration」タブを開いて構成の変更を配布します(図31-20を参照)。
「Policy」タブを開いて、ポリシーの変更を配布します(図31-21を参照)。
この項では、OVDプラグインの構成方法について説明します。
OVDプラグインを構成するには:
plugins/lib/pdpproxyディレクトリに移動し、ファイルPDPProxyConfiguration.propertiesを編集して、SSM構成ID、OESホスト名、RMISポートおよびトラスト・ストアの場所を指定します。値の例を次に示します。
SSMConfigID=JK_SM1 PDPTransport=RMI PDPAddress=rmis://example.com:9300 (the use of SSL port is always recommended) TrustStore=<OID_HOME>/asinst_1/OVD/ovd1/plugins/lib/keys/DemoTrust.jks
ファイル./config/OPMN/opmn/opmn.xmlを開いて、次のサンプルに示すように、正しいOVDホームパスを指定してOVDプロセスのjava-optionsとjava-classpathを変更します。
<data id="java-options" value="-server -Xms256m -Xmx256m
-Dvde.soTimeoutBackend=0 -Didm.oracle.home=$ORACLE_HOME
-Dcommon.components.home=$ORACLE_HOME/../oracle_common
-Doracle.security.jps.config=$ORACLE_INSTANCE/config/JPS/jps-config-jse.xml
-Djavax.net.ssl.trustStore=$ORACLE_INSTANCE/OVD/ovd1/plugins/lib/keys/DemoTrust.jks
-Dpdp.configuration.properties.location=$ORACLE_INSTANCE/OVD/ovd1/plugins/lib/
pdpproxy/PDPProxyConfiguration.properties -Dwles.ssl.identityKeyAlias=wles-admin
-Dwles.ssl.identityKeyPasswordAlias=wles-admin
-Dwles.ssl.identityKeyStore=$ORACLE_INSTANCE/OVD/ovd1/plugins/lib/keys/identity.jceks
-Dwles.ssl.trustedCAKeyStore=$ORACLE_INSTANCE/OVD/ovd1/plugins/lib/keys/trust.jks
-Dwles.ssl.passwordFile=$ORACLE_INSTANCE/OVD/ovd1/plugins/lib/keys/password.xml
-Dwles.ssl.passwordKeyFile=$ORACLE_INSTANCE/OVD/ovd1/plugins/lib/keys/password.key"/> <data id="java-classpath" value="$ORACLE_INSTANCE/OVD/ovd1/plugins/lib/jsafeFIPS.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/jsafeJCEFIPS.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/scmapi.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/sslplus.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/ssladapter.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/asitools.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/webserviceclient.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/EccpressoCore.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/webservice.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/kodo-runtime.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/kodo-runtime.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/commons-pool-1.3.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/oes-ovd-plugin.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/xbean.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/antlr.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/log4j.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/api.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/asi_classes.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/framework.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/rmi-types.jar: $ORACLE_INSTANCE/OVD/ovd1/plugins/lib/rmi-ssm.jar: $ORACLE_HOME/ovd/jlib/vde.jar$:$ORACLE_HOME/jdbc/lib/ojdbc6.jar"/>
ブラウザでOracle Directory Service Manager (ODSM)を開きます。
http://host:port/odsm
ODSMポートを確認するには、OIDインストールのopmnctl statusコマンドを使用します。デフォルト・ポートは7005です。
LDAP Adapterタイプのアダプタを作成して、LDAPホストおよびポートの詳細を指定します(図31-22のサンプルを参照)。
DNを選択し、DNのマッピング名を指定します。
デフォルト以外の属性にマップする必要がある場合は、アダプタの「Plug-ins」タブを開いてUserManagementアダプタを追加します。たとえば、Active DirectoryをOVDのバック・エンド・ディレクトリ・サーバーとして使用する場合は、UserManagementアダプタを追加して、次のパラメータ・マッピングを指定します。
<param name="directoryType" value="ActiveDirectory"/> <param name="mapAttribute" value="orclguid=objectguid"/> <param name="mapAttribute" value="cn=sAMAccountName"/> <param name="mapAttribute" value="uniquemember=member"/> <param name="mapAttribute" value="OESRole=OESRole"/> <param name="mapObjectclass" value="orclGroup=group"/> <param name="mapObjectclass" value="groupofurls=group"/> <param name="mapObjectclass" value="groupofuniquenames=group"/> <param name="mapObjectclass" value="person=user"/> <param name="mapRDNAttribute" value="uniquemember=member"/>
UserManagementアダプタの構成の詳細は、『Oracle Virtual Directory管理者ガイド』のUserManagementプラグインに関する項を参照してください。
OES10gUserEntitlementsPluginを追加し、次の例に示すように、すべてのプラグイン・パラメータを追加して、ホストおよびポートの詳細をローカル環境のBLMおよびパーソナライズ(p13n)用に置き換えます。
<param name="ldap_group_basedn" value="cn=Groups,dc=us,dc=oracle,dc=com"/> <param name="ldap_user_basedn" value="cn=Users,dc=us,dc=oracle,dc=com"/> <param name="ldap_admin_user" value="cn=Administrator"/> <param name="oes_admin_user" value="admin"/> <param name="OrclOVDEncrypted_oes_admin_pass" value="<password>"/> <param name="oes_config_name" value="JK_SM1"/> <param name="oes_policy_domain" value="JK_SM1"/> <param name="oes_resource_action" value="browse"/> <param name="oes_resource_prefix" value="//app/policy/"/> <param name="oes_resource_name" value="javaapi_app/WebCenterApp/WebCenterResource"/> <param name="oes_resource_namespace" value="webcenterResource"/> <param name="oes_roles_cache_interval" value="180000"/> <param name="oes_action_namespace" value="webcenterAction"/> <param name="p13n_admin_user" value="weblogic"/> <param name="oes_p13n_debug" value="true"/> <param name="OrclOVDEncrypted_p13n_admin_pass" value="<password>"/> <param name="oes_blm_host" value="example.com"/> <param name="oes_blm_port" value="7011"/> <param name="oes_p13n_index_url" value="example.com/> <param name="oes_p13n_prop_url" value="example.com"/> <param name="ldap_eqmatch" value="equalityMatch"/> <param name="ldap_loginattr" value="sAMAccountName"/> <param name="ldap_loginattr" value="mail"/> <param name="ldap_loginattr" value="cn"/>
プラグイン・パラメータとして入力されたパスワードは、暗号化されてサーバーに格納されます。
次のコマンドを使用してOVDプロセスを再起動します。
./opmnctl stopall startall
処理を続ける前に、OVDプロセスの再起動時にエラーが発生していないことを確認します。エラーが発生している場合は、次のエントリを追加すると、プラグインでロギングをオンにできます。
ORACLE_INSTANCE_HOME/config/OVD/ovd1/ovd-logging.xmlovd-logging.xml
<logger name='oracle.webcenter.security.internal.plugins.ovd' level='TRACE:1' useParentHandlers='false'>
<handler name='OVDHandler'/>
</logger>
SSL対応のパーソナライズ属性が必要な場合は、パーソナライズ・サーバーの公開鍵を含む証明書をOVDのトラスト・ストアにインポートします。通常、この証明書はJDKのcacertsファイルです。
パーソナライズ属性を制約の一部として使用する場合は、『Oracle WebCenter PortalおよびOracle Jdeveloperでのポータルの開発』のプロパティ・セットおよびプロパティ定義の作成に関する項を参照してください。パーソナライズの詳細は、第25項「パーソナライズの管理」を参照してください。
この項では、OES 10gで定義されている動的ロールをWebCenter Portalで使用できるようにするための方法を説明します。
デフォルトでは、アイデンティティ・ストアで定義されている静的エンタープライズ・ロールのみがWebCenter Portalに適用されます。OES (Oracle Entitlements Server)内で定義されている動的ロールを使用するには、OVDプラグインをオーセンティケータとして追加する必要があります。その後OVDプラグインによって、アイデンティティ・ストアの静的ロールとOESの動的ロールが統合されます。
動的ロールを使用するようにWebCenter Portalを構成するには:
WebLogic Server管理コンソールにログインします。
WebLogic Server管理コンソールへのログインの詳細は、第1.13.2項「Oracle WebLogic Server管理コンソール」を参照してください。
「タイプ」がOracle Virtual Directoryのオーセンティケータを追加して、OVD接続の詳細およびグループ・ベースdnとユーザー・ベースdnを指定します。
残りの設定については、デフォルト値のままにします。ディレクトリ固有のマッピングは、UserManagementプラグインを使用してアダプタ内でのみ実行する必要があります。UserManagementアダプタの構成の詳細は、『Oracle Virtual Directory管理者ガイド』のUserManagementプラグインに関する項を参照してください。
すべてのサーバーを再起動します。
OIDのユーザーとしてWebCenter Portalにログオンし、ポータルを作成します。
「メンバーの追加」→「グループ」→「検索」に移動し、メンバーとして使用するエンタープライズ・ロールをポータルに追加します(図31-23を参照)。
OVDをオーセンティケータとして使用する場合は、動的グループ(OES)と静的グループの両方が表示されるはずです。図31-23では、ESTUsers、DayUsersおよびISTUsersが動的グループで、その他はOIDの静的グループです。
動的グループとは、動的に移入される静的グループです。動的グループは、ロールに割り当てて、WebCenter Portal内で静的グループと同様に使用できます。
WebCenter Portalアプリケーション内では、静的グループと動的グループは区別されません。動的グループはすべて、アイデンティティ・ストアに構成され(構成内容は使用するLDAP実装に固有のものになります)、静的グループと同様に公開されます(事実上、動的グループは、静的なメンバー・リストと、動的に決定されるメンバーシップで構成されています)。
グループの動的メンバーシップを定義するには、グループのlabeledURI属性に適切なLDAP問合せフィルタを設定します。問合せフィルタには、グループのメンバーシップを定義するユーザー・セットが定義されています。
Oracle Internet Directoryで動的グループを作成するには、LDIFファイルとldapaddコマンドを使用するか、またはOracle Directory Services Manager (ODSM)を使用します。これら2つのオプションについて、次の各項で説明します。
LDIFファイルを使用して動的グループを作成するには:
テキスト・エディタでLDIFファイルを作成します。次の例では、デフォルトのユーザー検索ベース内で役職が「Manager」のユーザーをすべて表す動的グループを定義する方法を示します。
例31-1 LDIFファイルを使用した動的グループの定義
dn: cn=managers,cn=portal.070720.104824.056918000,cn=groups,dc=us,dc=oracle,dc=com labeleduri: ldap://myserver.example.com:12061/cn=users,dc=us,dc=mybiz,dc=com ??sub?(title=Manager) description: Dynamic Group of Managers cn: Managers orclisvisible: true objectclass: orclDynamicGroup objectclass: orclGroup objectclass: top objectclass: groupOfUniqueNames displayname: Managers owner: cn=fmwadmin,cn=users,dc=us,dc=mybiz,dc=com
|
注意: LDAP URLのlabledURI構文はRFC 2255 (http://www.faqs.org/rfcs/rfc2255.html)に定義されています。前述の例は、DN cn=users,dc=us,dc=mybiz,dc=com内で属性title=Managerが設定されているすべてのエントリの検索を表しています。これは、サーバーmyserver.example.comのLDAPポート12061でサブツリー("sub")検索を使用して実行されます。
動的グループは、属性または条件に対して定義できますが、LDAP URLとして表現可能かつ |
ファイルを保存してから、ldapaddコマンドを発行してOIDサーバーを更新します。例:
例31-2 ldapaddコマンドを使用したOIDの更新
ldapadd -h myserver -p 12061 -D cn=fmwadmin -w mybiz1 –f managers.ldif –v add labeleduri: ldap://myserver.example.com:12061/cn=users,dc=us,dc=mybiz,dc=com??sub?(title=Manager) add description: Dynamic Group of Managers add cn: Managers add orclisvisible: true add objectclass: orclDynamicGroup orclGroup top groupOfUniqueNames add displayname: Managers add owner: cn=fmwadmin,cn=users,dc=us,dc=mybiz,dc=com adding new entry cn=managers,cn=portal.070720.104824.056918000,cn=groups,dc=us,dc=mybiz,dc=com modify complete
ODSMを使用して動的グループを作成するには:
Oracle Directory Services Manager (ODSM)を起動してOracle Internet Directoryサーバーに接続します。
Oracle Directory Services Managerの起動および使用の詳細は、『Oracle Internet Directory管理者ガイド』の「Oracle Directory Services Managerの使用」の章を参照してください。
「移動先」リストで「データ・ブラウザ」を選択します。
データ・ブラウザで「新規エントリ」アイコンをクリックします。
DNを指定して、オブジェクト・クラスorclDynamicGroupおよびgroupOfUniqueNamesを追加します。
「必須プロパティ」タブで、CN属性を指定します。
「オプション・プロパティ」タブで、labeleduriの属性を指定します。
「OK」をクリックして、動的グループの定義を完了します。
ツリー・ビューをリフレッシュすると、作成した新しいグループが表示されるはずです。ODSMにはグループ・メンバーは表示されません。
この項では、RESTサービス用のアイデンティティ・アサータを構成する方法について説明します。WebCenter PortalまたはPortal FrameworkアプリケーションでRESTサービス(RESTサービスAPIを含む)を使用する場合は、WebCenterドメインのアイデンティティ・ストアにRESTサービス用のアイデンティティ・アサータを構成する必要があります。次の項では、Oracle WebLogic ServerでOPSSトラスト・サービス・インスタンスとアイデンティティ・アサータを構成する方法について説明します。
この項には次のサブセクションが含まれます:
WebCenter PortalおよびPortal Frameworkアプリケーションや他のOracle WebLogicアプリケーションでは、それらのアプリケーションで必要な方法でREST APIを使用して情報を表示できますが、そのようなコールは中間層から発信されるため、ユーザーはログイン資格証明を再度入力するよう求められます。これに対処するには、ユーザー・アイデンティティがHTTPヘッダーに伝播され、OPSSトラスト・サービス・アサータによってアサートされるときに境界認証を使用します。
ユーザー・アイデンティティをアプリケーション間で正常に伝幡するには、それらのアプリケーションでトラスト・サービス・インスタンスを正しく構成して使用する必要があります。図31-24に、アイデンティティ伝幡とアサーションに関連する各種コンポーネントを示します。
次に、RESTのアイデンティティ伝幡とアサーションに関連した一連のイベントを示します。
エンド・クライアント(ブラウザ、スマートフォン・アプリケーション)は、WebCenter PortalまたはPortal Frameworkアプリケーションに接続します。
アプリケーション・ページは、REST APIからデータを問い合せ、それをもとに独自のUIを構築するため、RESTエンド・ポイントをコールする必要があります。
アプリケーションは、WebCenter Security API (WCSecurityUtility.issueTrustServiceSecurityToken)をコールして、ユーザー・アイデンティティを安全に伝幡するために使用するトークンを発行します。このトークンはトラスト・サービスの組込みプロバイダを使用して生成されます。生成されたトークンは、トークン・サイズを最適化するために圧縮され、トークンが安全に転送されるようにHTTPヘッダーを使用してBASE64にエンコードされます。
アプリケーションは、発行されたトークンを受け取り、「Authorization」セキュリティ・ヘッダーに追加します。クライアントは、そのトークンをREST URIに対するコールの一部としてディスパッチします。
WebLogic Serverは、特定のトークン・タイプのアイデンティティ・アサータが存在するかどうかを確認します。
アイデンティティ・アサータは、トークンを解析して、OPSSトラスト・サービスAPIが使用されていることを確認します。
アサータがユーザー名をWLSユーザー名にマップすると、ユーザーのサブジェクトが確立され、RESTアプリケーションにコールが到達します。
RESTアプリケーションは、そのユーザーがすでに認証済のユーザーであることを認識し、レスポンスを送信します。WebCenter PortalまたはPortal Frameworkアプリケーションはレスポンスを使用して、エンド・ユーザーにページを表示します。
この項では、RESTサービス・アイデンティティ・アサータ用にクライアントを構成する方法について説明します。
RESTサービス・アイデンティティ・アサータ用にクライアントを構成するには:
JDeveloperを使用して、クライアント・アプリケーションを作成します。
クライアント・アプリケーションとしてJSEまたはサーブレット・アプリケーションを作成できます。次の例では、サンプル・クライアント・アプリケーションのスケルトンを示します。
// The authenticated username
// String user = "weblogic";
// URL of the target application
URL url = "http://host:port/destinationApp";
//-----------------------------------------
String b64EncodedToken = WCSecurityUtility.issueTrustServiceSecurityToken()
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setReadTimeout(10000);
connection.setRequestProperty("Authorization", AUTH_TYPE_NAME + " " + b64EncodedToken);
connection.connect();
BufferedReader rd = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = rd.readLine()) != null) {
sb.append(line);
}
connection.disconnect();
System.out.println(sb.toString());
キーストアを作成して構成します。
ドメインのキーストアを作成して、アイデンティティ・アサータ用にWebLogic Serverを構成します。クライアント証明書および秘密鍵用のキーストアがまずプロビジョニングされます。このクライアント証明書はエクスポートされ、トラスト・キーストアにインポートされます。
キーストアを作成します(第36.1.2.1項「WebCenter Portalドメイン・キーストアの作成」を参照)。
キーストアを構成します(第36.1.2.2項「WLSTを使用したキーストアの構成」または第36.1.2.3項「Fusion Middleware Controlを使用したキーストアの構成」を参照)。
jps-config.xml構成ファイルを編集します。
DOMAIN_HOME/config/fmwconfigディレクトリに移動し、テキスト・エディタでjps-config.xmlファイルを開きます。
jps-config.xmlファイルに次のものが含まれていることを確認します。
<serviceInstance name="keystore" provider="keystore.provider" location="./default-keystore.jks">
trust.provider.embedded propertySetノードを次のように変更します。
<propertySets>
<propertySet name="trust.provider.embedded">
... existing entries
<property value="orakey" name="trust.aliasName"/>
<property value="orakey" name="trust.issuerName"/>
</propertySet>
</propertySets>
ここで:
trust.aliasNameは、アイデンティティ・アサータが構成済キーストアで検索する証明書の別名です。アサータはこの証明書を使用して、発行されたトラスト・トークンを検証します。
trust.issuerNameは、トラスト・トークンの発行および署名に使用した秘密鍵をトークン発行者が検索する際に検索される別名です。
クライアントとRESTアプリケーションのドメインが異なる場合は、両方のドメインで前述の手順を実行します。
すべてのサーバーを再起動します。
この項では、WebLogic Serverトラスト・サービス・アサータを構成する方法について説明します。
WebLogic Serverトラスト・サービス・アサータを構成するには:
WebLogic管理コンソールに管理者としてログインします。
「セキュリティ・レルム」→「myrealm」に移動します。
「プロバイダ」タブを開き、「認証」サブタブを開きます。
「新しい認証プロバイダの作成」ページが表示されます。
新しいアサータの「名前」を入力します(例: TrustServiceIdAsserter)。
アサータの「タイプ」にTrustServiceIdentityAsserterを選択します。
このアサータは、受信リクエストのトークンをデコードおよび検証するためにトラスト・サービスAPIをコールし、アサートされたサブジェクトを確立する際にユーザー名をWebLogicに渡します。
「OK」をクリックして、変更を保存します。
すべての管理対象サーバーを再起動します。