この付録では、リリース10.1.3.xで使用されているJAZNセキュリティ・データを、オフラインのWLSTコマンドupgradeSecurityStoreを使用して、11gリリース1(11.1.1)のOPSSで使用されるセキュリティ・データにアップグレードする手順について説明します。このコマンドを使用することにより、アイデンティティ、ポリシーまたは資格証明データを個別にアップグレードできます。
OPSSによりJAZN(アイデンティティとポリシーを格納するために10.1.3.x. JAZNに存在)が置き換えられ、この項で説明するように、JAZN内の古いデータをOPSSにアップグレードできます。
アップグレードの対象がLDAPベースのリポジトリの場合には、コマンドを使用する前にいくつかの設定が必要になります。第8.1.2項「LDAPベースのポリシー・ストアを使用する場合の前提条件」を参照してください。
次に示すコマンドは、オフラインであり(つまり、実行中のサーバーに接続しなくても動作します)、インタラクティブ・モードまたはスクリプト・モードで実行できます。インタラクティブ・モードの場合は、コマンドライン・プロンプトにコマンドを入力すると、応答が即座に表示されます。スクリプト・モードの場合、コマンドはテキスト・ファイル(ファイル名拡張子は.py)に記述するので、シェル・スクリプトのディレクティブのように入力なしで実行できます。
|
重要: シェル内でセキュリティ関連のWLSTコマンドを起動する前に、次のサンプルで説明するように、wlst.shスクリプトを実行する必要があります。
> sh $ORACLE_HOME/common/bin/wlst.sh これにより、必要なJARがクラスパスに確実に追加されるようになります。新しいシェル内で上のスクリプトを実行しないと、WLSTコマンドが使用できない状態になります。 |
|
注意: アップグレード中のセキュリティの脆弱性を防ぐために、Oracle Containers for Java EEとOracle HTTP Server間でSSL伝送を有効にします。 |
スクリプト・モードおよびインタラクティブ・モードの構文
コマンド構文は、アップグレードされるストアのタイプによって異なります。オプションの引数は角カッコで囲まれています。スクリプト・モードの構文では、わかりやすいように引数が別々の行に記述されています。
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"])
引数(dst以外はすべて必須)の意味は、次のとおりです。
typeは、アップグレードするセキュリティ・データの種類を指定します。有効な値は、xmlIdStore、xmlPolicyStore、oidPolicyStore、xmlCredStoreのみです。
jpsConfigFileでは、構成ファイルjps-config.xmlの位置を、このコマンドを実行するディレクトリを基準とした相対パスで指定します。アップグレードのターゲット・ストアは、引数dstで指定したコンテキストから読み取られます。
srcJaznDataFileでは、10.1.3.x jaznデータ・ファイルの位置を、このコマンドを実行するディレクトリを基準とした相対パスで指定します。指定したtypeがxmlIdStore、xmlPolicyStoreまたはxmlCredStoreの場合、この引数は必須です。
srcJaznConfigFileでは、10.1.3.x jazn構成ファイルの位置を、このコマンドを実行するディレクトリを基準とした相対パスで指定します。指定したtypeがoidPolicyStoreの場合、この引数は必須です。
usersは、それぞれrealmName/userNameという形式で表されたユーザーのカンマ区切りリストを指定します。指定したtypeがxmlCredStoreの場合、この引数は必須です。
srcRealmは、引数srcJaznDataFileで渡されるファイル内の、移行するアイデンティティを識別するレルム名を指定します。指定したtypeがxmlIdStoreの場合、この引数は必須です。
dstは、引数jpsConfigFileで渡されるファイル内の、宛先ストアを構成しているjpsContextの名前を指定します。これはオプションです。指定しない場合は、デフォルトのjpsContextが使用されます。
次の例では、わかりやすいように引数が別々の行に記述されています。
例1 - アイデンティティのアップグレード
次のコマンドを起動すると、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に移行します。
例2 - ファイルベース・ポリシーへのアップグレード
次のコマンドを起動すると、10.1.3のファイルベースのポリシー・ストアが11gリリース1(11.1.1)のポリシー・ストアに移行します。
upgradeSecurityStore -type xmlPolicyStore
-jpsConfigFile jps-config.xml
-srcJaznDataFile jazn-data.xml
-dst destContext
このコマンドの使用では、(a)ファイルjps-config.xmlおよびjazn-data.xmlが、コマンドが実行されているディレクトリに格納されていること、および(b)ファイル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に移行します。
例3 - Oracle Internet Directory LDAPベースのポリシーへのアップグレード
次のコマンドを起動すると、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>