本番環境に最大限のセキュリティを確保し、高度なアイデンティティ管理ソリューションとシームレスなシングル・サインオンの操作性を提供するために、Oracle Access ManagementとOracle WebCenter Sitesの統合をお薦めします。または、必要に応じて、WebCenter Sitesを外部LDAP認証プロバイダ・ディレクトリと統合することもできます。
次のトピックでは、いずれかの外部アイデンティティ管理ソリューションに対する認証のためにWebCenter Sitesを構成する方法を説明します。
親トピック: WebCenter Sitesコンポーネントの構成
このトピックでは、WebCenter Sitesを外部LDAP認証プロバイダ・ディレクトリに対する認証に切り替える方法について説明します。Oracle Access Managementとの統合を実行できない場合、これは本番環境のための推奨のソリューションです。
ldap.caseAwareプロパティの値をtrueに変更します。ldap.caseAwareの値はfalseに設定されています。大/小文字を区別するLDAPサーバーを使用しているとき、このプロパティがfalseに設定されている場合、ログインに失敗します。ldap.caseAwareの値をTrueに変更するには、次の手順に従います。WebCenter Sites管理インタフェースにログインし、管理ツリータブ→「システム・ツール」→「プロパティ管理」オプションに移動します。
ldapを検索し、値をFalseからTrueに変更します。
管理対象サーバーを再起動します。
注意:
SitesとLDAPの統合中、LDAPのユーザー・データがカンマで区切られている場合、データ・タイプはフェッチされません(例:test,user)。データを取得するには、..sites/installディレクトリにあるdir.iniファイルの構文を"syntax.escape=\\からsyntax.escape=\#"に変更する必要があります。 http://sites-host:sites-port/sites-context/ldapconfig)、画面に表示される指示に従って、使用する環境に応じて値を入力します。現在は、手動によるLDAP統合のみがあります。LDAPサーバーへの書込みはなく、DOMAIN_HOME/wcsites/wcsites/config/ldapフォルダ下にLDIFファイルのみが作成されます(これはWebCenter Sitesアプリケーションのデフォルトのインストール場所です。すべてのカスタマイズおよびパスの変更はLDAPの正常な統合の後に行う必要があります)。peopleparent、groupparent、usernameおよびその他のフィールドは、以前のリリースのように事前移入されません。
DOMAIN_HOME/wcsites/wcsites/config/にあるLDIFファイルの値を変更します。フィールドが事前移入されていないので、次のORACLEDIRの例に従ってください:
ldap server type -- ORACLEDIR
ldap DSN -- dc=oracle,dc=com
ldap host -- localhost
ldap port -- 389
ldap username -- cn=orcladmin
ldap password -- password
ldap peopleParent -- cn=Users,dc=oracle,dc=com
ldap groupparent -- cn=Groups,dc=oracle,dc=com
LDIFファイルをOracle Internet Directoryサーバーにインポートし、Oracle Virtual Directoryにアダプタを作成してOracle Internet Directoryサーバーに接続できます。Oracle Virtual DirectoryのLDAPサーバーにはそれ独自の記憶域がないので、LDIFファイルを直接にOracle Virtual Directoryにインポートすることはできません。
LDIFファイルをインポートします。Oracle Access Managerに対する認証を行うようにWebCenter Sitesを構成できます。このソリューションは本番環境にお薦めします。
oamconsoleを使用したOAMサーバーの構成とSites内の一部の構成の変更が必要です。 oamconsoleを使用して(例: http://<oam_host:oam_port/<oam console/) Oracle Access Managerサーバーにログインし、WebGateを構成します。詳細は、「OAMとOracle WebCenter Sitesの統合」を参照してください。ORACLE_HOME/wcsites/webcentersites/sites-homeにあるoamlogin.warおよびoamtoken.warアプリケーション・ファイルをデプロイします。DOMAIN_HOME/wcsites/wcsites/config/でwemsites_settings.propertiesプロパティ・ファイルを作成します。wemsites_settings.propertiesファイルに、次のように値を入力します。| 要素 | プロパティ |
|---|---|
oamredirect |
http://oam_server_host:oam_port/oam/server/auth_cred_submit |
oamlogout |
oamlogout=http://oam_server_host:oam_port/oam/server/logout |
forgotpassword |
helpdesk-email-address |
DOMAIN_HOME/wcsites/wcsites/config/SSOConfig.xmlに次のプロパティを設定します詳細は、「統合手順」の手順12を参照してください。| 要素 | プロパティ |
|---|---|
serviceUrl |
http://{ohs_server_host}:{ohs_port}/{sites_context_root}/REST |
ticketUrl |
http://{oamtoken_server_host}:{oamtoken_port}/oamtoken |
signoutURL |
|
end_url |
テスト(ステージング)環境: http%3A%2F%2F{ohs_server_host}%3A{ohs_port}%2F{sites_context_root}%2FXcelerate%2FLoginPage.html |
dbUsername |
WebCenter Sitesの一般管理者のユーザー・アカウント名。 |
dbPassword |
WebCenter Sitesの一般管理者のユーザー・アカウントのパスワード。 |
注意:
ohs_serverホストおよびohs_portをWebLogicホストおよびポートにするか、構成に応じてその他のHTTPサーバー・ホストおよびポートを使用できます。OHS構成の詳細は、「統合手順」の手順2から手順9を参照してください。mod_wl_ohs.confファイルのOAM OHSに次の構成の例を追加します。<IfModule weblogic_module> <Location /oamlogin> SetHandler weblogic-handler WebLogicHost SITES_HOST WebLogicPort SITES_PORT </Location> </IfModule> <IfModule weblogic_module> <Location /sites> SetHandler weblogic-handler WebLogicHost SITES_HOST WebLogicPort SITES_PORT </Location> </IfModule>
obAccsessClient.xmlおよびcwallet.ssoファイルを、ターゲットWebCenter Sitesインスタンス上のDOMAIN_HOME/wcsites/wcsites/config/oblix/lib/ディレクトリにコピーします。注意:
これらのファイルは、WebGateが構成された後に自動生成されます。oblixパスを設定するために、sites-configディレクトリのoamtoken.xmlファイルを編集します。互換性モードは11Gに設定し、oblixパスはoblix/libフォルダが含まれているsites-configフォルダに設定します。oamtoken.warアプリケーションとして統合するために、WebCenter Sitesドメインのjps-config.xmlファイルを編集します。このファイルは、WebLogic Server 12 cの起動スクリプトの一部であり、デフォルトでは、WebLogicドメインはこのファイルを使用して実行されます。-Doracle.security.jps.config=ORACLE_HOME/user_projects/domains/DOMAIN_NAME/config/fmwconfig/jps-config.xml
jsp-config.xmlファイル内の既存のサービス・インスタンスの隣に、サービス・インスタンスを追加します。<serviceInstance name="credstore.oamtoken" provider="credstoressp" location="./oamtoken"> <description>File Based Credential Store Service Instance</description> <property name="location" value="./oamtoken"/> </serviceInstance>locationは、cwallet.ssoファイルを含むディレクトリのパスです。前述の例では、このパスは、現在のjsp-config.xmlファイルへの参照に設定されています。omtokenフォルダが、現在のディレクトリを基準にして作成され、そこにcwallet.ssoファイルが配置されていることを確認してください。locationの値は、cwallet.ssoファイルが配置されている場所への絶対パスにすることもできます。<jpsContext name="default">の下に、<serviceInstanceRef ref="credstore.oamtoken"/>を追加します。<jpsContexts default="default">の下に、次の<jpsContext>要素を追加します。<jpsContext name="OAMASDK"> <serviceInstanceRef ref="credstore.oamtoken"/> </jpsContext>oamtoken.warのコードを使用できるように権限を追加します。wlst.shスクリプトでWebLogic Scripting Toolを起動します。cd ORACLE_HOME/oracle_common/common/bin/./wlst.shconnect('user-name','password','sites-host:admin-port')grantPermission(codeBaseURL="file:/scratch/idc/newoam/rend/Oracle_Home/user_projects/domains/renddomain/servers/wcsites_server1/tmp/_WL_user/oamtoken/-", permClass="oracle.security.jps.service.credstore.CredentialAccessPermission",permTarget="context=SYSTEM,mapName=OAMAgent,keyName=*",permActions="*")oamtoken.warアプリケーションが展開されている場所へのパスです。oamticketcacheキャッシュにレプリケートするには、次の手順が必要です。cas-cache.xmlがあり、oamticketcacheがデフォルトで構成されています。oamticketcacheという名前の、キャッシュ内のコメント付きのセクションのコメントを解除すると、セクションは次のように表示されます。<cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=false, replicateRemovals=true"/> <bootstrapCacheLoaderFactory class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory" properties="bootstrapAsynchronously=false, maximumChunkSizeBytes=5000000" propertySeparator="," />
cacheManagerPeerProviderFactoryを次のように変更し、ポートが一意になっていることを確認します。<cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.8, multicastGroupPort=40002, timeToLive=1" />
cacheManagerPeerProviderFactoryとcacheManagerPeerListenerFactoryには異なるポートを指定してください。SSOConfig.xmlファイルで作業する場合は、次の手順に従います。SSOConfig.xmlファイルを変更します。このファイルは、ロードする認証クラスや、それらのクラスで必要なプロパティを制御します。WEB-INF/classesディレクトリにあるSSOConfig.xmlファイルをバックアップします。/u01/software/Apps/OraMiddleware/user_projects/domains/OAMSitesDomain/wcsites/wcsites/config/SSOConfig.xmlとします。SSOConfig.xmlを次のように変更します。 注意:
serviceUrl、ticketUrl、signoutURL、dbUsernameおよびdbPasswordのプロパティの設定は、追加手順で説明します。詳細は、手順5を参照してください。signoutUrlプロパティは、WebCenter Sitesのログアウトの起動時に使用されるURLを指定します。これには、OAMによりすべてのログアウト処理が完了した後にブラウザから戻される、エンコードされたURLが含まれます。dbUsernameプロパティおよびdbPasswordプロパティには、WebCenter Sitesの一般管理者の資格証明を入力できます(デフォルトではfwadmin/xceladmin)。これらのプロパティの値は、WebCenter Sitesアプリケーションの起動時に暗号化されます。注意:
次のコード例では、csServerUrl、serviceUrl、ticketUrl、signoutURL、dbUsername、dbPasswordのプロパティを設定します。詳細は、手順5を参照してください。<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2010 FatWire Corporation. All Rights Reserved.
Title, ownership rights, and intellectual property rights in and
to this software remain with FatWire Corporation. This software
is protected by international copyright laws and treaties, and
may be protected by other law. Violation of copyright laws may
result in civil liability and criminal penalties.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
<!-- Root Context: defines shared resources visible to all other web components -->
<jdbc:initialize-database data-source="dataSource" enabled="true" ignore-failures="ALL">
<!-- For installer the first jdbc:script will opened. Installer will configure it automatically -->
<jdbc:script location="classpath:crawler_oracle_db.sql" />
<!--jdbc:script location="classpath:crawler_hsql_db.sql" /-->
<!--jdbc:script location="classpath:crawler_sql_server_db.sql" /-->
<!--jdbc:script location="classpath:crawler_oracle_db.sql" /-->
<!--jdbc:script location="classpath:crawler_db2_db.sql" /-->
</jdbc:initialize-database>
<!-- Section# 1 Installer will consume below configuration to configure a datasource name created on the appservers -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="wcsitesDS"/>
</bean>
<!-- Single Sign On provider -->
<bean id="ssoprovider" class="com.fatwire.wem.sso.oam.OAMProvider">
<property name="config" ref="ssoconfig" />
</bean>
<!--It is invoked by the OAM filter to resolve an OAM authenticated user against a remote Site CS instance.-->
<bean id="oamIdentity" class="com.fatwire.auth.identity.RemoteUsernameResolver" >
<property name="csServerUrl" value="http://{ohs_server_host}:{ohs_port}/{sites_context_root}/custom/customCsResolver.jsp"/>
</bean>
<!-- Single Sign On filter -->
<bean id="ssofilter" class="com.fatwire.wem.sso.oam.filter.OAMFilter">
<property name="config" ref="ssoconfig" />
<property name="provider" ref="ssoprovider" />
<property name="identityResolver" ref="oamIdentity" />
<!-- Set "trustConfigured" to "true" in case of trust relationship configured between WebGate and WLS.
It will turn off check for OAM_ASSERTION header. -->
<property name="trustConfigured" value="false" />
</bean>
<!-- Single Sign On listener -->
<bean id="ssolistener" class="com.fatwire.wem.sso.oam.listener.OAMListener">
</bean>
<!-- Single Sign On configuration -->
<bean id="ssoconfig" class="com.fatwire.wem.sso.oam.conf.OAMConfig">
<!-- URL prefix for REST service endpoint -->
<property name="serviceUrl" value="http://{ohs_server_host}:{ohs_port}/{sites_context_root}/REST" />
<!-- URL prefix for Token Service servlet -->
<property name="ticketUrl" value="http://{oamtoken_server_host}:{oamtoken_port}/oamtoken" />
<!-- URL to be called when WEM logout is required. -->
<property name="signoutUrl" value="http://{oam_server_host}:{oam_port}/oam/server/logout?end_url=http%3A%2F%2F{ohs_server_host}%3A{ohs_port}%2F{sites_context_root}%2Fwem%2Ffatwire%2Fwem%2FWelcome"/>
<!-- Do not proxy tickets, tt's the last server in thecall chain -->
<property name="proxyTickets" value="false" />
<!-- Database Credentials needed by user lookup inOAMFilter -->
<property name="dbUsername" value="fwadmin" />
<property name="dbPassword" value="xceladmin"/>
<!-- Your application protected resources (relative to applicationUrl) -->
<property name="protectedMappingIncludes">
<list>
<value>/__admin</value>
<value>/__admin/**</value>
</list>
</property>
<!-- Your application protected resources excludes (relative to applicationUrl) -->
<property name="protectedMappingExcludes">
<list>
<value>/__admin/layout</value>
</list>
</property>
<property name="applicationProxyCallbackPath" value="/sso/proxycallback" />
<property name="gateway" value="false" />
</bean>
<context:component-scan base-package="com.fatwire.crawler.remote.dao" />
<context:component-scan base-package="com.fatwire.crawler.remote.support" />
<context:component-scan base-package="com.fatwire.crawler.remote.di" />
<context:component-scan base-package="com.fatwire.crawler.remote.resources.support" />
</beans>
| リソースURL | 保護レベル | 認証 | 許可 |
|---|---|---|---|
/<sites-context>/REST/roles |
非保護 |
パブリック |
すべて許可 |
/<sites-context>/custom/customCsResolver.jsp |
非保護 |
パブリック |
すべて許可 |
/resources/.../* |
除外 |
該当なし |
該当なし |
/__admin/.../* |
保護 |
保護 |
保護 |
| プロパティの説明 | プロパティ | 値 |
|---|---|---|
| コンテンツ・サーバーのホスト名またはIP | fw.cs.hostname |
{ohs_host} |
| コンテンツ・サーバーのアプリケーション・サーバー・ポート | fw.cs.port |
{ohs_port} |
| コンテンツ・サーバーのコンテキスト | fw.cs.context |
{sites_context_root} |
| コンテンツ・サーバーのプロトコル(httpまたはhttps) | fw.cs.protocol |
{sites.protocol} |
RESTADMINロールを持つコンテンツ・サーバー・ユーザー名 |
fw.cs.username |
{username} |
コンテンツ・サーバーのユーザー・パスワード |
fw.cs.password |
{password} |
SiteCaptureサーバーのホスト名またはIP |
fw.sc.hostname |
{sc_host} |
SiteCaptureアプリケーション・サーバー・ポート |
fw.sc.port |
{sc_port} |
SiteCaptureプロトコル(httpまたはhttps) |
fw.sc.protocol |
{sc.protocol} |
CASサーバー・ホスト名 |
fw.cas.host |
インストーラの{ohs_host}。または sitecapture.propertiesでは空 |
CASサーバー・ポート |
fw.cas.port |
インストーラの{ohs_port}。または sitecapture.propertiesでは空 |
CASサーバー・コンテキスト |
fw.cas.context |
インストーラのcas。または sitecapture.propertiesでは空 |
root-context.xmlファイルを調整します。SiteCaptureには、次の2つのファイルが用意されています。root-context.xmlroot-context.xmlをバックアップし、名前をroot-context.xml.bakファイルに変更します。 oam_root-context.xmloam_root-context.xmlファイルの名前をroot-context.xmlファイルに変更します。<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2010 FatWire Corporation. All Rights Reserved.
Title, ownership rights, and intellectual property rights in and
to this software remain with FatWire Corporation. This software
is protected by international copyright laws and treaties, and
may be protected by other law. Violation of copyright laws may
result in civil liability and criminal penalties.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
<!-- Root Context: defines shared resources visible to all other web components -->
<jdbc:initialize-database data-source="dataSource" enabled="true" ignore-failures="ALL">
<!-- For installer the first jdbc:script will opened. Installer will configure it automatically -->
<jdbc:script location="classpath:crawler_oracle_db.sql" />
<!--jdbc:script location="classpath:crawler_hsql_db.sql" /-->
<!--jdbc:script location="classpath:crawler_sql_server_db.sql" /-->
<!--jdbc:script location="classpath:crawler_oracle_db.sql" /-->
<!--jdbc:script location="classpath:crawler_db2_db.sql" /-->
</jdbc:initialize-database>
<!-- Section# 1 Installer will consume below configuration to configure a datasource name created on the appservers -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="wcsitesDS"/>
</bean>
<!-- Single Sign On provider -->
<bean id="ssoprovider" class="com.fatwire.wem.sso.oam.OAMProvider">
<property name="config" ref="ssoconfig" />
</bean>
<!--It is invoked by the OAM filter to resolve an OAM authenticated user against a remote Site CS instance.-->
<bean id="oamIdentity" class="com.fatwire.auth.identity.RemoteUsernameResolver" >
<property name="csServerUrl" value="http://{ohs_server_host}:{ohs_port}/{sites_context_root}/custom/customCsResolver.jsp"/>
</bean>
<!-- Single Sign On filter -->
<bean id="ssofilter" class="com.fatwire.wem.sso.oam.filter.OAMFilter">
<property name="config" ref="ssoconfig" />
<property name="provider" ref="ssoprovider" />
<property name="identityResolver" ref="oamIdentity" />
<!-- Set "trustConfigured" to "true" in case of trust relationship configured between WebGate and WLS.
It will turn off check for OAM_ASSERTION header. -->
<property name="trustConfigured" value="false" />
</bean>
<!-- Single Sign On listener -->
<bean id="ssolistener" class="com.fatwire.wem.sso.oam.listener.OAMListener">
</bean>
<!-- Single Sign On configuration -->
<bean id="ssoconfig" class="com.fatwire.wem.sso.oam.conf.OAMConfig">
<!-- URL prefix for REST service endpoint -->
<property name="serviceUrl" value="http://{ohs_server_host}:{ohs_port}/{sites_context_root}/REST" />
<!-- URL prefix for Token Service servlet -->
<property name="ticketUrl" value="http://{oamtoken_server_host}:{oamtoken_port}/oamtoken" />
<!-- URL to be called when WEM logout is required. -->
<property name="signoutUrl" value="http://{oam_server_host}:{oam_port}/oam/server/logout?end_url=http%3A%2F%2F{ohs_server_host}%3A{ohs_port}%2F{sites_context_root}%2Fwem%2Ffatwire%2Fwem%2FWelcome"/>
<!-- Do not proxy tickets, tt's the last server in thecall chain -->
<property name="proxyTickets" value="false" />
<!-- Database Credentials needed by user lookup inOAMFilter -->
<property name="dbUsername" value="fwadmin" />
<property name="dbPassword" value="xceladmin"/>
<!-- Your application protected resources (relative to applicationUrl) -->
<property name="protectedMappingIncludes">
<list>
<value>/__admin</value>
<value>/__admin/**</value>
</list>
</property>
<!-- Your application protected resources excludes (relative to applicationUrl) -->
<property name="protectedMappingExcludes">
<list>
<value>/__admin/layout</value>
</list>
</property>
<property name="applicationProxyCallbackPath" value="/sso/proxycallback" />
<property name="gateway" value="false" />
</bean>
<context:component-scan base-package="com.fatwire.crawler.remote.dao" />
<context:component-scan base-package="com.fatwire.crawler.remote.support" />
<context:component-scan base-package="com.fatwire.crawler.remote.di" />
<context:component-scan base-package="com.fatwire.crawler.remote.resources.support" />
</beans>
注意:
mod_wl_ohs.confファイルを更新するには、次のコードを含める必要があります。<IfModule weblogic_module> <Location /__admin> SetHandler weblogic-handler WebLogicHost SITECAPTURE_HOST WebLogicPort SITECAPTURE_HOST </Location> </IfModule>
注意:
次のコード例では、OAM OHSのRSS構成およびmod_wl_ohs.confファイルを指定します。<IfModule weblogic_module> <Location /ss> SetHandler weblogic-handler WebLogicHost SATELLITESERVER_HOST WebLogicPort SATELLITESERVER_HOST </Location> </IfModule>
注意:
次のコード例では、OAM OHSの訪問者構成およびmod_wl_ohs.confファイルを指定します。<IfModule weblogic_module> <Location /oamlogin> SetHandler weblogic-handler WebLogicHost SITES_HOST WebLogicPort SITES_PORT </Location> </IfModule> <IfModule weblogic_module> <Location /visitors-webapp> SetHandler weblogic-handler WebLogicHost VISITORSERVICES_HOST WebLogicPort VISITORSERVICES_HOST </Location> </IfModule>


