ヘッダーをスキップ
Oracle Fusion Middlewareセキュリティ・ガイド
11gリリース1(11.1.1)
B56235-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

F OPSSのシステムおよび構成プロパティ

この付録では、OPSSのシステム・プロパティ(サーバー起動時にスイッチ-Dを使用して設定)および構成プロパティ(構成ファイルjps-config.xmlで要素<property>および<extendedProperty>を使用して設定)について次の各項で説明します。

サーバー・プロパティをプログラムによって管理するには、OPSS MBeansを使用します。詳細と例は、第E.2.3項「OPSS Mbeansを使用したプログラミング」を参照してください。


注意:

すべてのOPSSの構成変更を有効にするには(手動で、またはJpsConfiguration MBeanを使用して)、サーバーを再起動する必要があります。

OPSSデータ・ドメインの変更の場合は、変更を有効にするためにサーバーを再起動する必要はありません。データ変更には、アプリケーション・ポリシーの変更と、資格証明の作成、削除または更新があります。


F.1 OPSSシステム・プロパティ

サーバーを再起動せずにシステム・プロパティを設定することはできません。システム・プロパティを設定するには、管理者はsetDomainEnv.shシェル・スクリプトを編集し、そのスクリプト内の環境変数EXTRA_JAVA_PROPERTIESにプロパティを追加する必要があります。

表F-1は、OPSSで使用可能なJavaシステム・プロパティを示しています。

表F-1 OPSSで使用されるJavaシステム・プロパティ

名前 説明

jaas.username.simple

アイデンティティ・ストア・サービスで公開されるこのプロパティは、JpsPrincipal.getName()メソッドがユーザー名のどの部分を返すのかを指定します。

XMLファイルベースのアイデンティティ・ストアの場合: このプロパティがtrueに設定されている(デフォルト設定)場合は、JpsPrincipal.getName()はユーザー名のみを返します。このプロパティがfalseに設定されている場合は、getName()メソッドではレルム名/ユーザー名が返されます。

LDAPベースのアイデンティティ・ストアの場合: trueに設定されている場合は、JpsPrincipal.getName()は単純な名前(つまりCN)のみを返します。falseに設定されている場合は、JpsPrincipal.getName()はDN全体を返します。

デフォルト: true

java.security.policy

OPSSポリシー・ファイルの場所を指定します。

jps.app.credential.overwrite.allowed

Trueに設定すると、サーバーが開発モードで実行されている場合のアプリケーションのデプロイ時または再デプロイ時に、資格証明の移行によって既存の資格証明が上書きされるように指定します。詳細は、第15.4.5.3項「資格証明を上書きにより移行するには」を参照してください。

jps.auth.debug

サーバーのロギング出力を増やします。詳細は、第I.1.2.1項「jps.auth.debug」を参照してください。

jps.auth.debug.verbose

サーバーのロギング出力を増やします。詳細は、第I.1.2.2項「jps.auth.debug.verbose」を参照してください。

jps.change.notifier.file.delay

システムでドメイン・ファイルsystem-jazn-data.xmlおよびcwallet.ssoの変更をチェックする頻度(ミリ秒)を指定します。デフォルト値は1000(ミリ秒)です。次のスニペットに示すように、サーバー起動時に設定します。

-Djps.change.notifier.file.delay=600000

本番環境では、約10分(600000ミリ秒)の頻度を推奨します。開発環境では、約3分(180000ミリ秒)の頻度を推奨します。

jps.policystore.java2.enable

Java 2ポリシーを有効にします。

値: ブール

デフォルト: false

jps.policystore.readonly

ポリシー・ストアが読取り専用かどうかを指定します。

値: ブール

デフォルト: false

jps.update.subject.dynamic

アプリケーション・ロールがリクエストごとに再計算されるかどうかを指定します。このフラグをtrueに設定すると、サーバーのパフォーマンスに大きな影響があります。

値: ブール

デフォルト: false

oracle.security.jps.JpsContextFactory

OPSSのコンテキスト・インスタンスを作成するためのファクトリ・クラスを指定します。

値: 文字列

デフォルト: oracle.security.jps.internal.core.runtime.JpsContextFactoryImpl

oracle.security.jps.config

ドメイン構成ファイルjps-config.xmlまたはjps-config-jse.xmlへのフルパスを指定します。構成ファイルでパスを指定する場合は、構成ファイルの場所に対する相対パスとして、または絶対パスとして指定できます。

値: 文字列

oracle.security.jps.config.JpsConfigurationFactory

OPSSの構成インスタンスを作成するためのファクトリ・クラスを指定します。

値: 文字列

デフォルト: oracle.security.jps.internal.config.xml.XmlConfigurationFactory


F.2 OPSS構成プロパティ

この項では、要素<property>または<extendedProperty>を使用してファイルjps-config.xmlに設定できるプロパティについて次の各項で説明します。

F.2.1 サービス・インスタンスの場所のプロパティ

表F-2は、LDAPベースまたはファイルベースのストア・インスタンスの場所を指定するプロパティを示しています。

表F-2 サービス・インスタンスのプロパティ

名前 プロパティ/拡張プロパティ 説明

ldap.url

プロパティ

LDAPベースのアイデンティティ・ストア、ポリシー・ストアまたは資格証明ストアのサービス・インスタンスについては、このプロパティはディレクトリ・サーバーのURLを指定します。

値: 文字列

例:

<serviceInstance name="policystore.oid" provider="policy.oid">
   ...
   <property name="ldap.url"
             value="ldap://myoid.oracle.com:389"/>
   ...
</serviceInstance>

location

プロパティ

ファイルベースのアイデンティティ・ストアやポリシー・ストアのサービス・インスタンス、またはウォレットベースの資格証明ストア・サービス・インスタンスについては、このプロパティはデータ・ストアのファイル・パスを指定します。

値: 文字列

例1: ウォレットベースの資格証明ストア

<serviceInstance name="credstore" provider="credstoressp">
   ...
   <property name="location" value="./" />
   ...
</serviceInstance>

例2: ファイルベースのアイデンティティまたはポリシー・ストア

<serviceInstance name="idstore.xml"
                 provider="idstore.xml.provider">
   ...
   <property name="location" value="./system-jazn-data.xml" />
   ...
</serviceInstance>

F.2.2 アイデンティティ・ストアのプロパティ

表F-3は、ファイルベースおよびLDAPベースのアイデンティティ・ストア・インスタンスのプロパティを示しています。

表F-3 アイデンティティ・ストアのプロパティ

名前 プロパティ/拡張プロパティ 説明

admin.user.name

プロパティ

管理ユーザー・アカウントを指定します。

値: 文字列

デフォルト: fmwadmin

idstore.type

プロパティ

アイデンティティ・ストアのタイプを示します。

値:

XML: ファイルベースのアイデンティティ・ストア。XMLはファイルベースのアイデンティティ・ストアに使用可能な唯一の値なので、この場合はidstore.typeを指定する必要はありません。

OID - Oracle Internet Directory

OVD - Oracle Virtual Directory

ACTIVE_DIRECTORY - Active Directory

IPLANET - Sun Java System Directory Server

WLS_OVD - WebLogic OVD

CUSTOM - その他の任意のタイプ

subscriber.name

プロパティ

アイデンティティ・ストアのデフォルトのレルムを指定します。

値: 文字列

ファイルベースのアイデンティティ・ストアのデフォルト: jazn.com

例1: LDAPベースのアイデンティティ・ストア

<serviceInstance name="idstore.ldap"
                 provider="idstore.ldap.provider">
   <property name="subscriber.name"
             value="dc=us,dc=oracle,dc=com"/>
   ...
</serviceInstance>

例2: ファイルベースのアイデンティティ・ストア

<serviceInstance name="idstore.xml"
                 provider="idstore.xml.provider">
   <!-- Subscriber name must be defined for XML Identity Store -->
   <property name="subscriber.name" value="jazn.com"/>
   ...
</serviceInstance>

F.2.3 LDAPプロパティ

表F-4は、サービス・インスタンスで指定できるLDAPベースのストアのプロパティを示しています。LDAPベースのアイデンティティ・ストアのサービス・インスタンスの場合は、ユーザーおよびロールAPIがJNDI接続ファクトリ使用時に必ず接続プール・プロパティを選択するようにするために、アイデンティティ・ストアのサービス・インスタンスに次のプロパティを含める必要があります。

<property
name="INITIAL_CONTEXT_FACTORY" value="com.sun.jndi.ldap.LdapCtxFactory"/>

表F-4 LDAPプロパティ

名前 プロパティ/拡張プロパティ 説明

connection.pool.authentication

プロパティ

JNDI接続プールが使用するLDAP接続のタイプを指定します。

値: none、simpleおよびDIGEST-MD5

デフォルト: simple

connection.pool.max.size

プロパティ

LDAP接続プールの最大接続数を指定します。

値: 整数

例: 30

connection.pool.min.size

プロパティ

LDAP接続プールの最小接続数を指定します。

値: 整数

例: 5

connection.pool.protocol

プロパティ

LDAP接続に使用するプロトコルを指定します。

値: plain、ssl

デフォルト: plain

connection.pool.provider.type

プロパティ

使用する接続プールを指定します。

値: JNDI、IDM

デフォルト: JNDI

connection.pool.timeout

プロパティ

アイドル接続がプールにとどまっていられるミリ秒数を指定します。タイムアウト後に接続が閉じられ、プールから削除されます。

値: 文字列形式の整数。

デフォルト: "300000"(5分)

oracle.security.jps.farm.name

プロパティ

次の例に示すように、LDAPリポジトリ内でJPSContextノード下のノードの名前を指定します。

<property value="cn=wls-jrfServer" name="oracle.security.jps.farm.name"/>

oracle.security.jps.farm.root.name

プロパティ

次の例に示すように、LDAPリポジトリ内で最上位ノードの名前を指定します。

<property value="cn=jpsTestNode" name="oracle.security.jps.ldap.root.name"/>

oracle.security.jps.ldap.cache.enable

プロパティ

LDAPキャッシュを有効化または無効化するのかを指定します。

値: trueまたはfalse

oracle.security.jps.ldap.cache.initial.capacity

プロパティ

HashMapの初期容量を指定します。この値はパフォーマンスに影響するため、低すぎる値には設定しないことが重要です。

キャッシング・サービスでは、キャッシュされたオブジェクトの格納や取得に使用されるグローバルHashMap(java.util.HashMapインスタンス)を保持しています。HashMapの期限切れのオブジェクトは、適宜、定期的に無効化され、自動的にクリーンアップされます。キャッシュ内のオブジェクトは、TTLアルゴリズムに基づいて失効します。有効期限は、次のプロパティを使用して設定できます。

値: 整数

デフォルト: 20

oracle.security.jps.ldap.cache.load.factor

プロパティ

HashMapの負荷率を指定します。これは、容量が自動的に増やされる前に、どの程度一杯になるまでキャッシュを取得できるのかを示す尺度です。この値は全体的なパフォーマンスに影響するため、1に近似しすぎる値には設定しないことが重要です。

値: 0から1までの数値。

Default: 0.7

oracle.security.jps.ldap.cache.purge.timeout

プロパティ

オブジェクトが無効になって削除されるまでの、オブジェクトのキャッシュでの残存時間(ミリ秒)を指定します。これは、期限切れのオブジェクトを検索するデーモン・スレッドの実行から次の実行までのスリープ時間でもあります。

値: 整数

デフォルト: 3600000(1時間)

oracle.security.jps.ldap.max.retry

プロパティ

LDAP接続に問題がある場合の、最大再試行回数を指定します。

値: 整数

例: 5

oracle.security.jps.ldap.root.name

プロパティ

OPSSのLDAPコンテキスト・ルートを指定します。

値: 文字列

デフォルト: cn=OracleJpsContainer

oracle.security.jps.ldap.topology.canonical.path

プロパティ

管理対象外LDAPサーバーに相当するMASのトポロジ・ノードの正規パス名を指定します。

値: 文字列

例: /farm6946_FarmRoot/farm6946/ldap1


例:

<jpsConfig ... >
   ...
   <!-- These are various JPS common properties used for LDAP operations -->
   <property name="oracle.security.jps.farm.name" value="cn=OracleFarmContainer"/>
   <property name="oracle.security.jps.ldap.root.name"
             value="cn=OracleJpsContainer"/>
   <property name="oracle.security.jps.ldap.max.retry" value="5"/>
   ...
</jpsConfig>

F.2.4 LDAPアイデンティティ・ストアのプロパティ

表F-5に、LDAPアイデンティティ・ストアのみのプロパティを示します。ファイルベースとLDAPベース両方のアイデンティティ・ストアに適用されるプロパティのリストは、「アイデンティティ・ストアのプロパティ」を参照してください。


関連項目:

  • この項に示したプロパティの使用例については、「<serviceInstance> 」を参照してください。


表F-5 LDAPアイデンティティ・ストアのプロパティ

名前 プロパティ/拡張プロパティ 説明

group.create.bases

拡張プロパティ

ロール(グループ)作成のためのLDAPディレクトリのベースDNを指定します。

値: 文字列

例: cn=groups,dc=us,dc=abc,dc=com(シングルDN)

group.filter.object.classes

拡張プロパティ

ロール(グループ)の検索に使用されるオブジェクト・クラスの完全修飾名を指定します。

値: 文字列

group.mandatory.attrs

拡張プロパティ

ロール(グループ)オブジェクト作成時に指定する必要がある属性を指定します。

値: 文字列

group.member.attrs

拡張プロパティ

ロールのメンバーの識別名(DN)を指定する静的LDAPロール・オブジェクトの属性を指定します。

値: 文字列

例:

member(Active Directoryの場合)

uniqueMember(Sun Java System Directory Serverの場合)

group.object.classes

拡張プロパティ

ロール(グループ)を表すのに使用される1つ以上のスキーマ・オブジェクト・クラスの完全修飾名を指定します。

値: 文字列

group.search.bases

拡張プロパティ

ロール(グループ)検索のためのLDAPディレクトリのベースDNを指定します。

値: 文字列

例: cn=groups,dc=us,dc=abc,dc=com(シングルDN)

group.selected.create.base

拡張プロパティ

ロール(グループ)作成用のLDAPディレクトリのベースDNを指定します。

値: 文字列

例: cn=users,dc=us,dc=abc,dc=com(シングルDN)

group.selected.search.base

拡張プロパティ

ロール(グループ)検索のためのLDAPディレクトリのベースDNを指定します。

値: 文字列

例: cn=users,dc=us,dc=abc,dc=com(シングルDN)

groupname.attr

プロパティ

ロール(グループ)の名前を一意に識別するLDAP属性を指定します。

値: 文字列

例: cn

max.search.filter.length

プロパティ

次の例に示すように、アイデンティティ・ストア・サービスに対する検索フィルタの最大文字数を指定します。

<property name="max.search.filter.length" value="500"/>

値: 正の整数

search.type

プロパティ

リポジトリ問合せ時に使用される検索のタイプを指定します。

値: SIMPLE、PAGED、VIRTUAL_LIST_VIEW

これらの値の説明は、ユーザーおよびロールAPIのjavadocを参照してください。

security.credential

プロパティ

security.principalで指定されているLDAPユーザーのパスワード(不明瞭化されたパスワード)を指定します。これらのプロパティ(security.credentialおよびsecurity.principal)は、LDAPサーバーのパスワードがjps-config.xmlに格納されている場合にのみ使用されます。

パスワードが資格証明ストアに格納されている場合は、かわりにsecurity.principal.aliassecurity.principal.keyが使用されます。

値: 文字列

security.principal

プロパティ

security.credentialの説明を参照してください。

値: 文字列

例: orcladmin

security.principal.alias

プロパティ

LDAPユーザー名の別名を指定します。パスワードのキーは、security.principal.keyで指定されます。これらのプロパティ(security.principal.aliasおよびsecurity.principal.key)は、LDAPサーバーのパスワードが資格証明ストアに格納されている場合にのみ使用されます。

パスワードがjps-config.xmlに格納されている場合は、かわりにsecurity.principalsecurity.credentialが使用されます。

値: 文字列

例: JPS

security.principal.key

プロパティ

security.principal.aliasの説明を参照してください。

値: 文字列

例: ldap.credentials

user.create.bases

拡張プロパティ

ユーザー作成用のLDAPディレクトリのベースDNを指定します。

値: 文字列

例: cn=users,dc=us,dc=abc,dc=com(単一DN)

user.filter.object.classes

拡張プロパティ

ユーザー検索に使用されるオブジェクト・クラスの完全修飾名を指定します。

値: 文字列

user.login.attr

プロパティ

ユーザーのログインIDを指定します。

値: 文字列

user.mandatory.attrs

拡張プロパティ

ユーザー・オブジェクトの作成時に指定する必要がある属性を指定します。

値: 文字列

user.object.classes

拡張プロパティ

ユーザーを表すのに使用される1つ以上のスキーマ・オブジェクト・クラスの完全修飾名を指定します。

値: 文字列

user.search.bases

拡張プロパティ

ユーザー検索用のLDAPディレクトリのベースDNを指定します。

値: 文字列

例: cn=users,dc=us,dc=abc,dc=com(シングルDN)

username.attr

プロパティ

ユーザー名を一意に識別するLDAP属性を指定します。

値: 文字列


F.2.5 匿名ロールと認証ロールのプロパティ

表F-6に、匿名ユーザー、匿名ロールおよび認証ロールのプロパティを示します。これらのプロパティの中には、匿名サービスやアイデンティティ・ストアのログイン・モジュールの構成に使用されるものがあります。

表F-6 匿名ロールと認証ロールのプロパティ

名前 プロパティ/拡張プロパティ 説明

anonymous.role.description

プロパティ

匿名ロールの説明を提供します。

値: 文字列

例: This is the anonymous role used by the anonymous service instance.

anonymous.role.name

プロパティ

匿名ロールのプリンシパル名を指定します。

値: 文字列

デフォルト: anonymous-role

anonymous.role.uniquename

プロパティ

匿名ロールの一意の名前を指定します。

値: 文字列

デフォルト: anonymous-role

anonymous.user.name

プロパティ

匿名ユーザーのプリンシパル名を指定します。

値: 文字列

デフォルト: anonymous

authenticated.role.description

プロパティ

認証ロールの説明を提供します。

値: 文字列

例: This is the role used for authenticated users by the identity store service instance.

authenticated.role.name

プロパティ

認証されたユーザーに使用されるロールのプリンシパル名を指定します。

値: 文字列

デフォルト: authenticated-role

authenticated.role.uniquename

プロパティ

認証ロールの一意の名前を指定します。

値: 文字列

デフォルト: authenticated-role

remove.anonymous.role

プロパティ

ユーザーの認証後に、匿名ロールがサブジェクトから削除される必要があることを指定します。

値: ブール

デフォルト: false


F.2.6 ポリシー・プロバイダのフレームワークのプロパティ

表F-7に、ポリシー・プロバイダのフレームワークのプロパティを示します。

表F-7 ポリシー・プロバイダのフレームワークのプロパティ

名前 プロパティ/拡張プロパティ 説明

policystore.delegation.permission

プロパティ

PolicyDelegationPermissionを拡張するパーミッションの完全修飾クラス名を指定します。これは、ポリシー・フレームワークにより、実行時にカスタム・プロバイダの委任に使用されます。デフォルトでは、このプロパティはjps-config.xmlには指定されていません。

値: 文字列

policystore.role.memberattr

プロパティ

ロールのメンバーの識別名(DN)を指定する静的LDAPロール・オブジェクトの属性を指定します。

値: 文字列

例: uniquemember

policystore.role.nameattr

プロパティ

ロール名を一意に識別するLDAP属性の名前を指定します。

値: 文字列

例: cn

policystore.role.objectclass

プロパティ

ロールを表すLDAPスキーマ・オブジェクト・クラスを指定します。複数のクラスを指定する場合は、各クラスを空白で区切ります。

Sun Java System Directory ServerのデフォルトはgroupOfUniqueNamesです。Active Directoryのデフォルトはgroupです。

値: 文字列

例: orclrole

policystore.role.searchbase

プロパティ

ロールが含まれているLDAPディレクトリに、空白で区切られた識別名(DN)のリストを指定します。

値: 文字列

例: cn=groups,dc=us,dc=abc,dc=com

policystore.role.searchscope

プロパティ

LDAPディレクトリ・ツリーでロールを検索するときの深さを指定します。

値: subtreeまたはonelevel(デフォルト)

policystore.type

プロパティ

ポリシー・ストアのタイプを示します。

値:

XML: ファイルベースのポリシー・ストア。XMLはファイルベースのポリシー・ストアに使用可能な唯一の値なので、この場合は、policystore.typeを指定する必要はありません。

OID - Oracle Internet Directory

ACTIVEDIRECTORY - Active Directory

IPLANET - Sun Java System Directory Server

COREID - Oracle Access Manager

EDIRECTORY - eDirectory

OPENLDAP - OpenLDAP


次の例は、Oracle Internet Directoryを使用したポリシー・ストアのサービス・プロバイダの構成とそのプロバイダのインスタンス、およびjpscontextでの使用を示しています。

<jpsConfig ... >
   ...
   <serviceProviders>
      <serviceProvider type="POLICY_STORE" name="policystore.ldap.provider"
                    class= "oracle.security.jps.internal.policystore.ldap.LdapPolicyStoreProvider">
         <description>LDAP-based PolicyStore</description>
         <property name="policystore.type" value="OID"/>
         <property name="connection.pool.max.size" value="30"/>
         <property name="connection.pool.provider.type" value="IDM"/>
      </serviceProvider>
   </serviceProviders>
   ...
   <serviceInstances>
      <serviceInstance name="policystore.oid" provider="policystore.ldap.provider">
         <property name="max.search.filter.length" value="4096"/>
         <property name="security.principal" value="cn=orcladmin"/>
         <property name="security.credential" value="password"/>
         <property name="ldap.url" value="ldap://xyz.us.oracle.com:389"/>
         <property name="policystore.jpsbase" value="cn=jps,cn=oraclecontext"/>
         <property name="policystore.role.objectclass" value="orclrole"/>
         <property name="policystore.role.searchbase" value="cn=roles"/>
         <property name="policystore.role.searchscope" value="subtree"/>
         <property name="policystore.role.nameattr" value="cn"/>
         <property name="policystore.role.memberattr" value="uniquemember"/>
         <property name="policystore.role.roleheirarchyattr" value="assignedRoles"/>
      </serviceInstance>
   </serviceInstances>
   ...
   <jpsContexts default="default">
      <jpsContext name="default">
         <serviceInstanceRef ref="policystore.oid"/>
      </jpsContext>
   </jpsContexts>
</jpsConfig>

F.2.7キーストアのプロパティ

表F-8は、キーストア・サービスを構成するプロパティを示しています。暗号化と署名を使用するには、まずキーストアにアクセスするためのパスワードを入力し、キーストアの秘密鍵にアクセスして、その秘密鍵を取得するための別名とパスワードを指定する必要があります。

表F-8 キーストアのプロパティ

名前 プロパティ/拡張プロパティ 説明

keystore.crypt.alias

プロパティ

暗号化用に、使用可能なキーの別名を指定します。

値: 文字列

例: oraenc

keystore.crypt.pass

プロパティ

暗号化用に、使用可能なキーのパスワードを指定します。

値: 文字列

例: oraenc

keystore.pass

プロパティ

キーストアにアクセスするためのパスワードを指定します。

値: 文字列

例: welcome1

keystore.path

プロパティ

キーストア・ファイルのパスを指定します。

値: 文字列

例: ./default-keystore.jks

keystore.sign.alias

プロパティ

署名用に、使用可能なキーの別名を指定します。

値: 文字列

例: orasign

keystore.sign.pass

プロパティ

署名用に、使用可能なキーのパスワードを指定します。

値: 文字列

例: orasign

keystore.type

プロパティ

JKSやOracleウォレットなど、キーストアのタイプを指定します。

値: 文字列

例: JKS


<serviceInstance
        location="${oracle.instance}/config/JpsDataStore/JpsSystemStore/default-keystore.jks"
        provider="keystore.provider" name="keystore">
   <description>Default JKS Keystore Service</description>
   <property value="JKS" name="keystore.type"/>
   <property value="oracle.wsm.security" name="keystore.csf.map"/>
   <property value="keystore-csf-key" name="keystore.pass.csf.key"/>
   <property value="sign-csf-key" name="keystore.sig.csf.key"/>
   <property value="enc-csf-key" name="keystore.enc.csf.key"/>
</serviceInstance>