管理およびコンフィグレーション ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

Oracle CEP のセキュリティのコンフィグレーション

この節では、以下の項目について説明します。

 


Oracle CEP のセキュリティの概要

Oracle Complex Event Processing (略称 Oracle CEP) には、データ ストリームとイベント ストリーム、コンフィグレーション、ユーザ名とパスワードのデータ、セキュリティ ポリシー情報、リモート資格、ネットワーク トラフィックなどのサーバ リソースを保護するさまざまなメカニズムが用意されています。

Oracle CEP では、認証、承認、ロール マッピング、および資格マッピング用のさまざまなセキュリティ プロバイダがサポートされています。初期インストールの時点では、Oracle CEP は認証および承認の両方にファイルベース プロバイダを使用するようにコンフィグレーションされています。LDAP または DBMS プロバイダを使用するようにシステムをコンフィグレーションすることもできます。

Oracle CEP は、ロールベースの承認制御を使用して、Visualizer 管理コンソールと wlevs.Admin コマンドライン ユーティリティをセキュリティで保護します。そのまま使用できる 6 つのセキュリティ グループが用意されています。別々のグループにユーザを追加し、追加したユーザに異なるロールを与えることができます。Oracle CEP には一方向の SSL も用意されており、データ サービス アプリケーションを実行しているサーバ インスタンスと Visualizer との間のネットワーク トラフィック、およびマルチサーバ ドメインのサーバ インスタンス間のネットワーク トラフィックを保護できます。

セキュリティ プロバイダ

Oracle CEP は以下のセキュリティ プロバイダをサポートしています。

デフォルトのファイルベース セキュリティ プロバイダを使用するように選択した場合は、Configuration Wizard によりコンフィグレーションが行われるため、ドメインのコンフィグレーションをそれ以上行う必要はありません。LDAP または DBMS プロバイダを使用する場合は、追加コンフィグレーションが必要です。

LDAP プロバイダが認証にしか使用できないのに対し、DBMS プロバイダは認証と承認の両方に使用できます。そのため、この節では以下のコンフィグレーションについて説明します。

セキュリティ プロバイダをコンフィグレーションした後、Visualizer を使用して新しいユーザを追加し、追加したユーザをグループに割り当て、グループをロールにマップすることができます。概要については「ユーザ、グループ、およびロールの概要」を、Visualizer の使用方法については「Visualizer の概要」を参照してください。

ユーザ、グループ、およびロールの概要

Visualizer を使用する管理者、wlevs.Admin を使用する管理者、または JMX を利用して Oracle CEP インスタンスに接続するカスタム管理アプリケーションを使用する管理者は、ロールベースの承認を使用してアクセス権を取得します。Visualizer または wlevs.Admin の使用時に認証が成功したユーザには、グループ メンバシップに基づいてロールが割り当てられ、ユーザが保持するロールに応じてそれ以降の管理機能へのアクセスが制限されます。匿名ユーザ (認証されていないユーザ) は Visualizer または wlevs.Admin にアクセスできません。

管理者は、コンフィグレーション ウィザードを使用して新しいドメインを作成する場合、wlevsAdministrators グループの一部となる管理者ユーザになります。この情報は、デフォルトでファイルベースのプロバイダ ファイルストアに格納されます。パスワードは SHA-256 アルゴリズムを使用してハッシュされます。ドメインの作成後、管理者は Visualizer を使用して新しいグループを作成し、ロールを割り当て、新しく作成したユーザをグループに割り当てることができます。

以下の表に、新規ドメインを作成した後すぐに使用可能なデフォルトの Oracle CEP セキュリティ ロールと、これらのロールに割り当てられているグループ名を示します。

表 7-1 使用可能な Oracle CEP ロールおよびグループ
ロール
説明
関連付けられたグループ名
Operator
すべてのサーバ リソース、サービス、およびデプロイされたアプリケーションへの読み取り専用アクセスがあります。
wlevsOperators
Monitor
すべての Operator 特権を持つほか、診断プロファイルの作成やイベントの記録 (および再生) などの診断機能を有効または無効にするパーミッションがあります。
wlevsMonitors
ApplicationAdmin
すべての Operator 特権を持つほか、デプロイされたアプリケーションのコンフィグレーションを更新するパーミッションがあります。
wlevsApplicationAdmins
Deployer
すべての Operator 特権を持つほか、デプロイされたアプリケーションをデプロイ、アンデプロイ、更新、中断、および再開するパーミッションがあります。
wlevsDeployers
BusinessUser
すべての Operator 特権を持つほか、デプロイされたアプリケーションのプロセッサに関連付けられた EPL ルールを更新するパーミッションがあります。
wlevsBusinessUsers
Admin
上記のロールが持つすべての特権のほか、以下のパーミッションがあります。
  • ユーザおよびグループの作成
  • HTTP パブリッシュ/サブスクライブ セキュリティのコンフィグレーション
  • Jetty やワーク マネージャなどのシステム コンフィグレーションの変更
wlevsAdministrators

Oracle CEP のサンプルおよびドメインのセキュリティ

Configuration Wizard を使用して新しいドメインを作成するときは、管理者ユーザ名とパスワード、およびドメイン ID キーストアのパスワードを指定します。このユーザは自動的に wlevsAdministrators グループに追加されます。デフォルトでは、すべてのセキュリティ コンフィグレーションはファイルベースのプロバイダを使用して格納されます。

Oracle CEP のすべてのサンプルには、ユーザ名 wlevs、パスワード wlevs の管理者がコンフィグレーションされています。新しいドメインを作成するときは、管理者の名前とパスワードを指定します。

デフォルトでは、HelloWorld サンプルのセキュリティは無効になっています。つまり、すべてのユーザが、パスワードを入力することなくサーバを起動し、アプリケーションをデプロイして、管理ツール (wlevs.Admin) のすべてのコマンドを実行することができます。

FX および AlgoTrading のサンプルではセキュリティが有効になっています。両方のサンプルで、ユーザ名 wlevs、パスワード wlevs ですべての管理者特権を持つ Oracle CEP 管理者がコンフィグレーションされています。これらのサンプルのサーバ起動スクリプトは、適切な引数を使用してこのユーザ名とパスワードを java コマンドに渡します。Deployer または wlevs.Admin ユーティリティを使用する場合は、同様に適切な引数を使用してこのユーザ名/パスワードのペアを渡す必要があります。

 


コマンドライン ユーティリティ使用時のユーザ資格の安全な指定

Oracle CEP には、さまざまなタスクを実行するための以下のコマンドライン ユーティリティがあります。

各ユーティリティで、次の 3 つの方法を使用してユーザ資格 (ユーザ名とパスワード) を指定できます。

プロダクション環境では、1 つ目のオプション (コマンドラインでユーザ資格を指定する) は使用しないでください。代わりに、2 番目と 3 番目のオプションのみを使用してください。

対話型モード (コマンドライン ユーティリティで資格のプロンプトを表示する) を使用するときは、ローカル コンピュータ用の適切な terminalio ネイティブ ライブラリが CLASSPATH に指定されていることを確認してください。この指定がされている場合は、ユーザ資格を入力しても画面にエコーされません。Oracle CEP には、この目的のために標準ネイティブ ライブラリがいくつか含まれていますが、必要な特定のライブラリが含まれているとは限りません。

 


認証に LDAP プロバイダ、承認に DBMS プロバイダを使用する方法

以下の手順では、LDAP セキュリティ プロバイダを認証用に、DBMS プロバイダを承認用にコンフィグレーションする方法について説明します。

警告 : LDAP を認証に使用する場合は、Visualizer を使用してユーザおよびグループを追加または削除することはできません。可能なのはユーザのパスワードを変更することだけです。
  1. コマンド ウィンドウを開き、「開発環境の設定」の説明に従って、環境を設定します。
  2. ORACLE_CEP_HOME\ocep_10.3\bin ディレクトリを PATH 環境変数に追加します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  3. prompt> set PATH=d:\oracle_cep\ocep_10.3\bin;%PATH% (Windows)
    prompt> PATH=/oracle_cep/ocep_10.3/bin:$PATH (UNIX)
  4. DOMAIN_DIR/servername/config ディレクトリに移動します。DOMAIN_DIR は、d:\oracle_cep\user_projects\domains\mydomain などのドメインのメイン ディレクトリです。servername はサーバの名前です。
  5. prompt> cd d:\oracle_cep\user_projects\domains\mydomain\defaultserver\config
  6. 任意のテキスト エディタを使用して myLDAPandDBMS.properties というファイルを作成し、「LDAP/DBMS プロパティ ファイルのサンプル」の節の内容全体をそのファイルにコピーします。
  7. プロパティ ファイルをカスタマイズします。store.StoreProperties プロパティを更新し、データベース ドライバ情報、接続 URL、およびデータベースに接続するユーザのユーザ名とパスワードを反映させます。デフォルト プロパティは次のように設定されてます。

    store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver, ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs, Password=wlevs

    さらに、LDAP サーバ コンフィグレーションを指定するプロパティを更新します。

    その他すべてのプロパティはデフォルト値のままにします。

  8. 必要に応じて更新を元に戻すことができるように、既存の security.xml ファイルのバックアップ コピーを作成します。
  9. prompt> copy security.xml security.xml_save
  10. cssconfig コマンドを次のように実行して、新しいセキュリティ コンフィグレーション ファイル (security.xml) を作成します。
  11. prompt> cssconfig -p myLDAPandDBMS.properties -c security.xml -i security-key.dat

    このコマンドの myLDAPandDBMS.properties手順 4 で作成したプロパティ ファイルであり、security.xml は新しいセキュリティ コンフィグレーション ファイルの名前です。security-key.dat は Configuration Wizard によって生成された既存のファイルであり、ID キーを含みます。

    詳細については、「cssconfig コマンドライン ユーティリティ」を参照してください。

  12. ORACLE_CEP_HOME/ocep_10.3/utils/security/sql ディレクトリに移動します。
  13. prompt> cd d:\oracle_cep\ocep_10.3\utils\security\sql

    このディレクトリには、必要なセキュリティ関連データベース テーブルを作成して初期データを設定するための SQL スクリプトがあります。この手順では DBMS プロバイダを承認のみに使用するので、関連するスクリプトは次のとおりです。

    • atz_create.sql—承認に必要なすべてのテーブルを作成します。
    • atz_drop.sql—承認に関連したすべてのテーブルを削除します。
  14. 手順 4 でデータベース ストアとして指定したデータベースに対して、次の SQL スクリプトを実行します。
    • atz_create.sql
  15. LDAP サーバをコンフィグレーションします。具体的には、「ユーザ、グループ、およびロールの概要」で説明しているデフォルトのグループと、ドメインを作成したときに指定した管理者ユーザを追加します。デフォルトでは、このユーザの名前は wlevs です。
  16. 詳細については、LDAP サーバのマニュアルを参照してください。

LDAP/DBMS プロパティ ファイルのサンプル

# For attributes of type boolean or Boolean, value can be "true" or "false" 
# and it's case insensitive.
# For attributes of type String[], values are comma separated; blanks before
# and after the comma are ignored.For example, if the property is defined as:
# saml1.IntersiteTransferURIs=uri1, uri2, uri3
# the IntersiteTransferURIs attribute value is String[]{"uri1", "uri2", "uri3"}
# For attributes of type Properties, the value should be inputted as
# a set of key=value pairs separated by commas; blanks before and after the
# commas are also ignored.For example:
# store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver, ConnectionURL=jdbc:oracle:thin:@united.bea.com:1521:xe, Username=user, Password=user
domain.mbean=com.bea.common.management.configuration.LegacyDomainInfoMBean
domain.DomainName=legacy-domain-name
domain.ServerName=legacy-server-name
domain.RootDirectory=legacy-rootdir
#domain.ProductionModeEnabled=
#domain.WebAppFilesCaseInsensitive=
domain.DomainCredential=changeit
jaxp.mbean=com.bea.common.management.configuration.JAXPFactoryServiceMBean
#jaxp.DocBuilderFactory=
#jaxp.SaxParserFactory=
#jaxp.SaxTransformFactory=
#jaxp.TransformFactory=
#ldapssl.mbean=com.bea.common.management.configuration.LDAPSSLSocketFactoryLookupServiceMBean
#ldapssl.Protocol=
#ldapssl.TrustManagerClassName=
namedsql.mbean=com.bea.common.management.configuration.NamedSQLConnectionLookupServiceMBean
store.mbean=com.bea.common.management.configuration.StoreServiceMBean
store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver, ConnectionURL=jdbc:oracle:thin:@localhost:1521:orcl, Username=wlevs, Password=wlevs
#store.ConnectionProperties=
#store.NotificationProperties=
realm.mbean=weblogic.management.security.RealmMBean
realm.Name=my-realm
#realm.ValidateDDSecurityData=
#realm.CombinedRoleMappingEnabled=
#realm.EnableWebLogicPrincipalValidatorCache=
#realm.MaxWebLogicPrincipalsInCache=
#realm.DelegateMBeanAuthorization=
#realm.AuthMethods=
adt.1.mbean=weblogic.security.providers.audit.DefaultAuditorMBean
adt.1.Severity=INFORMATION
#adt.1.InformationAuditSeverityEnabled=
#adt.1.WarningAuditSeverityEnabled=
#adt.1.ErrorAuditSeverityEnabled=
#adt.1.SuccessAuditSeverityEnabled=
#adt.1.FailureAuditSeverityEnabled=
#adt.1.OutputMedium=
#adt.1.RotationMinutes=
#adt.1.BeginMarker=
#adt.1.EndMarker=
#adt.1.FieldPrefix=
#adt.1.FieldSuffix=
adt.1.Name=my-auditor
#adt.1.ActiveContextHandlerEntries=
atn.1.mbean=weblogic.security.providers.authentication.LDAPAuthenticatorMBean
#atn.1.UserObjectClass=
#atn.1.UserNameAttribute=
#atn.1.UserDynamicGroupDNAttribute=
atn.1.UserBaseDN=o=ECS,dc=bea,dc=com
atn.1.UserSearchScope=subtree
#atn.1.UserFromNameFilter=
#atn.1.AllUsersFilter=
atn.1.GroupBaseDN=ECS,dc=bea,dc=com
#atn.1.GroupSearchScope=
#atn.1.GroupFromNameFilter=
#atn.1.AllGroupsFilter=
#atn.1.StaticGroupObjectClass=
#atn.1.StaticGroupNameAttribute=
atn.1.StaticMemberDNAttribute=member
#atn.1.StaticGroupDNsfromMemberDNFilter=
#atn.1.DynamicGroupObjectClass=
#atn.1.DynamicGroupNameAttribute=
#atn.1.DynamicMemberURLAttribute=
atn.1.GroupMembershipSearching=unlimited
atn.1.MaxGroupMembershipSearchLevel=0
atn.1.UseRetrievedUserNameAsPrincipal=false
#atn.1.IgnoreDuplicateMembership=
#atn.1.KeepAliveEnabled=
atn.1.Credential=wlevs
#atn.1.Name=
#atn.1.PropagateCauseForLoginException=
atn.1.ControlFlag=REQUIRED
#atn.1.ConnectTimeout=
atn.1.Host=localhost
atn.1.Port=389
#atn.1.SSLEnabled=
atn.1.Principal=cn=Administrator,dc=bea,dc=com
#atn.1.CacheEnabled=
#atn.1.CacheSize=
#atn.1.CacheTTL=
atn.1.FollowReferrals=false
#atn.1.BindAnonymouslyOnReferrals=
#atn.1.ResultsTimeLimit=
#atn.1.ParallelConnectDelay=
#atn.1.ConnectionRetryLimit=
atn.1.EnableGroupMembershipLookupHierarchyCaching=true
#atn.1.MaxGroupHierarchiesInCache=
#atn.1.GroupHierarchyCacheTTL=
#atn.5.mbean=weblogic.security.providers.authentication.OpenLDAPAuthenticatorMBean
#atn.5.UserNameAttribute=
#atn.5.UserBaseDN=
#atn.5.UserFromNameFilter=
#atn.5.GroupBaseDN=
#atn.5.GroupFromNameFilter=
#atn.5.StaticGroupObjectClass=
#atn.5.StaticMemberDNAttribute=
#atn.5.StaticGroupDNsfromMemberDNFilter=
#atn.5.UserObjectClass=
#atn.5.UserDynamicGroupDNAttribute=
#atn.5.UserSearchScope=
#atn.5.AllUsersFilter=
#atn.5.GroupSearchScope=
#atn.5.AllGroupsFilter=
#atn.5.StaticGroupNameAttribute=
#atn.5.DynamicGroupObjectClass=
#atn.5.DynamicGroupNameAttribute=
#atn.5.DynamicMemberURLAttribute=
#atn.5.GroupMembershipSearching=
#atn.5.MaxGroupMembershipSearchLevel=
#atn.5.UseRetrievedUserNameAsPrincipal=
#atn.5.IgnoreDuplicateMembership=
#atn.5.KeepAliveEnabled=
#atn.5.Credential=
#atn.5.PropagateCauseForLoginException=
#atn.5.ControlFlag=
#atn.5.Name=
#atn.5.ConnectTimeout=
#atn.5.Host=
#atn.5.Port=
#atn.5.SSLEnabled=
#atn.5.Principal=
#atn.5.CacheEnabled=
#atn.5.CacheSize=
#atn.5.CacheTTL=
#atn.5.FollowReferrals=
#atn.5.BindAnonymouslyOnReferrals=
#atn.5.ResultsTimeLimit=
#atn.5.ParallelConnectDelay=
#atn.5.ConnectionRetryLimit=
#atn.5.EnableGroupMembershipLookupHierarchyCaching=
#atn.5.MaxGroupHierarchiesInCache=
#atn.5.GroupHierarchyCacheTTL=
cm.1.mbean=weblogic.security.providers.credentials.DefaultCredentialMapperMBean
cm.1.Name=my-credential-mapper
cm.1.CredentialMappingDeploymentEnabled=true
#cm.3.mbean=weblogic.security.providers.credentials.FileBasedCredentialMapperMBean
#cm.3.FileStorePath=
#cm.3.FileStorePassword=
#cm.3.EncryptAlgorithm=
#cm.3.Name=
#cm.3.CredentialMappingDeploymentEnabled=
rm.1.mbean=weblogic.security.providers.xacml.authorization.XACMLRoleMapperMBean
rm.1.Name=my-role-mapper
rm.1.RoleDeploymentEnabled=true
atz.1.mbean=weblogic.security.providers.xacml.authorization.XACMLAuthorizerMBean
atz.1.Name=my-authorizer
atz.1.PolicyDeploymentEnabled=true
adj.1.mbean=weblogic.security.providers.authorization.DefaultAdjudicatorMBean
adj.1.RequireUnanimousPermit=false
adj.1.Name=my-adjudicator

 


認証と承認の両方に DBMS プロバイダを使用する方法

以下の手順では、認証および承認の両方に使用するように DBMS セキュリティ プロバイダをコンフィグレーションする方法について説明します。

  1. コマンド ウィンドウを開き、「開発環境の設定」の説明に従って、環境を設定します。
  2. ORACLE_CEP_HOME\ocep_10.3\bin ディレクトリを PATH 環境変数に追加します。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  3. prompt> set PATH=d:\oracle_cep\ocep_10.3\bin;%PATH% (Windows)
    prompt> PATH=/oracle_cep/ocep_10.3/bin:$PATH (UNIX)
  4. DOMAIN_DIR/servername/config ディレクトリに移動します。DOMAIN_DIR は、d:\oracle_cep\user_projects\domains\mydomain などのドメインのメイン ディレクトリです。servername はサーバの名前です。
  5. prompt> cd d:\oracle_cep\user_projects\domains\mydomain\defaultserver\config
  6. 必要に応じて更新を元に戻すことができるように、既存の security.xml ファイルのバックアップ コピーを作成します。
  7. prompt> copy security.xml security.xml_save
  8. 任意のテキスト エディタを使用して myDBMS.properties というファイルを作成し、「DBMS プロパティ ファイルのサンプル」の節の内容全体をそのファイルにコピーします。
  9. プロパティ ファイルをカスタマイズします。store.StoreProperties プロパティを更新し、データベース ドライバ情報、接続 URL、およびデータベースに接続するユーザのユーザ名とパスワードを反映させます。デフォルト プロパティは次のように設定されてます。

    store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver, ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs, Password=wlevs

    その他すべてのプロパティはデフォルト値のままにします。

  10. cssconfig コマンドを次のように実行して、新しいセキュリティ コンフィグレーション ファイル (security.xml) を作成します。
  11. prompt> cssconfig -p myDBMS.properties -c security.xml -i security-key.dat

    このコマンドの myDBMS.properties手順 4 で作成したプロパティ ファイルであり、security.xml は新しいセキュリティ コンフィグレーション ファイルの名前です。security-key.dat は Configuration Wizard によって生成された既存のファイルであり、ID キーを含みます。

    詳細については、「cssconfig コマンドライン ユーティリティ」を参照してください。

  12. ORACLE_CEP_HOME/ocep_10.3/utils/security/sql ディレクトリに移動します。
  13. prompt> cd d:\oracle_cep\ocep_10.3\utils\security\sql

    このディレクトリには、必要なセキュリティ関連データベース テーブルを作成して初期データを設定するための SQL スクリプトがあります。スクリプトは次のとおりです。

    • atn_create.sql—認証に必要なすべてのテーブルを作成します。
    • atn_drop.sql—認証に関連したすべてのテーブルを削除します。
    • atn_init.sql—認証に関連したユーザ テーブルおよびグループ テーブルにデフォルト値を挿入します。具体的には、wlevs という名前の単一のデフォルト管理者ユーザ (パスワード wlevs) をユーザ テーブルに挿入し、ユーザが wlevsAdministrators グループに属することを指定します。さらに、表 7-1 に示されているデフォルトのグループをグループ テーブルに挿入します。
    • atz_create.sql—承認に必要なすべてのテーブルを作成します。
    • atz_drop.sql—承認に関連したすべてのテーブルを削除します。
  14. Configuration Wizard を使用してドメインを作成したときに、デフォルトの wlevs 以外の管理者ユーザを指定した場合は、atn_init.sql ファイルを編集して、INSERT INTO USERS 文および対応する INSERT INTO GROUPMEMBERS 文を適宜追加してください。
  15. たとえば、管理者ユーザ juliet (パスワード shackell) を追加するには、次の文を atn_init.sql ファイルに追加します。

    INSERT INTO USERS (U_NAME, U_PASSWORD, U_DESCRIPTION) VALUES ('juliet','shackell','default admin');
    INSERT INTO GROUPMEMBERS (G_NAME, G_MEMBER) VALUES ('wlevsAdministrators','juliet');
  16. 手順 4 でデータベース ストアとして指定したデータベースに対して、次の SQL スクリプト ファイルを示されている順に実行します。
    • atn_create.sql
    • atn_init.sql
    • atz_create.sql

DBMS プロパティ ファイルのサンプル

# For attributes of type boolean or Boolean, value can be "true" or "false" 
# and it's case insensitive.
# For attributes of type String[], values are comma separated; blanks before
# and after the comma are ignored.For example, if the property is defined as:
# saml1.IntersiteTransferURIs=uri1, uri2, uri3
# the IntersiteTransferURIs attribute value is String[]{"uri1", "uri2", "uri3"}
# For attributes of type Properties, the value should be inputted as
# a set of key=value pairs separated by commas; blanks before and after the
# commas are also ignored.For example:
# store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver, ConnectionURL=jdbc:oracle:thin:@united.bea.com:1521:xe, Username=user, Password=user
domain.mbean=com.bea.common.management.configuration.LegacyDomainInfoMBean
domain.DomainName=legacy-domain-name
domain.ServerName=legacy-server-name
domain.RootDirectory=legacy-rootdir
#domain.ProductionModeEnabled=
#domain.WebAppFilesCaseInsensitive=
domain.DomainCredential=changeit
jaxp.mbean=com.bea.common.management.configuration.JAXPFactoryServiceMBean
#jaxp.DocBuilderFactory=
#jaxp.SaxParserFactory=
#jaxp.SaxTransformFactory=
#jaxp.TransformFactory=
#ldapssl.mbean=com.bea.common.management.configuration.LDAPSSLSocketFactoryLookupServiceMBean
#ldapssl.Protocol=
#ldapssl.TrustManagerClassName=
namedsql.mbean=com.bea.common.management.configuration.NamedSQLConnectionLookupServiceMBean
store.mbean=com.bea.common.management.configuration.StoreServiceMBean
store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver, ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs, Password=wlevs
#store.ConnectionProperties=
#store.NotificationProperties=
realm.mbean=weblogic.management.security.RealmMBean
realm.Name=my-realm
#realm.ValidateDDSecurityData=
#realm.CombinedRoleMappingEnabled=
#realm.EnableWebLogicPrincipalValidatorCache=
#realm.MaxWebLogicPrincipalsInCache=
#realm.DelegateMBeanAuthorization=
#realm.AuthMethods=
sqlconn.1.mbean=com.bea.common.management.configuration.NamedSQLConnectionMBean
sqlconn.1.Name=POOL1
sqlconn.1.JDBCDriverClassName=oracle.jdbc.driver.OracleDriver
sqlconn.1.ConnectionPoolCapacity=5
sqlconn.1.ConnectionPoolTimeout=10000
sqlconn.1.AutomaticFailoverEnabled=false
sqlconn.1.PrimaryRetryInterval=0
sqlconn.1.JDBCConnectionURL=jdbc\:oracle\:thin\:@fwang02\:1521\:orcl
sqlconn.1.JDBCConnectionProperties=
sqlconn.1.DatabaseUserLogin=wlevs
sqlconn.1.DatabaseUserPassword=wlevs
sqlconn.1.BackupJDBCConnectionURL=
sqlconn.1.BackupJDBCConnectionProperties=
sqlconn.1.BackupDatabaseUserLogin=
sqlconn.1.BackupDatabaseUserPassword=
adt.1.mbean=weblogic.security.providers.audit.DefaultAuditorMBean
adt.1.Severity=INFORMATION
#adt.1.InformationAuditSeverityEnabled=
#adt.1.WarningAuditSeverityEnabled=
#adt.1.ErrorAuditSeverityEnabled=
#adt.1.SuccessAuditSeverityEnabled=
#adt.1.FailureAuditSeverityEnabled=
#adt.1.OutputMedium=
#adt.1.RotationMinutes=
#adt.1.BeginMarker=
#adt.1.EndMarker=
#adt.1.FieldPrefix=
#adt.1.FieldSuffix=
adt.1.Name=my-auditor
#adt.1.ActiveContextHandlerEntries=
atn.1.mbean=weblogic.security.providers.authentication.SQLAuthenticatorMBean
atn.1.PasswordAlgorithm=SHA-1
atn.1.PasswordStyle=SALTEDHASHED
atn.1.PasswordStyleRetained=true
atn.1.SQLCreateUser=INSERT INTO USERS VALUES ( ?, ? , ? )
atn.1.SQLRemoveUser=DELETE FROM USERS WHERE U_NAME \= ?
atn.1.SQLRemoveGroupMemberships=DELETE FROM GROUPMEMBERS WHERE G_MEMBER \= ?ORG_NAME \= ?
atn.1.SQLSetUserDescription=UPDATE USERS SET U_DESCRIPTION \= ?WHERE U_NAME \= ?
atn.1.SQLSetUserPassword=UPDATE USERS SET U_PASSWORD \= ?WHERE U_NAME \= ?
atn.1.SQLCreateGroup=INSERT INTO GROUPS VALUES ( ?, ? )
atn.1.SQLSetGroupDescription=UPDATE GROUPS SET G_DESCRIPTION \= ?WHERE G_NAME \= ?
atn.1.SQLAddMemberToGroup=INSERT INTO GROUPMEMBERS VALUES( ?, ?)
atn.1.SQLRemoveMemberFromGroup=DELETE FROM GROUPMEMBERS WHERE G_NAME \= ?AND G_MEMBER \= ?
atn.1.SQLRemoveGroup=DELETE FROM GROUPS WHERE G_NAME \= ?
atn.1.SQLRemoveGroupMember=DELETE FROM GROUPMEMBERS WHERE G_NAME \= ?
atn.1.SQLListGroupMembers=SELECT G_MEMBER FROM GROUPMEMBERS WHERE G_NAME \= ?AND G_MEMBER LIKE ?
atn.1.DescriptionsSupported=true
atn.1.SQLGetUsersPassword=SELECT U_PASSWORD FROM USERS WHERE U_NAME \= ?
atn.1.SQLUserExists=SELECT U_NAME FROM USERS WHERE U_NAME \= ?
atn.1.SQLListMemberGroups=SELECT G_NAME FROM GROUPMEMBERS WHERE G_MEMBER \= ?
atn.1.SQLListUsers=SELECT U_NAME FROM USERS WHERE U_NAME LIKE ?
atn.1.SQLGetUserDescription=SELECT U_DESCRIPTION FROM USERS WHERE U_NAME \= ?
atn.1.SQLListGroups=SELECT G_NAME FROM GROUPS WHERE G_NAME LIKE ?
atn.1.SQLGroupExists=SELECT G_NAME FROM GROUPS WHERE G_NAME \= ?
atn.1.SQLIsMember=SELECT G_MEMBER FROM GROUPMEMBERS WHERE G_NAME \= ?AND G_MEMBER \= ?
atn.1.SQLGetGroupDescription=SELECT G_DESCRIPTION FROM GROUPS WHERE G_NAME \= ?
atn.1.GroupMembershipSearching=unlimited
atn.1.MaxGroupMembershipSearchLevel=0
atn.1.DataSourceName=POOL1
atn.1.PlaintextPasswordsEnabled=true
atn.1.ControlFlag=REQUIRED
atn.1.Name=my-authenticator
atn.1.EnableGroupMembershipLookupHierarchyCaching=false
atn.1.MaxGroupHierarchiesInCache=100
atn.1.GroupHierarchyCacheTTL=60
cm.1.mbean=weblogic.security.providers.credentials.DefaultCredentialMapperMBean
cm.1.Name=my-credential-mapper
cm.1.CredentialMappingDeploymentEnabled=true
rm.1.mbean=weblogic.security.providers.xacml.authorization.XACMLRoleMapperMBean
rm.1.Name=my-role-mapper
rm.1.RoleDeploymentEnabled=true
atz.1.mbean=weblogic.security.providers.xacml.authorization.XACMLAuthorizerMBean
atz.1.Name=my-authorizer
atz.1.PolicyDeploymentEnabled=true
adj.1.mbean=weblogic.security.providers.authorization.DefaultAdjudicatorMBean
adj.1.RequireUnanimousPermit=false
adj.1.Name=my-adjudicator

 


パスワードの強度のコンフィグレーション

パスワードの強度は、認証資格としてのパスワードの効果を表す尺度です。パスワードの強度をどのようにコンフィグレーションするかによって、ユーザが指定できるパスワードのタイプが決定します。たとえば、パスワードにユーザ名を含めることができるかどうか、パスワードの最小限の長さ、パスワードに少なくとも何個の数字を含めるかなどをコンフィグレーションします。

Oracle CEP の認証に使用されるパスワードの強度をコンフィグレーションするには、セキュリティ コンフィグレーション ファイル (security.xml) を更新します。このファイルは DOMAIN_DIR/servername/config ディレクトリにあります。DOMAIN_DIR は、d:/oracle_cep/user_projects/domains/mydomain などのドメイン ディレクトリです。servername は、defaultserver などのサーバ名です。

パスワードの強度のコンフィグレーションは、<password-validator> 要素に含まれます。security.xml ファイルから抜粋した以下のコード例は、Configuration Wizard を使用して新しいドメインを作成した後のデフォルト値を示しています。

<sec:password-validator 
xmlns:pas="http://www.bea.com/ns/weblogic/90/security/providers/passwordvalidator"
xsi:type="pas:system-password-validatorType">
  <sec:name>my-password-validator</sec:name>
<pas:reject-equal-or-contain-username>true</pas:reject-equal-or-contain-username>
<pas:reject-equal-or-contain-reverse-username>false</pas:reject-equal-or-contain-reverse-username>
<pas:max-password-length>50</pas:max-password-length>
<pas:min-password-length>6</pas:min-password-length>
<pas:max-instances-of-any-character>0</pas:max-instances-of-any-character>
<pas:max-consecutive-characters>0</pas:max-consecutive-characters>
<pas:min-alphabetic-characters>1</pas:min-alphabetic-characters>
<pas:min-numeric-characters>1</pas:min-numeric-characters>
<pas:min-lowercase-characters>1</pas:min-lowercase-characters>
<pas:min-uppercase-characters>1</pas:min-uppercase-characters>
<pas:min-non-alphanumeric-characters>0</pas:min-non-alphanumeric-characters>
</sec:password-validator>

次の表に、<password-validator> のコンフィグレーション可能なすべての子要素と各要素の意味を示します。

security.xml ファイルを手動で更新した場合、変更を有効にするには Oracle CEP サーバ インスタンスを再起動する必要があります。

表 7-2

<password-validator> の子要素
説明
デフォルト値
reject-equal-or-contain-name
true に設定すると、パスワードがユーザ名と同じか、パスワードにユーザ名が含まれる場合、Oracle CEP はパスワードを拒否します。
false に設定すると、Oracle CEP がこの理由でパスワードを拒否することはありません。
true
reject-equal-or-contain-reverse-username
true に設定すると、パスワードがユーザ名を逆にした文字列と同じか、パスワードにユーザ名を逆にした文字列が含まれる場合、Oracle CEP はパスワードを拒否します。
false に設定すると、Oracle CEP がこの理由でパスワードを拒否することはありません。
false
max-password-length
パスワードの最大文字数を指定します。
0 の値は制限なしを意味します。
この要素の有効な値は、0 に等しいかそれより大きい整数です。
50
min-password-length
パスワードの最小文字数を指定します。
この要素の有効な値は、0 に等しいかそれより大きい整数です。
6
max-instances-of-any-character
パスワードで同じ文字を最大何回使用できるかを指定します。たとえば、この要素を 2 に設定した場合、bubble は有効なパスワードです。
0 の値は制限なしを意味します。
この要素の有効な値は、0 に等しいかそれより大きい整数です。
0
max-consecutive-characters
パスワードで同じ文字を連続して最大何回繰り返すことができるかを指定します。たとえば、この要素を 2 に設定した場合、bubbble は無効なパスワードです。
0 の値は制限なしを意味します。
この要素の有効な値は、0 に等しいかそれより大きい整数です。
0
min-alphabetic-characters
パスワードに含める必要があるアルファベット文字の最小文字数を指定します。
0 の値は制限なしを意味します。
この要素の有効な値は、0 に等しいかそれより大きい整数です。
1
min-numeric-characters
パスワードに含める必要がある数字の最小文字数を指定します。
0 の値は制限なしを意味します。
この要素の有効な値は、0 に等しいかそれより大きい整数です。
1
min-lowercase-characters
パスワードに含める必要がある小文字の最小文字数を指定します。
0 の値は制限なしを意味します。
この要素の有効な値は、0 に等しいかそれより大きい整数です。
0
min-uppercase-characters
パスワードに含める必要がある大文字の最小文字数を指定します。
0 の値は制限なしを意味します。
この要素の有効な値は、0 に等しいかそれより大きい整数です。
0
min-non-alphanumeric-characters
パスワードに含める必要がある英数字以外の文字の最小文字数を指定します。英数字以外の文字として、$#@&! などがあります。
0 の値は制限なしを意味します。
この要素の有効な値は、0 に等しいかそれより大きい整数です。
0

 


デフォルトの管理者ユーザの変更

Configuration Wizard を使用してサーバを作成するとき、主な管理者ユーザの名前とパスワードを入力します。サーバ作成後にユーザを変更する必要が生じた場合は、以下の手順を実行します。

  1. Visualizer を使用して新しいユーザを作成し、wlevsAdministrators グループに割り当てます。wlevsAdministrators グループが Admin ロールにマップされていることを確認します。詳細については、Visualizer オンライン ヘルプの「一般的なセキュリティ タスク」を参照してください。
  2. わかりやすくするために、新しいユーザの名前を cepAdmin、パスワードを supersecret とします。

  3. サーバの DOMAIN_DIR/servername/config/security-config.xml ファイルを更新します。次のように、<msa-security><boot-user-name-encrypted> および <password> 子要素の値を適宜変更します。
  4. <msa-security>
    <boot-user-name-encrypted>cepAdmin</boot-user-name-encrypted>
    <password>supersecret</password>
    </msa-security>
  5. 暗号化ユーティリティを使用して、security-config.xml ファイルの <password> に指定されたクリアテキストのパスワードを暗号化します。「encryptMSAConfig コマンドライン ユーティリティ」を参照してください。

 


SSL を使用したネットワーク トラフィックの保護

Oracle CEP は、一方向 SSL を使用して以下の間でのネットワーク トラフィックを保護します。

Oracle CEP で SSL をコンフィグレーションする方法

この節では、Oracle CEP での SSL のコンフィグレーション方法と、新しいサーバのデフォルトの SSL コンフィグレーションについて説明します。

SSL はサーバの config.xml ファイルでコンフィグレーションします。Configuration Wizard を使用して Oracle CEP サーバを作成するときは、サーバの config.xml にデフォルトの SSL コンフィグレーションが自動的に設定されます。具体的には、config.xml ファイルには、セキュア ポート (デフォルトでは 9003) を指定する <netio> コンフィグレーション オブジェクトが設定されます。次に例を示します。

   <netio>
<name>sslNetIo</name>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
<port>9003</port>
</netio>

次に、Jetty HTTP サーバのコンフィグレーションによって、このネットワーク I/O ポートがセキュアな接続用にコンフィグレーションされます。

   <jetty>
<name>JettyServer</name>
<network-io-name>NetIO</network-io-name>
<work-manager-name>JettyWorkManager</work-manager-name>
<secure-network-io-name>sslNetIo</secure-network-io-name>
</jetty>

セキュア ポートは、Configuration Wizard 実行時にコンフィグレーションされますが、必要に応じて後から変更できます。

SSL コンフィグレーション自体は次のようになります。

   <ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
<key-store-pass>
<password>{Salted-3DES}sdlUX8aEDeNpQ4VhsaCnFA==</password>
</key-store-pass>
<key-store-alias>evsidentity</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<ssl-protocol>TLS</ssl-protocol>
<enforce-fips>false</enforce-fips>
<need-client-auth>false</need-client-auth>
</ssl>

<key-store> 要素は証明書ファイルを指します。Configuration Wizard は、evsidentity.jks というデフォルトの証明書ファイルを DOMAIN_DIR/servername/ssl ディレクトリに作成します。このファイルのパスワードは、Configuration Wizard を使用してサーバを作成するときに入力したパスワードと同じです。evsidentity.jks には自己署名証明書が含まれています。独自の証明書ファイルを作成し、evsidentity.jks ファイルを置き換えるか、config.xml ファイルの <key-store> 要素を更新できます。

マルチサーバ ドメインで Visualizer が使用する SSL のコンフィグレーション

以下の手順では、Visualizer データ サービス アプリケーションをホストするサーバと、マルチサーバ ドメインの別のサーバとの間に一方向の SSL をコンフィグレーションする方法について説明します。

この手順では、Visualizer のデータ サービス アプリケーションをホストするサーバを server1、別のサーバを server2 とし、両方のサーバが /oracle_cep/user_projects/domains/mydomain ディレクトリにあるとします。必要に応じてドメイン内の他のサーバについてこの手順を繰り返します。

  1. ドメインの 2 つのサーバに SSL がコンフィグレーションされていることを確認します。Configuration Wizard を使用してサーバを作成した場合は、SSL がデフォルトでコンフィグレーションされています。詳細については、「Oracle CEP で SSL をコンフィグレーションする方法」を参照してください (デフォルトのコンフィグレーションを変更する方法についても説明しています)。
  2. server2 を起動します。
  3. メインの server1 ディレクトリの ssl サブディレクトリに移動します。
  4. prompt> cd /oracle_cep/user_projects/domains/mydomain/server1/ssl
  5. 次のコマンドを指定して、server1 の信頼キーストア (server2 の証明書が含まれる) を生成します。
  6. prompt> java GrabCert host:secureport [-alias=alias] [-noinput] [truststorepath]

    各項目は次のとおりです。

    • host は、server2 を実行しているコンピュータです。
    • secureport は、server2 用にコンフィグレーションされた SSL ネットワーク I/O ポートです (「Oracle CEP で SSL をコンフィグレーションする方法」を参照)。デフォルト値は 4098 です。
    • alias は、信頼キーストアにある証明書のエリアスです。デフォルト値は hostname です。
    • truststorepath は、生成された信頼キーストア ファイルの絶対パス名です。デフォルトは evstrust.jks です。
    • 例を示します。

      prompt> java GrabCert ariel:9003 -alias=ariel evstrust.jks
  7. server1config.xml ファイルを更新します。具体的には、信頼キーストア情報を <ssl> 要素に追加し、<use-secure-connections> 要素を追加します。次のコード例の太字の部分は、その方法を示しています。
  8.    <ssl>
    <name>sslConfig</name>
    <key-store>./ssl/evsidentity.jks</key-store>
    <key-store-pass>
    <password>{Salted-3DES}sdlUX8aEDeNpQ4VhsaCnFA==</password>
    </key-store-pass>
    <key-store-alias>evsidentity</key-store-alias>
    <key-manager-algorithm>SunX509</key-manager-algorithm>
    <trust-store>./ssl/evstrust.jks</trust-store>
    <trust-store-pass>
    <password>secret</password>
    </trust-store-pass>
    <trust-store-type>JKS</trust-store-type>
    <ssl-protocol>TLS</ssl-protocol>
    <enforce-fips>false</enforce-fips>
    <need-client-auth>false</need-client-auth>
    </ssl>
       <use-secure-connections>
    <value>true</value>
    </use-secure-connections>

    コンフィグレーション ファイルは、/oracle_cep/user_projects/domains/mydomain/server1/config/ などのメイン サーバ ディレクトリの config サブディレクトリにあります。

  9. 暗号化ユーティリティを使用して、config.xml ファイルの <password> に指定されたクリアテキストのパスワードを暗号化します。「encryptMSAConfig コマンドライン ユーティリティ」を参照してください。

 


セキュリティの無効化

ドメインのセキュリティを無効にするには、startwlevs.cmd (Windows) または startwlevs.sh (UNIX) 起動スクリプトで Oracle CEP を起動する java コマンドに -disablesecurity フラグを追加します。このスクリプトは、ドメインのサーバ ディレクトリ (ORACLE_CEP_HOME/user_projects/domains/wlevs30_domain/defaultserver など) にあります。

Windows startwlevs.cmd スクリプトから抜粋した以下のコード例では、セキュリティを無効にする指定を太字で示しています。

%JAVA_HOME%\bin\java %DGC% %DEBUG% -Dwlevs.home=%USER_INSTALL_DIR% -Dbea.home=%BEA_HOME% -jar "%USER_INSTALL_DIR%\bin\wlevs.jar" -disablesecurity %1 %2 %3 %4 %5 %6

 


サーバのロックダウン

この節では、HTTPS 接続だけが許可されるようにサーバをロックダウンする方法について説明します。

  1. サーバに SSL がコンフィグレーションされていることを確認します。詳細については、「SSL を使用したネットワーク トラフィックの保護」を参照してください。
  2. サーバの DOMAIN_DIR/servername/config/config.xml ファイルから HTTP ポートのコンフィグレーションを削除し、HTTPS ポートのコンフィグレーションのみを残します。
  3. たとえば、config.xml から抜粋した以下のコード例は、HTTP ポートと HTTPS ポートの両方がコンフィグレーションされた標準的コンフィグレーションを示しています。HTTP ポートは 9002 で、HTTPS ポートは 9003 です。Jetty サーバには両方のポートを使用してアクセスできます。config.xml ファイルの関連する部分のみを以下に示します。

    <netio>
    <name>NetIO</name>
    <port>9002</port>
    </netio>
    <netio>
    <name>sslNetIo</name>
    <port>9003</port>
    <ssl-config-bean-name>sslConfig</ssl-config-bean-name>
    </netio>
    <jetty>
    <name>JettyServer</name>
    <network-io-name>NetIO</network-io-name>
    <secure-network-io-name>sslNetIo</secure-network-io-name>
    ...
    </jetty>
       <ssl>
    <name>sslConfig</name>
    <key-store>./ssl/evsidentity.jks</key-store>
    ...
    </ssl>

    HTTP アクセスを削除した修正後 config.xml ファイルは次のようになります。

    <netio>
    <name>sslNetIo</name>
    <port>9003</port>
    <ssl-config-bean-name>sslConfig</ssl-config-bean-name>
    </netio>
    <jetty>
    <name>JettyServer</name>
    <secure-network-io-name>sslNetIo</secure-network-io-name>
    ...
    </jetty>
       <ssl>
    <name>sslConfig</name>
    <key-store>./ssl/evsidentity.jks</key-store>
    ...
    </ssl>
  4. マルチサーバ ドメインを使用している場合は、メンバー サーバ間に SSL がコンフィグレーションされていることを確認します。詳細については、「マルチサーバ ドメインで Visualizer が使用する SSL のコンフィグレーション」を参照してください。

 


Java SE セキュリティのコンフィグレーション

Java SE プラットフォームには、標準ベースで相互運用性のある動的かつ拡張可能なセキュリティ アーキテクチャが定義されています。暗号、認証と承認、公開鍵インフラストラクチャなどのセキュリティ機能は、あらかじめ組み込まれています。詳細については、「Java SE セキュリティの概要」を参照してください。

Oracle CEP は、次のセキュリティ ポリシーを適用することにより、Java SE セキュリティをサポートします。

製品にはこれらのファイルのサンプルが付属しています。サンプルは ORACLE_CEP_HOME/ocep_10.3/utils/security にあります。ORACLE_CEP_HOME は、Oracle CEP のインストール先ディレクトリです (/oracle_home など)。

Oracle CEP ですべての Java SE セキュリティ機能を有効にするには、以下の手順を実行します。

  1. Oracle CEP サーバが現在実行中である場合は、停止します。
  2. Oracle CEP サーバの DOMAIN_DIR/servername/config ディレクトリに以下の 2 つのファイルを作成します。DOMAIN_DIR は、Oracle CEP メイン インストール ディレクトリです。servername は、/oracle_cep/user_projects/domains/mydomain/myserver/config などのサーバ名です。
  3. 必要に合わせて 2 つのセキュリティ ポリシー ファイルを編集します。
  4. プラットフォームに応じたサーバ起動スクリプト startwlevs.cmd (Windows) または startwlevs.sh (UNIX) を更新します。具体的には、実際にサーバを起動する java コマンドに以下の 3 つのプロパティを追加します。
  5. -Djava.security.manager 
    -Djava.security.policy=./config/security.policy
    -Dcom.bea.core.security.policy=./config/policy.xml

    サーバ起動ファイルは DOMAIN_DIR/servername ディレクトリにあります。例を示します。

    "%JAVA_HOME%\bin\java" %DGC% %DEBUG% -Djava.security.manager  -Djava.security.policy=./config/security.policy  -Dcom.bea.core.security.policy=./config/policy.xml  -Dwlevs.home="%USER_INSTALL_DIR%" -Dbea.hoe="%BEA_HOME%" -jar "%USER_INSTALL_DIR%\bin\wlevs.jar" %1 %2 %3 %4 %5 %6
  6. Oracle CEP サーバの DOMAIN_DIR/servername/config/config.xml ファイルを更新して Jetty コンフィグレーションを編集します。具体的には、<jetty> 要素の <scratch-directory> 子要素を追加して、Jetty Web アプリケーションのデプロイ先となるディレクトリを指定します。例を示します。
  7.    <jetty>
    <name>JettyServer</name>
    <network-io-name>NetIO</network-io-name>
    <work-manager-name>JettyWorkManager</work-manager-name>
    <secure-network-io-name>sslNetIo</secure-network-io-name>
    <scratch-directory>./JettyWork</scratch-directory>
    </jetty>
  8. 変更を有効にするために、Oracle CEP サーバを再起動します。

 


セキュリティ コマンドライン ユーティリティのリファレンス

Oracle CEP には、セキュリティをコンフィグレーションするためのさまざまなコマンドライン ユーティリティが用意されています。以下の節を参照してください。

cssconfig コマンドライン ユーティリティ

cssconfig コマンドライン ユーティリティは、パスワード ポリシーを適用するセキュリティ コンフィグレーション ファイル (security.xml) を生成するときに使用します。

cssconfig ユーティリティは ORACLE_CEP_HOME/ocep_10.3/bin ディレクトリにあります。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。このユーティリティには次の 2 種類があります。

このユーティリティの Unix バージョンは、#!/bin/ksh ディレクティブで起動します。ほとんどの Unix システムでは、このディレクティブにより、ユーティリティ使用時に Korn Shell プログラムが使用されます。ksh プログラムが bin ディレクトリにない場合、または使用しているシェル言語でユーティリティを正しく実行できない場合は、次のようにしてユーティリティを実行してください。

  prompt> $PATH_TO_KSH_BIN/ksh -c cssconfig.sh

PATH_TO_KSH_BIN は、ksh プログラムの完全修飾パスです。

cssconfig の構文

  cssconfig -p propertyfile [-c configfile] -i inputkeyfile [-d]

各値の説明は次のとおりです。

encryptMSAConfig コマンドライン ユーティリティ

encryptMSAConfig 暗号化コマンドライン ユーティリティは、XML ファイルの <password> 要素に指定されたクリアテキストのパスワードを暗号化するときに使用します。<password> 要素が含まれている可能性がある XML ファイルのサンプルは、次のとおりです。

encryptMSAConfig ユーティリティは ORACLE_CEP_HOME/ocep_10.3/bin ディレクトリにあります。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP のメイン インストール ディレクトリです。このユーティリティには次の 2 種類があります。

encryptMSAConfig の構文

  encryptMSAConfig directory XML_file msainternal.dat_file

各値の説明は次のとおりです。

コマンドを実行すると、<password> 要素の値が暗号化されます。

passgen コマンドライン ユーティリティ

警告 : passgen コマンドライン ユーティリティは、Oracle CEP バージョン 10.3 で非推奨になりました。これは必要なタスクが Configuration Wizard で自動的に実行されるようになったためです。

passgen コマンドライン ユーティリティは、ユーザのパスワードをセキュリティ データベースに追加するためにハッシュ化するときに使用します。

passgen ユーティリティは、ORACLE_CEP_HOME/ocep_10.3/bin ディレクトリにあります。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。このユーティリティには次の 2 種類があります。

passgen の構文

  passgen [-a algorithm] [-s saltsize] [-h] [-?][password]*

各値の説明は次のとおりです。

オプション
説明
デフォルト値
-a
algorithm は、使用するハッシュ アルゴリズムを指定します。
  • SHA-1
  • MD2
  • MD5
  • SSHA
  • SHA-256

注意 : 設定できるアルゴリズムの実際のリストは、JDK にプラグインされているセキュリティ プロバイダによって異なります。

指定しない場合、デフォルトは SHA-1 です。
-s
saltsize は、ユニークなハッシュ文字列を作成するために追加される salt 文字の数です。

指定しない場合、デフォルトは 4 です。

-h, -?
コマンドライン オプションを表示して終了します。
 
password

コマンドライン上にパスワードが指定された場合は、パスワードをハッシュ化し、1 行につき 1 つずつ左から右の順に出力します。コマンドライン上にパスワードが指定されない場合は、パスワードの入力を求め、対話形式でパスワードをハッシュ化します。

 

注意 : Windows オペレーティング システムではこのユーティリティの .cmd バージョンを、Unix プラットフォームでは .sh バージョンを使用する必要があります。
注意 : このユーティリティの Unix バージョンは、#!/bin/ksh ディレクティブで起動します。ほとんどの Unix システムでは、このディレクティブにより、ユーティリティ使用時に Korn Shell プログラムが使用されます。ksh プログラムが bin ディレクトリにない場合、または使用しているシェル言語でユーティリティを正しく実行できない場合は、次のようにしてユーティリティを実行してください。
注意 : $PATH_TO_KSH_BIN/ksh -c passgen.sh
注意 : PATH_TO_KSH_BIN は、ksh プログラムの完全修飾パスです。

passgen の使用例

以下の節では、passgen ユーティリティの使用例を示します。

対話形式での passgen の使用

passgen ユーティリティを対話形式で使用する例を次に示します。

     $ passgen
     Password ("quit" to end): maltese
     {SHA-1}LOtYvfQZj++4rV50AKpAvwMlQjqVd7ge
     Password ("quit" to end): falcon
     {SHA-1}u7NPQfgkHISr0tZUsmPrPmr3U1LKcAdP
     Password ("quit" to end): quit
     {SHA-1}2pPo4ViKsoNct3lTDoLeg9gHYZwQ47sV

このモードでは、パスワードを入力すると、ハッシュ化されたバージョンのパスワードが表示されます。そのハッシュ化されたバージョンのパスワードをセキュリティ データベースのパスワード フィールドに入力できます。

注意 : 例では、デモンストレーション目的でパスワードが画面上にエコーされるようになっています。ほとんどの場合、パスワードを表示することはありません (プラットフォームがパスワードの非表示をサポートしていない場合を除く)。
コマンドラインでのパスワードの入力

コマンドライン上に入力されたパスワードをハッシュ化する場合の passgen ユーティリティの使用例を次に示します。

     $ passgen maltese falcon
     {SHA-1}g0PNXmJW0OBtp/GkHrhNAhpbjM+capNe
     {SHA-1}2ivZnjnKD9fordC1YFkrVGf0DHL6SVP1

複数のパスワードが入力された場合、左から右にハッシュ化が行われます。

secgen コマンドライン ユーティリティ

警告 : secgen コマンドライン ユーティリティは Oracle CEP バージョン 10.3 で非推奨になりました。これは必要なタスクが Configuration Wizard で自動的に実行されるようになったためです。

secgen コマンドライン ユーティリティは、暗号化されたパスワードを使用するセキュリティ キーまたはセキュリティ コンフィグレーション ファイルを生成するときに使用します。

注意 : このユーティリティで作成されるセキュリティ ファイルにパスワード ポリシーは適用されません。パスワード ポリシーが必要な場合は、このユーティリティではなく cssconfig コマンドライン ユーティリティを使用してください。「cssconfig コマンドライン ユーティリティ」を参照してください。

secgen ユーティリティは ORACLE_CEP_HOME/ocep_10.3/bin ディレクトリにあります。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。このユーティリティには次の 2 種類があります。

ファイルベースのプロバイダ コンフィグレーション ファイルの生成

ファイルベースのセキュリティ プロバイダ コンフィグレーション ファイルを生成するには、次のコマンドライン オプションを使用します。

  secgen -F [-o outputfile] [-i inputkeyfile] [-e] [-P PropertyFilePath]

各値の説明は次のとおりです。

オプション
説明
備考
-F
ファイルベースのセキュリティ プロバイダ ファイルを生成します。-k オプションと同時には使用できません。
指定しない場合は -k が想定されます。
-o
outputfile は、生成されるファイルの名前です。
デフォルトの出力ファイル名は security.xml です。
-i
inputkeyfile は、入力キー ファイルの完全修飾名です。
指定しない場合は、デフォルトの入力キー ファイルとして security-key.dat が想定されます。
-e
承認時に完全一致の裁決を有効にします。
 
-P
PropertyFilePath は、プロバイダのコンフィグレーションをカスタマイズするために使用できる secgen プロパティ ファイルの完全修飾パスです。
詳細については、「secgen プロパティ ファイルの使用」を参照してください。
SecGenTemplate.properties テンプレート ファイルは ORACLE_CEP_HOME/ocep_10.3/bin にあります。ORACLE_CEP_HOME は、/oracle_cep などの Oracle CEP メイン インストール ディレクトリです。

キー ファイルの生成

セキュリティ キー ファイルを生成するには、次のコマンドライン オプションを使用します。

 secgen [-k] [-o outputfile] 

各値の説明は次のとおりです。

オプション
説明
備考
-k
キー ファイルを生成します。-F オプションと同時には使用できません。
指定しない場合は -k が想定されます。
-o
outputfile は、生成されるファイルの名前です。
デフォルトの出力ファイル名は security-key.dat です。

secgen プロパティ ファイルの使用

secgen を実行する際、-P オプションを使用してプロパティ ファイルを指定し、プロバイダ コンフィグレーションをカスタマイズできます。SecGenTemplate.properties テンプレート ファイルは ORACLE_CEP_HOME/ocep_10.3/bin にあります。ORACLE_CEP_HOME は、/oracle_cep などの Oracle CEP メイン インストール ディレクトリです。

プロパティ ファイルではクリアテキストのパスワードを指定しますが、指定したパスワードは、生成されるコンフィグレーション ファイルに暗号化されて格納されます。

次の例は、ファイルベースでのプロバイダのカスタマイズに使用するプロパティ ファイルを示しています。

  #File based provider related
file.atn.file.store.path=myfileatnstore.txt
file.atn.file.store.password=firewall
file.atn.user.password.style=HASHED
file.atn.file.store.encrypted=true
file.atz.file.store.path=filatz
file.atz.file.store.password=firewall
file.rm.file.store.path=filerm
file.rm.file.store.password=firewall
file.cm.file.store.path=filecm
file.cm.file.store.password=firewall

file.atn.user.password.style の有効な値は次のとおりです。

secgen の使用例

次の例は、secgen ユーティリティを使用して、myKeyFile.dat というキー ファイルを生成する方法を示しています。

  prompt> secgen -k -o myKeyFile.dat

次の例は、secgen ユーティリティを使用して、myConfigFile.xml という名前のファイルベースのセキュリティ プロバイダ コンフィグレーション ファイルを生成する方法を示しています。この例では、myKeyFile.dat という事前に生成したキー ファイルと、mySecGen.properties というプロパティ ファイルも使用しています。

  prompt> secgen -F -i myKeyFile.dat -o myConfigFile.xml -P  c:\msa\myMSAConfig\mySecGen.properties

secgen の制限

Windows オペレーティング システムではこのユーティリティの .cmd バージョンを、Unix プラットフォームでは .sh バージョンを使用する必要があります。

このユーティリティの Unix バージョンは、#!/bin/ksh ディレクティブで起動します。ほとんどの Unix システムでは、このディレクティブにより、ユーティリティ使用時に Korn Shell プログラムが使用されます。ksh プログラムが bin ディレクトリにない場合、または使用しているシェル言語でユーティリティを正しく実行できない場合は、次のようにしてユーティリティを実行してください。

  prompt> $PATH_TO_KSH_BIN/ksh -c secgen.sh

PATH_TO_KSH_BIN は、ksh プログラムの完全修飾パスです。


  ページの先頭       前  次