本番環境に最大限のセキュリティを確保し、高度なアイデンティティ管理ソリューションとシームレスなシングル・サインオンの操作性を提供するために、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.sh
connect('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.xml
root-context.xml
をバックアップし、名前をroot-context.xml.bak
ファイルに変更します。 oam_root-context.xml
oam_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>