この付録では、セキュリティ・データを更新するいくつかの手順について説明します。具体的には、メジャー・リリース(10.1.3.x)からメジャー・リリース(11.1.1)へのセキュリティ・データのアップグレード方法、およびマイナー・リリース(11g OPSS PS1、PS2、PS3またはPS4)から11g OPSS PS5へのデータのアップグレード方法について、次の各項で説明します。
11gR1から11gR1 PS1にアップグレードする場合: このアップグレードの組合せの詳細は、『Oracle Fusion Middlewareインストレーション・プランニング・ガイド』のOracle Fusion Middleware 11gリリース1 (11.1.1.1.0)の特別な手順に関する項を参照してください。 |
Identity Managementのアップグレードの概要および詳細は、Oracle Fusion Middleware Oracle Identity Managementアップグレード・ガイドを参照してください。
OPSSスクリプトupgradeSecurityStore
は、以前のメジャー・リリース(10.1.1.3など)からより新しいメジャー・リリース(11.1.1.1など)にアプリケーション・セキュリティ・データをアップグレードする場合にのみ使用します。11gのマイナー・リリース間でのアップグレードには、「upgradeOpssを使用したポリシーのアップグレード」で説明しているように、upgradeOpss
を使用してください。
アップグレードの対象がLDAPベースのリポジトリの場合には、スクリプトを実行する前にいくつかの設定が必要になります。第8.2.2項「LDAPベースのセキュリティ・ストアを使用する場合の前提条件」を参照してください。
このスクリプトはオフラインです。つまり、実行中のサーバーに接続しなくても動作し、WebLogicではインタラクティブ・モードまたはスクリプト・モードで、WebSphereではインタラクティブ・モードでのみ実行できます。インタラクティブ・モードの場合は、コマンドライン・プロンプトにスクリプトを入力すると、応答が即座に表示されます。スクリプト・モードの場合、スクリプトはテキスト・ファイルに記述し、シェル・スクリプトのディレクティブのように入力なしで実行できます。
OPSSスクリプトを実行する場合のプラットフォーム固有の要件は、「重要事項」を参照してください。
スクリプト・モードおよびインタラクティブ・モードの構文
スクリプト構文は、アップグレードされるストアのタイプによって異なります。オプションの引数は角カッコで囲まれています。スクリプト・モードの構文では、わかりやすいように引数が別々の行に記述されています。
10.1.3.x XMLのアイデンティティ・データを11g リリース1 (11.1.1) XMLのアイデンティティ・データにアップグレードするには、次のいずれかの構文を使用します。
updateSecurityStore -type xmlIdStore -jpsConfigFile jpsConfigFileLocation -srcJaznDataFile srcJazn -srcRealm jaznRealm [-dst dstJpsContext] updateSecurityStore(type="xmlIdStore", jpsConfigFile="jpsConfigFileLocation", srcJaznDataFile="srcJazn", srcRealm="jaznRealm", [dst="dstJpsContext"])
10.1.3.x XMLのポリシー・データを11g リリース1 (11.1.1) XMLのポリシー・データにアップグレードするには、次のいずれかの構文を使用します。
updateSecurityStore -type xmlPolicyStore -jpsConfigFile jpsConfigFileLocation -srcJaznDataFile srcJazn [-dst dstJpsContext] updateSecurityStore(type="xmlPolicyStore", jpsConfigFile="jpsConfigFileLocation", srcJaznDataFile="srcJazn", [dst="dstJpsContext"])
10.1.3.x Oracle Internet DirectoryのLDAPベースのポリシー・データを11g リリース1 (11.1.1) XMLのポリシー・データにアップグレードするには、次のいずれかの構文を使用します。
updateSecurityStore -type oidPolicyStore -jpsConfigFile jpsConfigFileLocation -srcJaznConfigFile srcJazn [-dst dstJpsContext] updateSecurityStore(type="oidPolicyStore", jpsConfigFile="jpsConfigFileLocation", srcJaznConfigFile="srcJazn", [dst="dstJpsContext"])
ファイルベースのアプリケーション・ポリシーをリリース11.1.1.1.0からリリース11.1.1.2.0にアップグレードするには、次のいずれかの構文を使用します。
updateSecurityStore -type xmlAppPolicies -srcApp applicationStripeName -jpsConfigFile jpsConfigFileLocation -srcJaznDataFile srcJazn -dstJaznDataFile dstJazn -resourceTypeFile resTypeJazn updateSecurityStore(type="xmlAppPolicies", srcApp="applicationStripeName", jpsConfigFile="jpsConfigFileLocation", srcJaznDataFile="srcJazn", dstJaznDataFile="dstJazn", srcJaznDataFile="resTypeJazn")
11.1.1.1.0のアプリケーション・ポリシーを11.1.1.2.0形式にアップグレードするには、次のいずれかの構文を使用します。
updateSecurityStore -type appPolicies -srcApp applicationStripeName -jpsConfigFile jpsConfigFileLocation -dst dstContext [-resourceTypeFile resTypeJazn] updateSecurityStore(type="appPolicies", srcApp="applicationStripeName", jpsConfigFile="jpsConfigFileLocation", dst="dstContext" [, resourceTypeFile="resTypeJazn"])
このアップグレードは所定の位置で動作し、指定したリソース・タイプ、および権限内のパーミッションに対応するリソースが作成されます。
実行が完了したら、jpsConfigFile
で渡された構成ファイル内のdst
で渡されたコンテキストによって指定されたポリシー・ストアには、srcApp
で渡されたアプリケーションに対して定義された新しいリソース・タイプと新しいリソースが格納されます。リソース・タイプはresourceTypeFile
で指定されたファイルから読み取られ、リソースはアプリケーション権限内のパーミッションに対応して作成されます。
引数の意味は、次のとおりです。
type
は、アップグレードするセキュリティ・データの種類を指定します。有効な値は、xmlIdStore、xmlPolicyStore、oidPolicyStore、xmlCredStore、xmlAppPoliciesおよびappPoliciesのみです。
jpsConfigFile
では、構成ファイルjps-config.xml
の位置を、このスクリプトを実行するディレクトリを基準とした相対パスで指定します。アップグレードのターゲット・ストアは、引数dst
で指定したコンテキストから読み取られます。
typeがxmlAppPoliciesの場合、構成ファイルは、ソースやターゲットの参照では使用されず、監査サービスの構成でのみ使用されます。監査サービスがjps-config.xml
ファイルで指定されていない場合でも、その場所を渡す必要があることに注意してください。
srcJaznDataFile
では、10.1.3.x jazn-data.xmlファイルの位置を、このスクリプトを実行するディレクトリを基準とした相対パスで指定します。指定したtype
がxmlIdStore、xmlPolicyStoreまたはxmlCredStoreの場合、この引数は必須です。
指定したtype
がxmlAppPoliciesの場合、この引数はアプリケーション11.1.1.1.0のjazn-data.xmlファイルの場所を指定します。このファイルにはリソース・タイプの指定はありません。
srcJaznConfigFile
では、10.1.3.x jazn構成ファイルの位置を、このスクリプトを実行するディレクトリを基準とした相対パスで指定します。指定したtype
がoidPolicyStoreの場合、この引数は必須です。
users
は、それぞれrealmName/userNameという形式で表されたユーザーのカンマ区切りリストを指定します。指定したtype
がxmlCredStoreの場合、この引数は必須です。
srcRealm
は、引数srcJaznDataFile
で渡されるファイル内の、移行するアイデンティティを識別するレルム名を指定します。指定したtype
がxmlIdStoreの場合、この引数は必須です。
dst
は、引数jpsConfigFile
で渡されるファイル内の、宛先ストアを構成しているjpsContextの名前を指定しますオプション。指定しない場合は、デフォルトのjpsContextが使用されます。
srcApp
では、アプリケーション・ストライプを指定します。これは、srcJaznDataFile
ファイルおよびresourceTypeFile
ファイルに存在するアプリケーション名と一致する必要があります。この名前のストライプは、dstJaznDataFile
ファイルで作成します。
dstJaznDataFile
では、アプリケーション11.1.1.2.0のjazn-data.xmlファイルの場所を指定します。このファイルは、リソース・タイプとリソース・インスタンスを指定しており、srcJaznDataFile
で指定した元のjazn-data.xmlにかわるものです。
resourceTypeFile
では、リソース・タイプを指定している11.1.1.2.0 jazn-data.xmlファイルの場所を指定します。
dst
では、更新するポリシー・ストアを指定している宛先コンテキストを指定します。
次の各項には、様々なシナリオでのスクリプトupgradeSecurityStore
の使用を示した例が記載されています。
次のコマンドを起動すると、10.1.3のファイルベースのアイデンティティが11g リリース1 (11.1.1)のファイルベースのアイデンティティ・ストアに移行します。
upgradeSecurityStore -type xmlIdStore -jpsConfigFile jps-config-idstore.xml -srcJaznDataFile jazn-data.xml -srcRealm jazn.com
このスクリプトの使用では、(a)ファイルjps-config-idstore.xml
およびjazn-data.xml
が、スクリプトが実行されているディレクトリに格納されていること、(b)ファイルjps-config-idstore.xml
内のデフォルトのjpsContextがターゲットのアイデンティティ・ストアを参照していること、および(c)ファイルjazn-data.xml
にjazn.comという名前のレルムが含まれていることを前提としています。
上のサンプルで使用されている2つのファイルから関連する部分を抜粋したものを次に示します。
<!-- excerpt from file jps-config-idstore.xml --> <serviceProviders> <serviceProvider name="R11idstore" class="oracle.security.jps.internal.idstore.xml.XmlIdentityStoreProvider" type="IDENTITY_STORE"> <description>11g XML-based IdStore</description> </serviceProvider> </serviceProviders> ... <serviceInstances> <serviceInstance name="idstore.xml1" provider="R11idstore" location="./jazn-data-11.xml"> <property name="subscriber.name" value="jazn.com"/> <property name="jps.xml.idstore.pwd.encoding" value="OBFUSCATE"/> </serviceInstance> </serviceInstances> ... <jpsContexts default="default"> <jpsContext name="default"> <serviceInstanceRef ref="idstore.xml1" /> </jpsContext> </jpsContexts>
<!-- excerpt from jazn-data.xml --> <jazn-realm> <realm> <name>jazn.com</name> <users> ... </users> <roles> ... </roles> </realm> </jazn-realm>
このサンプルを実行すると、要素<users>
内のすべてのユーザーがXMLアイデンティティ・ストアR11idStore
に移行します。
次のコマンドを起動すると、10.1.3のファイルベースのポリシー・ストアが11g リリース1 (11.1.1)のポリシー・ストアに移行します。
upgradeSecurityStore -type xmlPolicyStore -jpsConfigFile jps-config.xml -srcJaznDataFile jazn-data.xml -dst destContext
このスクリプトの使用では、ファイルjps-config.xml
およびjazn-data.xml
が、スクリプトが実行されているディレクトリに格納されていること、ファイルjps-config.xml
にdestContext
という名前のjpsContextが含まれていることを前提としています。
上のサンプルで使用されている2つのファイルから関連する部分を抜粋したものを次に示します。
<!-- excerpt from file jps-config.xml --> <serviceProviders> <serviceProvider type="POLICY_STORE" name="policystore.xml.provider" class="oracle.security.jps.internal.policystore.xml.XmlPolicyStoreProvider"> <description>R11 XML-based PolicyStore Provider</description> </serviceProvider> </serviceProviders> ... <serviceInstances> <serviceInstance name="policystore1.xml" provider="policystore.xml.provider"> <property name="R11PolStore" value="jazn-data1.xml"/> </serviceInstance> ... <jpsContexts default="default1"> <jpsContext name="default1"> ... </jpsContext> <jpsContext name="destContext"> ... <serviceInstanceRef ref="policystore1.xml"/> </jpsContext> </jpsContexts>
<!-- excerpt from jazn-data.xml --> <jazn-realm> <realm> ... <roles> ... </roles> </realm> </jazn-realm> ... <jazn-policy> ... </jazn-policy>
このサンプルを起動すると、要素<roles>
内のすべてのロールと要素<jazn-policy>
内のすべてのポリシーがXMLポリシー・ストアR11PolStore
に移行します。
次のように起動すると、10.1.4 Oracle Internet DirectoryのLDAPベースのポリシー・ストアが11g リリース1 (11.1.1) Oracle Internet DirectoryのLDAPベースのポリシー・ストアにアップグレードします。
upgradeSecurityStore -type oidPolicyStore -jpsConfigFile jps-config.xml -srcJaznConfigFile jazn.xml -dst destContext
この例に含まれる2つのXMLファイルの場所についての前提は、例2の場合とほぼ同じですこの他に、(a)ターゲットのOracle Internet Directory LDAPベースのポリシー・ストアを指すjpsContext destContext
がファイルjps-config.xml
に含まれていること、および(b)移行するポリシーのOracle Internet Directory LDAPサーバーの場所がファイルjazn.xml
に記述されていることを前提としています。
ファイルjazn.xml
から関連する部分を抜粋したものを次に示します。
<jazn provider="LDAP" location="ldap://myCompany.com:3843"> <property name="ldap.user" value="cn=orcladmin"/> <property name="ldap.password" value="!welcome1"/> <property name="ldap.protocol" value="no-ssl"/> <property name="ldap.cache.policy.enable" value="false"/> <property name="ldap.initctx" value="com.sun.jndi.ldap.LdapCtxFactory"/> </jazn>
次のサンプルを実行すると、アプリケーション11.1.1.1.0のファイルベースのポリシー・ストアがアプリケーション11.1.1.2.0のファイルベースのポリシー・ストアにアップグレードされます。
updateSecurityStore -type xmlAppPolicies -srcApp PolicyServlet1 -jpsConfigFile ./folder/jps-config.xml -srcJaznDataFile ./11.1.1.1.0/jazn-data.xml -dstJaznDataFile ./11.1.1.2.0/final-jazn-data.xml -resourceTypeFile ./resCat/res-jazn-data.xml
このアップグレードの重要な点は、元の11.1.1.1.0ファイルではリソース・カタログの要素が使用されていませんが、アップグレード後の11.1.1.2.0ファイルではリソース・タイプおよびリソース・インスタンスの要素が使用されることです。
このスクリプトでは、基本的に元のアプリケーションの構成ファイルとリソース・タイプの要素を指定する別のファイルを取得して新しい構成ファイルを作成します。この新しい構成ファイルは、元のファイルと同様にポリシーを指定していますが、リソース・カタログの指定を使用するように変更されています。
元の構成ファイルと新しいアプリケーション構成ファイルのアプリケーションに対する動作はまったく同じです。
このサンプルの実行では、次のことが前提となっています。
ソース・ファイル./11.1.1.1.0/jazn-data.xml
でアプリケーションPolicyServlet1
のポリシーを指定しています。
リソース・タイプ・ファイル./resCat/res-jazn-data.xml
でアプリケーションPolicyServlet1
のリソース・タイプを指定しています。
構成ファイル./folder/jps-config.xml
は任意の有効な構成ファイルで、監査サービス・インスタンスを使用していても、使用していなくてもかまいません。いずれの場合も、監査サービスを指定する必要があります。
次のサンプルは、3つのデータ・ファイル(入力ソースのjazn-data.xml
、入力リソースのres-jazn-data.xml
および出力のfinal-jazn-data.xml
)の関連部分を示しています。
入力ソース・ファイルjazn-data.xml
<policy-store> <applications> <application> <name>PolicyServlet1</name> <app-roles> <app-role> <name>myAppRole2</name> <display-name>application role myAppRole</display-name> <members> <member> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <name>myAppRole</name> </member> </members> </app-role> <app-role> <name>myAppRole</name> <display-name>application role myAppRole</display-name> <members> <member> <class> oracle.security.jps.internal.core.principals.JpsXmlEnterpriseRoleImpl</class> <name>developers</name> </member> </members> </app-role> <app-role> <name>testrole_DATA</name> <display-name>application role test</display-name> <members> <member> <class> oracle.security.jps.internal.core.principals.JpsXmlEnterpriseRoleImpl</class> <name>test-entrole</name> </member> </members> </app-role> <app-role> <name>myAppRole_PRIV</name> <display-name>application role private</display-name> <description>app role private description</description> <members> <member> <class> oracle.security.jps.internal.core.principals.JpsXmlEnterpriseRoleImpl</class> <name>developers</name> </member> <member> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <name>myAppRole</name> </member> </members> </app-role> </app-roles> <jazn-policy> <grant> <grantee> <principals> <principal> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <name>myAppRole_PRIV</name> </principal> </principals> </grantee> <permissions> <permission> <class>oracle.security.jps.JpsPermission</class> <name>getClassLoader</name> </permission> <permission> <class> oracle.adf.share.security.authorization.RegionPermission</class> <name>dummyName</name> <actions>view,edit</actions> </permission> </permissions> </grant> <grant> <grantee> <principals> <principal> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <name>myAppRole</name> </principal> </principals> </grantee> <permissions> <permission> <class>java.lang.XYZPermission</class> <name>newxyz</name> </permission> </permissions> </grant> <grant> <grantee> <principals> <principal> <class> oracle.security.jps.internal.core.principals.JpsXmlEnterpriseRoleImpl</class> <name>test-entrole</name> </principal> </principals> </grantee> <permissions> <permission> <class>oracle.security.jps.JpsPermission</class> <name>newxy</name> <actions>view,edit</actions> </permission> </permissions> </grant> </jazn-policy> </application> </applications> </policy-store>
入力リソース・ファイルres-jazn-data.xml
<jazn-data> <jazn-realm default="jazn.com"> </jazn-realm> <policy-store> <applications> <application> <name>PolicyServlet1</name> <resource-types> <resource-type> <name>FileResourceType</name> <display-name>File Access</display-name> <description>Resource Type Modelling File Access</description> <provider-name>provider</provider-name> <matcher-class>oracle.security.jps.JpsPermission</matcher-class> <actions-delimiter>,</actions-delimiter> <actions>delete,write,read</actions> </resource-type> </resource-types> <jazn-policy> </jazn-policy> </application> </applications> </policy-store> <jazn-policy> </jazn-policy> </jazn-data>
出力データ・ファイルfinal-jazn-data.xml
<jazn-data> <jazn-realm> </jazn-realm> <policy-store> <applications> <application> <name>PolicyServlet1</name> <app-roles> <app-role> <name>myAppRole2</name> <display-name>application role myAppRole</display-name> <guid>4341CC10EAFB11DE9F7F17D892026AF8</guid> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <members> <member> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <name>myAppRole</name> <guid>43428F60EAFB11DE9F7F17D892026AF8</guid> </member> </members> </app-role> <app-role> <name>myAppRole</name> <display-name>application role myAppRole</display-name> <guid>43428F60EAFB11DE9F7F17D892026AF8</guid> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <members> <member> <class>weblogic.security.principal.WLSGroupImpl</class> <name>developers</name> </member> </members> </app-role> <app-role> <name>testrole_DATA</name> <display-name>application role test role</display-name> <guid>4342B670EAFB11DE9F7F17D892026AF8</guid> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <members> <member> <class>weblogic.security.principal.WLSGroupImpl</class> <name>test-entrole</name> </member> </members> </app-role> <app-role> <name>myAppRole_PRIV</name> <display-name>application role private</display-name> <description>app role private description</description> <guid>4342B671EAFB11DE9F7F17D892026AF8</guid> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <members> <member> <class> weblogic.security.principal.WLSGroupImpl</class> <name>developers</name> </member> <member> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <name>myAppRole</name> <guid>43428F60EAFB11DE9F7F17D892026AF8</guid> </member> </members> </app-role> </app-roles> <resource-types> <resource-type> <name>FileResourceType</name> <display-name>File Access</display-name> <description>Resource Type Modelling File Access</description> <provider-name>provider</provider-name> <matcher-class>oracle.security.jps.JpsPermission</matcher-class> <actions-delimiter>,</actions-delimiter> <actions>delete,write,read</actions> </resource-type> </resource-types> <resources> <resource> <name>getClassLoader</name> <type-name-ref>FileResourceType</type-name-ref> </resource> <resource> <name>newxy</name> <type-name-ref>FileResourceType</type-name-ref> </resource> </resources> <jazn-policy> <grant> <grantee> <principals> <principal> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <name>myAppRole_PRIV</name> <guid>4342B671EAFB11DE9F7F17D892026AF8</guid> </principal> </principals> </grantee> <permissions> <permission> <class>oracle.security.jps.JpsPermission</class> <name>getClassLoader</name> </permission> <permission> <class> oracle.adf.share.security.authorization.RegionPermission</class> <name>dummyName</name> <actions>view,edit</actions> </permission> </permissions> <permission-set-refs> </permission-set-refs> </grant> <grant> <grantee> <principals> <principal> <class> oracle.security.jps.service.policystore.ApplicationRole</class> <name>myAppRole</name> <guid>43428F60EAFB11DE9F7F17D892026AF8</guid> </principal> </principals> </grantee> <permissions> <permission> <class>java.lang.XYZPermission</class> <name>newxyz</name> </permission> </permissions> <permission-set-refs> </permission-set-refs> </grant> <grant> <grantee> <principals> <principal> <class> weblogic.security.principal.WLSGroupImpl</class> <name>test-entrole</name> </principal> </principals> </grantee> <permissions> <permission> <class>oracle.security.jps.JpsPermission</class> <name>newxy</name> <actions></actions> </permission> </permissions> <permission-set-refs> </permission-set-refs> </grant> </jazn-policy> </application> </applications> </policy-store> <jazn-policy> </jazn-policy> </jazn-data>
upgradeOpss
は、PS1、PS2、PS3またはPS4の構成およびストアをPS5の構成およびストアに更新するオフラインのスクリプトです。
アップグレードするストアはファイルベース、LDAPベースまたはDBベースのいずれでもかまわず、複数のWebLogicドメインで共有されている場合もあります。スクリプトは、システム・ポリシー、アプリケーション・ポリシーおよびjps-config.xml
ファイルをアップグレードします。
OPSSバイナリとターゲットのポリシー・ストアには、互換性のあるバージョンを使用する必要があります。詳細は、第L.21項「バイナリとポリシー・ストアのバージョンの非互換性」を参照してください。
重要事項: サーバーの起動時にアップグレードされたデータがクラスタ内のすべての管理対象サーバーにプッシュされるように、 これを使用する前に、アップグレードするストアをバックアップしておいてください。LDAPストアの場合には、(構成ファイルでストアのプロパティとして指定されている)ストアのルート・ノードの下にあるデータをすべてバックアップします。アップグレードが失敗した場合には、そのノード全体をリストアします。バックアップの詳細は、特定のLDAPストアのドキュメントを参照してください。 |
PS1、PS2、PS3またはPS4からPS5にアップグレードするには、次の手順を実行します。
アプリケーション・サーバーを停止します。
新しいバイナリをインストールします。
DBベースのストアをアップグレードする場合は、Oracle Fusion Middlewareパッチ・セット・アシスタントを使用してDBスキーマを次のようにアップグレードします。
「OPSSスキーマ」ページに移動します。
「接続文字列」、「DBAユーザー名」、「DBAパスワード」、「スキーマ・ユーザー名」および「スキーマ・パスワード」にデータを入力し、「次」をクリックします。
「コマンド構文」の説明に従って、upgradeOpss
を実行します。
アプリケーション・サーバーを再起動します。
次の点に注意してください:
オフライン・スクリプトupgradeOpss
については、次の注意が必要です。
リポジトリ・タイプを変更しません。つまり、アップグレード先のポリシー・ストアのタイプは、アップグレード元のポリシー・ストアのタイプと同じになります。
既存のドメインに適用されます。このドメインを再作成する必要はありません。
アップグレード先のストアがすでにPS5に更新済の場合、スクリプトを実行しても何も変更されません。
LDAPベースのストアの場合、アップグレード元およびアップグレード先のストアへの接続パラメータは、jps-config.xml
ファイルから読み取られるか、引数としてスクリプトに渡されます。
DBベースのストアの場合、接続パラメータは引数としてスクリプトに渡されます。
アップグレードするセキュリティ・ストアが複数のドメインによって共有されている場合(結合操作により)、ストアをアップグレードする前に、そのストアを参照するすべてのドメインに新しいPS5バイナリをインストールする必要があります。そうしないと、OPSSセキュリティ・ストアのバージョンがOPSSバイナリのバージョンよりも新しいことを示すPolicyStoreIncompatibleVersionException例外がシステムによってスローされることがあります。
ファイルベース、LDAPベースまたはDBベースのストアをアップグレードするには、次の構文を使用します。接続引数は、ファイルベースのストアについては不要であり、LDAPベースのストアについてはオプションであり、DBベースのストアについては必須であることに注意してください。
upgradeOpss(jpsConfig="<full path to the old version jps config file>", jaznData="<full path to the new version OOTB JAZN data file>", [auditStore="<full path to the OOTB audit-store.xml file>"], [jdbcDriver="<jdbc driver>",
url="<jdbc-ldap url>", user="<jdbc-ldap user>", password="<jdbc-ldap password>"],
引数の意味は、次のとおりです。
jpsConfig
は、PS1、PS2、PS3またはPS4のjps-config.xml
構成ファイルの場所へのフルパスを指定します。この構成ファイルは、名前に接尾辞.bak
が追加されたファイルとして、スクリプトにより同じディレクトリにバックアップされます。この引数は必須です。
jaznData
は、PS5の出荷時のsystem-jazn-data.xml
ファイルの場所へのフルパスを指定します。この引数は必須です。
auditStore
は、PS5の出荷時のaudit-store.xml
ファイルの場所へのフルパスを指定します。この引数はオプションです。指定しない場合は、デフォルトでaudit-store.xml
が使用されます。
jdbcDriver
は、ストアに対するJDBCドライバを指定します。LDAPベースのストアについてはオプション、DBベースのストアについては必須です。
url
は、JDBC URLまたはLDAP URLをdriverType:host:port:sid
形式で指定します。DBベースおよびLDAPベースのストアの両方に必須です。指定しない場合は、構成ファイルから読み取られます。
user
は、JDBCユーザー名またはLDAPバインド名を指定します。LDAPベースのストアについてはオプション、DBベースのストアについては必須です。指定しない場合は、構成ファイルから読み取られます。LDAPベースのストアの場合、アップグレードを実行するユーザーには、スキーマ、ルート・ノード、およびcn=OPSS,cn=OracleSchemaVersion
の下のすべてのノードに対する読取りおよび書込み権限が必要です。DBベースのストアの場合は、OPSS DBスキーマ・ユーザーとしてアップグレードを実行します。
password
は、指定されたuser
に対するパスワードを指定します。これは、DBベースのストアの場合はJDBCパスワード、LDAPベースのストアの場合はJDBCバインド・パスワードになります。LDAPベースのストアについてはオプション、DBベースのストアについては必須です。指定しない場合は、構成ファイルから読み取られます。