| Oracle® Fusion Middleware Oracle Platform Security Servicesによるアプリケーションの保護 12c (12.2.1.2.0) E82689-01 |
|
![]() 前 |
![]() 次 |
この付録では、通常$DOMAIN_HOME/config/fmwconfigディレクトリにある構成ファイルjps-config.xmlおよびjps-config-jse.xmlでの要素の階層と属性について説明します。
この付録の内容は次のとおりです。
OPSS構成ファイルでの指定内容は、ドメイン全体、すなわちドメインにデプロイされた管理対象サーバーおよびアプリケーションすべてに適用されます。
jps-config.xmlファイルの最上位要素は、jpsConfig要素です。これには、次の第2レベルの要素が含まれています。
<property>
<propertySets>
<extendedProperty>
<serviceProviders>
<serviceInstances>
<jpsContexts>
表A-1は、これらの要素の機能を説明しています。中カッコ{}で囲まれた注釈は、その要素に許可されている繰返し回数を示します。たとえば、{0以上}は、その要素がゼロ回以上出現する可能性があることを示し、{1}はその要素が1回のみ出現することを示します。
表A-1 jps-config.xmlのトップレベルと第2レベルの要素
| 要素 | 説明 |
|---|---|
<jpsConfig> {1} |
構成ファイルのトップレベルの要素を定義します。 |
<property> {0 or more}
|
プロパティの名前と値を定義します。この要素は、 |
<propertySets> {0 or 1}
<propertySet> {1 or more}
<property> {1 or more}
|
1つまたは複数の |
<extendedProperty> {0 or more}
<name> {1}
<values> {1}
<value> {1 or more}
|
複数の値を持つプロパティを定義します。これは、extendedPropertyおよびserviceInstanceの各要素の下など、階層内の他の場所にも出現する可能性があります。 |
<extendedPropertySets> {0 or 1}
<extendedPropertySet> {1 or more}
<extendedProperty> {1 or more}
<name> {1}
<values> {1}
<value> {1 or more}
|
1つまたは複数の |
<serviceProviders> {0 or 1}
<serviceProvider> {1 or more}
<description> {0 or 1}
<property> {0 or more}
|
1つ以上の |
<serviceInstances> {0 or 1}
<serviceInstance> {1 or more}
<description> {0 or 1}
<property> {0 or more}
<propertySetRef> {0 or more}
<extendedProperty> {0 or more}
<name> {1}
<values> {1}
<value> {1 or more}
<extendedPropertySetRef> {0 or more}
|
1つまたは複数の |
<jpsContexts> {1}
<jpsContext> {1 or more}
<serviceInstanceRef> {1 or more}
|
1つまたは複数の |
この要素は、対応するエンティティ(サービス・インスタンスまたはサービス・プロバイダ)の説明を示します。
繰返し
<description>は、<serviceInstance>または<serviceProvider>の子として指定できます。
<serviceInstance>の子の場合:
<serviceInstances> {0 or 1} <serviceInstance> {1 or more} <description> {0 or 1} <property> {0 or more} <propertySetRef> {0 or more} <extendedProperty> {0 or more} <name> {1} <values> {1} <value> {1 or more} <extendedPropertySetRef> {0 or more}
<serviceProvider>の子の場合:
<serviceProviders> {0 or 1} <serviceProvider> {1 or more} <description> {0 or 1} <property> {0 or more}
この要素は、次の場所で拡張プロパティを定義します。
<jpsConfig>の直下: 汎用的な拡張プロパティを定義します。たとえば、LDAP認証プロバイダのすべてのベースDNを指定できます。
<extendedPropertySet>の直下: 拡張プロパティ・セットを定義します。
<serviceInstance>の直下: 特定のサービス・インスタンスの拡張プロパティを定義します。
1つの拡張プロパティには複数の値が含まれています。それぞれの値を指定するには、<value>要素を使用します。このカテゴリには、次の値の指定など、LDAPアイデンティティ・ストアのプロパティがいくつか含まれます。
ユーザー・オブジェクトの作成に使用されるオブジェクト・クラス
ユーザーの作成時に指定する必要がある属性名
ユーザー検索用のベースDN
繰返し
<extendedProperty>は、<extendedPropertySet>、<jpsConfig>または<serviceInstance>の子として指定できます。
<extendedPropertySet>の子の場合:
<extendedPropertySets> {0 or 1} <extendedPropertySet> {1 or more} <extendedProperty> {1 or more} <name> {1} <values> {1} <value> {1 or more}
<jpsConfig>の子の場合:
<jpsConfig> <extendedProperty> {0 or more} <name> {1} <values> {1} <value> {1 or more}
<serviceInstance>の子の場合:
<serviceInstances> {0 or 1} <serviceInstance> {1 or more} <description> {0 or 1} <property> {0 or more} <propertySetRef> {0 or more} <extendedProperty> {0 or more} <name> {1} <values> {1} <value> {1 or more} <extendedPropertySetRef> {0 or more}
この要素は、拡張プロパティのセットを定義します。定義後、拡張プロパティ・セットは、サービス・インスタンスの構成の一部として特定のプロパティを指定するために、<extendedPropertySetRef>要素によって参照されます。
属性
| 名前 | 説明 |
|---|---|
name |
拡張プロパティ・セットの名前を指定します。1つの構成ファイル中に同じname属性の設定を持つ<extendedPropertySet>要素が複数存在することはできません。
値: 文字列 デフォルト: 該当なし(必須) |
繰返し
<extendedPropertySets>内に1つ以上必要です。
<extendedPropertySets> {0 or 1} <extendedPropertySet> {1 or more} <extendedProperty> {1 or more} <name> {1} <values> {1} <value> {1 or more}
この要素は、ファイル内の別の場所で定義された拡張プロパティ・セットを参照することにより、サービス・インスタンスを構成します。
属性
| 名前 | 説明 |
|---|---|
ref |
<serviceInstance>親要素で定義されたサービス・インスタンスに使用される拡張プロパティが含まれる拡張プロパティ・セットを参照します。<extendedPropertySetRef>のref値は、<extendedPropertySet>要素のname値と一致している必要があります。
値: 文字列 デフォルト: 該当なし(必須) |
繰返し
オプション(ゼロ個以上)
<serviceInstances> {0 or 1} <serviceInstance> {1 or more} <description> {0 or 1} <property> {0 or more} <propertySetRef> {0 or more} <extendedProperty> {0 or more} <name> {1} <values> {1} <value> {1 or more} <extendedPropertySetRef> {0 or more}
この要素は、プロパティのセットを指定します。
繰返し
オプション(0または1つ)
<jpsConfig> <extendedPropertySets> {0 or 1} <extendedPropertySet> {1 or more} <extendedProperty> {1 or more} <name> {1} <values> {1} <value> {1 or more}
これは構成ファイルのルート要素です。
この要素は、コンテキストを構成するサービス・インスタンスのセットを参照することにより、ドメインに共通するサービス・インスタンスのコレクションであるOPSSコンテキストを宣言します。各<jspContext>には、一意の名前が必要です。
繰返し
<jpsContext>要素は、<jpsContexts>の下に少なくとも1つ必要です。<serviceInstanceRef>要素は、<jpsContext>要素に含まれます。
<jpsContexts> {1} <jpsContext> {1 or more} <serviceInstanceRef> {1 or more}
例
次の例では、2つのコンテキストの定義を示します。最初のdefaultというコンテキストは、デフォルトのコンテキスト(<jpsContexts>でdefault属性によって指定されたもの)であり、複数のサービス・インスタンスを名前によって参照します。
2番目のanonymousというコンテキストは、認証されていないユーザーを対象としており、anonymousおよびanonymous.loginmoduleサービス・インスタンスを参照します。
<serviceInstances> ... <serviceInstance provider="credstoressp" name="credstore"> <description>File Based Default Credential Store Instance</description> <property name="location" value="${oracle.instance}/config/JpsDataStore/JpsSystemStore"/> </serviceInstance> ... <serviceInstance provider="anonymous.provider" name="anonymous"> <property value="anonymous" name="anonymous.user.name"/> <property value="anonymous-role" name="anonymous.role.name"/> </serviceInstance> ... <serviceInstance provider="jaas.login.provider" name="anonymous.loginmodule"> <description>Anonymous Login Module</description> <property value="oracle.security.jps.internal.jaas.module.anonymous.AnonymousLoginModule" name="loginModuleClassName"/> <property value="REQUIRED" name="jaas.login.controlFlag"/> </serviceInstance> ... </serviceInstances> ... <jpsContexts default="default"> ... <jpsContext name="default"> <!-- This is the default JPS context. All the mandatory services and Login Modules must be configured in this default context --> <serviceInstanceRef ref="credstore"/> <serviceInstanceRef ref="idstore.xml"/> <serviceInstanceRef ref="policystore.xml"/> <serviceInstanceRef ref="idstore.loginmodule"/> <serviceInstanceRef ref="idm"/> </jpsContext> <jpsContext name="anonymous"> <serviceInstanceRef ref="anonymous"/> <serviceInstanceRef ref="anonymous.loginmodule"/> </jpsContext> ... </jpsContexts>
この要素は、コンテキストのセットを指定します。
属性
| 名前 | 説明 |
|---|---|
デフォルト |
指定がない場合にアプリケーションによって使用されるコンテキストを指定します。<jpsContexts>要素のdefault値は、<jpsContext>子要素のnameと一致している必要があります。
値: 文字列 デフォルト: 該当なし(必須) デフォルトのコンテキストでは、サービスおよびログイン・モジュールをすべて構成する必要があります。 |
この要素は、拡張プロパティの名前を指定します。
この要素は、次のシナリオでプロパティを定義します。
表A-2 <property>のシナリオ
| jps-config.xml内での位置 | 機能 |
|---|---|
|
<jpsConfig>の直下 |
汎用的な単一値プロパティを定義します。 |
|
複数の値を持つプロパティ・セットを定義します。 |
|
|
特定のサービス・インスタンスで使用されるプロパティを定義します。 |
|
|
特定のサービス・プロバイダのすべてのサービス・インスタンスで使用されるプロパティを定義します。 |
プロパティのリストについては、「OPSSのシステムおよび構成プロパティ」を参照してください。
属性
| 名前 | 説明 |
|---|---|
name |
設定するプロパティの名前を指定します。
値: 文字列 デフォルト: 該当なし(必須) |
value |
設定するプロパティの値を指定します。
値: 文字列 デフォルト: 該当なし(必須) |
繰返し
<propertySet>の下の場合は1つ以上必要です。それ以外の場合はオプションで、ゼロ個以上です。
<jpsConfig>の子の場合:
<jpsConfig> <property> {0 or more}
<propertySet>の子の場合:
<propertySets> {0 or 1} <propertySet> {1 or more} <property> {1 or more}
<serviceInstance>の子の場合:
<serviceInstances> {0 or 1} <serviceInstance> {1 or more} <description> {0 or 1} <property> {0 or more} <propertySetRef> {0 or more} <extendedProperty> {0 or more} <name> {1} <values> {1} <value> {1 or more} <extendedPropertySetRef> {0 or more}
<serviceProvider>の子の場合:
<serviceProviders> {0 or 1} <serviceProvider> {1 or more} <description> {0 or 1} <property> {0 or more}
例
次の例では、認可のJava Authorization and Authentication Services (JAAS)モードを無効にするプロパティを示します。
<jpsConfig ... > ... <property name="oracle.security.jps.jaas.mode" value="off"/> ... </jpsConfig>
その他の例については、<propertySet>および<serviceInstance>を参照してください。
この要素は、プロパティのセットを定義します。各プロパティ・セットには名前があり、サービス・インスタンスの構成にプロパティを含めるために、<propertySetRef>要素から参照できるようになっています。
属性
| 名前 | 説明 |
|---|---|
name |
プロパティ・セットの名前を指定します。1つのjps-config.xmlファイル中に同じ名前を持つ<propertySet>要素が複数存在することはできません。
値: 文字列 デフォルト: 該当なし(必須) |
繰返し
<propertySets>内に1つ以上必要です。
<propertySets> {0 or 1} <propertySet> {1 or more} <property> {1 or more}
例
<propertySets> ... <!-- For property that points to valid Access SDK installation directory --> <propertySet name="access.sdk.properties"> <property name="access.sdk.install.path" value="$ACCESS_SDK_HOME"/> </propertySet> ... </propertySets> <serviceInstances> ... <serviceInstance provider="jaas.login.provider" name="oam.loginmodule"> <description>OAM Login Module</description> <property value="oracle.security.jps.internal.jaas.module.oam.OAMLoginModule" name="loginModuleClassName"/> <property value="REQUIRED" name="jaas.login.controlFlag"/> <propertySetRef ref="access.sdk.properties"/> </serviceInstance> ... </serviceInstances>
この要素は、ファイル内の別の場所で定義されたプロパティ・セットを参照することにより、サービス・インスタンスを構成します。
属性
| 名前 | 説明 |
|---|---|
ref |
<serviceInstance>親要素で定義されたサービス・インスタンスに使用されるプロパティが含まれるプロパティ・セットを参照します。<propertySetRef>要素のref値は、<propertySet>要素のnameと一致している必要があります。
値: 文字列 デフォルト: 該当なし(必須) |
繰返し
オプション(ゼロ個以上)
<serviceInstances> {0 or 1} <serviceInstance> {1 or more} <description> {0 or 1} <property> {0 or more} <propertySetRef> {0 or more} <extendedProperty> {0 or more} <name> {1} <values> {1} <value> {1 or more} <extendedPropertySetRef> {0 or more}
この要素は、プロパティ・セットのセットを指定します。
繰返し
オプション。存在する場合は、1つの<propertySets>要素のみが存在できます。
<jpsConfig> <propertySets> {0 or 1} <propertySet> {1 or more} <property> {1 or more}
この要素は、アイデンティティ・ストア・インスタンスやログイン・モジュール・インスタンスなど、サービス・プロバイダのインスタンスを定義します。
各プロバイダ・インスタンスは、構成ファイル内でプロバイダの参照に使用されるインスタンス名と、場合によってはインスタンスのプロパティを指定します。プロパティは、インスタンスの場所を含んでおり、そのインスタンス要素自体内で直接指定したり、プロパティまたはプロパティ・セットを参照することによって間接的に指定することができます。サービス・インスタンスのプロパティを変更するには、「スクリプトを使用したサービスの構成」で説明されている手順を使用します
サービス・インスタンスのプロパティと拡張プロパティを、次の方法で設定します。
<property>サブ要素を使用してプロパティを直接設定します。
<extendedProperty>サブ要素を使用して拡張プロパティを直接設定します。
<propertySetRef>サブ要素を使用して事前定義済のプロパティ・セットを参照します。
<extendedPropertySetRef>サブ要素を使用して事前定義済の拡張プロパティ・セットを参照します。
属性
| 名前 | 説明 |
|---|---|
name |
このサービス・インスタンスの名前を指定します。1つのjps-config.xmlファイル内に同じname属性の設定を持つ<serviceInstance>要素が2つ存在することはできません。
値: 文字列 デフォルト: 該当なし(必須) |
プロバイダ |
このインスタンスがどのサービス・プロバイダのものであるかを示します。
値: 文字列 デフォルト: 該当なし(必須) |
繰返し
<serviceInstances>内に1つ以上必要です。
<serviceInstances> {0 or 1} <serviceInstance> {1 or more} <description> {0 or 1} <property> {0 or more} <propertySetRef> {0 or more} <extendedProperty> {0 or more} <name> {1} <values> {1} <value> {1 or more} <extendedPropertySetRef> {0 or more}
例
次の例では、locationプロパティを使用してファイルの場所を指定するファイル・アイデンティティ・ストアの構成を示します。
<serviceInstances>
<serviceInstance name="idstore.xml" provider="idstore.xml.provider">
<!-- Subscriber name must be defined for file Identity Store -->
<property name="subscriber.name" value="jazn.com"/>
<!-- This is the location of file Identity Store -->
<property name="location" value="./system-jazn-data.xml"/>
</serviceInstance>
...
</serviceInstances>
次の例では、資格証明ストアの構成を示します。ここでは、locationプロパティを使用して資格証明ストアの場所を設定しています。
<serviceInstances>
<serviceInstance provider="credstoressp" name="credstore">
<description>File Based Default Credential Store Instance</description>
<property name="location"
value="${oracle.instance}/config/JpsDataStore/JpsSystemStore" />
</serviceInstance>
...
</serviceInstances>
次の例では、LDAPアイデンティティ・ストアの構成を示します。
<serviceInstance name="idstore.oid" provider="idstore.ldap.provider">
<property name="subscriber.name" value="dc=us,dc=oracle,dc=com"/>
<property name="idstore.type" value="OID"/>
<property name="security.principal.key" value="ldap.credentials"/>
<property name="security.principal.alias" value="JPS"/>
<property name="ldap.url" value="ldap://myServerName.com:389"/>
<extendedProperty>
<name>user.search.bases</name>
<values>
<value>cn=users,dc=us,dc=oracle,dc=com</value>
</values>
</extendedProperty>
<extendedProperty>
<name>group.search.bases</name>
<values>
<value>cn=groups,dc=us,dc=oracle,dc=com</value>
</values>
</extendedProperty>
<property name="username.attr" value="uid"/>
<property name="groupname.attr" value="cn"/>
</serviceInstance>
次の例では、監査プロバイダの構成を示します。
<serviceInstances>
<serviceInstance name="audit" provider="audit.provider">
<property name="audit.filterPreset" value="Low"/>
<property name="audit.specialUsers" value ="admin, fmwadmin" />
<property name="audit.customEvents" value ="JPS:CheckAuthorization, CreateCredential, OIF:UserLogin"/>
<property name="audit.loader.jndi" value="jdbc/AuditDB"/>
<property name="audit.loader.interval" value="15" />
<property name="audit.maxFileSize" value="10240" />
<property name=" audit.loader.repositoryType " value="Db" />
</serviceInstance>
</serviceInstances>
次の例では、ログイン・モジュールの構成を示します。
<serviceInstance name="user.authentication.loginmodule" provider="jaas.login.provider">
<description>User Authentication Login Module</description>
<property name="loginModuleClassName" value="oracle.security.jps.internal.jaas.module.authentication.JpsUserAuthenticationLoginModule"/>
<property name="jaas.login.controlFlag" value="REQUIRED"/>
<property name="enable.anonymous" value="true"/>
<property name="remove.anonymous.role" value="false"/>
</serviceInstance>
|
関連項目:
|
この要素は、サービス・インスタンスを参照します。
属性
| 名前 | 説明 |
|---|---|
ref |
<jpsContext>親要素で定義されたコンテキストの一部であるサービス・インスタンスを参照します。<serviceInstanceRef>要素のref値は、<serviceInstance>要素のnameと一致している必要があります。
値: 文字列 デフォルト: 該当なし(必須) |
繰返し
<jpsContext>内に1つ以上必要です。
<jpsContexts> {1} <jpsContext> {1 or more} <serviceInstanceRef> {1 or more}
この要素は、<serviceInstance>要素の親です。
繰返し
オプション(0または1つ)
<jpsConfig> <serviceInstances> {0 or 1} <serviceInstance> {1 or more} <description> {0 or 1} <property> {0 or more} <propertySetRef> {0 or more} <extendedProperty> {0 or more} <name> {1} <values> {1} <value> {1 or more} <extendedPropertySetRef> {0 or more}
この要素は、サービス・プロバイダを定義します。各プロバイダは、資格証明ストア、認証、ポリシー、ログイン・モジュールなどのプロバイダ・タイプと、プロバイダの作成時に使用するために実装するJavaクラスを指定します。さらに、要素propertyではプロバイダのインスタンス化に使用される設定を指定します。
次のデータを指定します。
サービス・プロバイダのタイプ(type属性で指定)
サービス・プロバイダに指定された名前(このサービス・プロバイダのインスタンスを定義する各<serviceInstance>要素内で参照)
このサービス・プロバイダを実装し、このサービス・プロバイダのインスタンス作成時にインスタンス化されるクラス
このサービス・プロバイダの任意のインスタンスに汎用的に使用される任意のオプションのプロパティ
属性
| 名前 | 説明 |
|---|---|
type |
宣言されているサービス・プロバイダのタイプを指定します。有効なタイプは次のとおりです。
実装クラスでは、より具体的にプロバイダのタイプが定義されます。 値: 任意の有効なタイプ。 デフォルト: 該当なし(必須) |
name |
このサービス・プロバイダの名前を指定します。この名前は、<serviceInstance>要素のprovider属性で、このプロバイダのインスタンスを作成するために参照されます。1つの構成ファイル中に同じname属性の設定を持つ<serviceProvider>要素が複数存在することはできません。
値: 文字列 デフォルト: 該当なし(必須) |
class |
サービス・プロバイダの作成時にインスタンス化されたこのサービス・プロバイダを実装するJavaクラスの完全修飾名を指定します。
値: 文字列 デフォルト: 該当なし(必須) |
繰返し
<serviceProviders>要素内に1つ以上必要です。
<serviceProviders> {0 or 1} <serviceProvider> {1 or more} <description> {0 or 1} <property> {0 or more}
例
次の例では、ログイン・モジュールの指定を示します。
<serviceProviders>
<serviceProvider type="LOGIN" name="jaas.login.provider"
class="oracle.security.jps.internal.login.jaas.JaasLoginServiceProvider">
<description>This is Jaas Login Service Provider and is used to configure
login module service instances</description>
</serviceProvider>
</serviceProviders>
次の例では、プロバイダの定義を示します。
<serviceProviders>
<serviceProvider name="audit.provider" type="AUDIT" class="oracle.security.jps.internal.audit.AuditProvider">
</serviceProvider>
</serviceProviders>
その他の例については、<serviceInstance>を参照してください。
この要素は、サービス・プロバイダのセットを指定します。
繰返し
オプションで、1つのみです。
<jpsConfig> <serviceProviders> {0 or 1} <serviceProvider> {1 or more} <description> {0 or 1} <property> {0 or more}
この要素は拡張プロパティの値を指定します。拡張プロパティは複数の値を持つことができます。<value>要素ごとに1つの値を指定します。
<value>要素の親要素です。
繰返し
<extendedProperty>内に1つのみ必要です。
<extendedProperty> {0 or more} <name> {1} <values> {1} <value> {1 or more}