ヘッダーをスキップ
Oracle® Complex Event Processing管理者ガイド
11g リリース1(11.1.1.4.0)
B61653-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 Oracle CEPのセキュリティの構成

この章の内容は次のとおりです。

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

Oracle CEPには、データ・ストリームとイベント・ストリーム、構成、ユーザー名とパスワードのデータ、セキュリティ・ポリシー情報、リモート資格証明、ネットワーク・トラフィックなどのサーバー・リソースを保護する様々なメカニズムが用意されています。

Oracle CEPサーバーのセキュリティを構成するには、次の一般的なタスクを考慮してください。

  1. Java SEのセキュリティを構成します。

    10.1.1項「Java SEセキュリティ」を参照してください。

  2. 認可および認証用のセキュリティ・プロバイダを構成します。

    次を参照してください。

  3. パスワードの強度を構成します。

    10.4項「パスワード強度の構成」を参照してください。

  4. SSLおよびFIPSを構成します。

    次を参照してください。

  5. HTTPS専用接続を構成します。

    10.7項「Oracle CEPサーバーのHTTPS専用接続の構成」を参照してください。

  6. Oracle CEPサーバーの個々のサービスのセキュリティを構成します。

    10.8項「Oracle CEPサーバー・サービスのセキュリティの構成」を参照してください。

詳細は、次を参照してください:

10.1.1 Java SEセキュリティ

Java SEのセキュリティ・ポリシーは、次のものに対して定義できます。

  • Oracle CEPを構成するすべてのバンドル

  • サーバーの起動

  • Oracle CEPサーバーのJetty HTTPサーバーにデプロイされたWebアプリケーション

  • Oracle CEP Visualizer

詳細は、次を参照してください:

10.1.2 セキュリティ・プロバイダ

Oracle CEPは、認証、認可、ロール・マッピングおよび資格証明マッピング用の様々なセキュリティ・プロバイダをサポートしています。

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

  • ファイルベース: すぐに使用できるデフォルトのセキュリティ・プロバイダ。このタイプのプロバイダは、オペレーティング・システムのファイルを使用することで、ユーザー、パスワード、グループ情報などのセキュリティ・データにアクセスします。認証(ユーザーのアイデンティティを証明または検証するプロセス)および認可(ユーザーのセキュリティ・ロールとリクエストされたOracle CEPリソースに割り当てられたセキュリティ・ポリシーに基づいて、Oracle CEPリソースへのユーザーのアクセスを許可または拒否するプロセス)の両方を提供します。認証では通常、ユーザー名とパスワードの組合せが必要となります。

  • LDAP - LDAP (Lightweight Data Access Protocol)サーバーを使用してユーザー、パスワード、およびグループ情報にアクセスするプロバイダ。認証のみを提供します。

  • DBMS - データベース管理システム(DBMS)を使用してユーザー、パスワード、およびグループ情報にアクセスするプロバイダ。認証と認可の両方を提供します。

デフォルトのファイルベースのセキュリティ・プロバイダを使用することにした場合、ドメインの構成を追加で行う必要は一切ありません。必要な構成はすべて構成ウィザードによって実行されます。ただし、LDAPまたはDBMSプロバイダを使用する場合は、追加の構成を実行する必要があります。10.3項「セキュリティ・プロバイダの構成」を参照してください。

セキュリティ・プロバイダの構成が完了すると、Oracle CEP Visualizerを使用して、新しいユーザーを追加したり、それらのユーザーをグループに割り当てたり、グループをロールにマッピングしたりできるようになります。10.1.3項「ユーザー、グループおよびロール」を参照してください。

10.1.3 ユーザー、グループおよびロール

Oracle CEPは、ロールベースの認可制御を使用して、Oracle CEP Visualizerおよびwlevs.Adminコマンドライン・ユーティリティを保護します。すぐに使用できるデフォルトのセキュリティ・グループが各種存在しています。ユーザーを様々なグループに追加することにより、ユーザーへの様々なロールの割当ができます。

Oracle CEP Visualizer、wlevs.Admin、またはJMXを使用して、Oracle CEPインスタンスに接続する任意のカスタム管理アプリケーションを使用する管理者は、ロールベースの認可を使用してアクセス権限を取得します。

また、ロールベースの認可を使用して、HTTPパブリッシュ/サブスクライブ・サーバーへのアクセスを制御することもできます。

ロールには次の2種類が存在します。

  • アプリケーション・ロール: アプリケーション・ロールは、Oracle CEPサーバーにデプロイ済の様々なOracle CQLアプリケーションにアクセスする権限をユーザーに付与します。アプリケーション・ロールを作成し、それらをOracle CEPが提供するタスク・ロールに関連付けることができます。

    デフォルトでは、管理者ユーザーはすべてのアプリケーションにアクセスでき、非管理ユーザーはどのアプリケーションにもアクセスできません。ある非管理ユーザーがアプリケーションにアクセスできるようにするには、管理ユーザーが関連するアプリケーション・ロールをそのユーザーに付与する必要があります。

  • タスク・ロール:タスク・ロールは、ユーザーにアプリケーションを使用して各種タスクを実行するための権限を付与します。各アプリケーション・ロールによって、ユーザーはアクセスするための認証を受けます。Oracle CEPは、表10-1で説明されているように、デフォルト・タスク・ロールを提供します。

Oracle CEP Visualizer、またはwlevs.Adminの使用時に正常に認証されたユーザーにはそのグループ・メンバーシップに基づいてロールが割り当てられますが、その後の管理機能へのアクセスは、そのユーザーが保持するロールに従って制限されます。匿名ユーザー(認証されていないユーザー)は、Oracle CEP Visualizerやwlevs.Adminには一切アクセスできません。

管理者が構成ウィザードを使用して新しいドメインを作成する際には、wlevsAdministratorsグループの一部となる管理者ユーザーを入力します。デフォルトでは、この情報はファイルベースのプロバイダ・のファイルストア内に格納されます。パスワードは、SHA-256アルゴリズムを使用してハッシュされます。デフォルトの管理者ユーザーの名前はwlevs、パスワードはwlevsになります。

表10-1では、新しいドメインの作成直後に使用可能となるデフォルトのOracle CEPタスク・ロールと、それらのロールに割り当てられるグループの名前について説明します。

表10-1 デフォルトのOracle CEPタスク・ロールおよびグループ

タスク・ロール グループ 権限

Admin

wlevsAdministrators

上記のロールが持つすべての権限に加えて、次の権限があります。

  • ユーザーおよびグループの作成

  • HTTPパブリッシュ/サブスクライブ・セキュリティの構成

  • Jettyやワーク・マネージャなどのシステム構成の変更

ApplicationAdmin

wlevsApplicationAdmins

すべてのOperator権限に加えて、デプロイ済アプリケーションの構成を更新する権限があります。

BusinessUser

wlevsBusinessUsers

すべてのOperator権限に加えて、デプロイ済アプリケーションのプロセッサに関連付けられたOracle CQLおよびEPLルールを更新する権限も持ちます。

Deployer

wlevsDeployers

すべてのOperator権限に加えて、デプロイ済アプリケーションをデプロイ、アンデプロイ、更新、中断、および再開する権限があります。

Monitor

wlevsMonitors

すべてのOperator権限に加えて、診断プロファイルの作成やイベントの記録(および再生)などの診断機能を有効または無効にする権限があります。

Operator

wlevsOperators

すべてのサーバー・リソース、サービス、およびデプロイ済アプリケーションへの読取り専用アクセスがあります。


ドメインの作成が完了したら、管理者によるOracle CEP Visualizerを使用したグループの作成、およびグループの1つ以上のロールへの関連付けが可能になります。各ロールは1つのアプリケーションへのアクセス権限を付与します。ユーザーをあるグループに割り当てると、そのグループに関連付けられたロールにより、それらのアプリケーションにアクセスする権限がそのユーザーに付与されます。

Oracle CEP Visualizerを使用してユーザー、グループおよびロールを変更する手順については、次を参照してください。

  • 『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のユーザーの管理に関する項

  • 『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のグループの管理に関する項

  • 『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のロールの管理に関する項

詳細は、次を参照してください:

10.1.4 SSL

Oracle CEPには一方向のSecure Sockets Layer (SSL)が用意されていますが、これは、Oracle CEP VisualizerおよびOracle CEPサーバー・インスタンス間、マルチサーバー・ドメインのOracle CEPサーバー・インスタンス間、およびwlevs.Adminコマンドライン・ユーティリティとOracle CEPサーバー・インスタンス間のネットワーク・トラフィックを保護するためのものです。

Federal Information Processing Standards (FIPS)の認定を受けた擬似乱数ジェネレータをSSLで使用するように、Oracle CEPを構成できます。

詳細は、次を参照してください:

10.1.5 FIPS

National Institute of Standards and Technology (NIST)は、連邦政府のコンピュータ・システムの標準を作成します。NISTはこれらの標準を、政府全体で使用できるようにFederal Information Processing Standards (FIPS)として発行します。

Oracle CEPは、com.rsa.jsafe.provider.JsafeJCEセキュリティ・プロバイダを使用してFIPSをサポートします。このプロバイダを使用すれば、FIPSの認定を受けた擬似乱数ジェネレータをSSLで使用するようにOracle CEPを構成できます。

詳細は、次を参照してください:

10.1.6 セキュリティの有効化と無効化

SSLの構成後、HTTPSポート上でクライアント・リクエストのみを受信するようにOracle CEPサーバーを構成できます。10.7項「Oracle CEPサーバー用のHTTPS専用接続の構成」を参照してください。

オプションで、セキュリティを無効化できます。10.10項「セキュリティの無効化」を参照してください。

10.1.7 セキュリティ・ユーティリティ

Oracle CEPには、セキュリティ管理を単純化するためのコマンドライン・ユーティリティが各種用意されています。コマンドライン・ユーティリティに加え、Oracle CEP Visualizerを使用して多くのセキュリティ・タスクを実行できます。

詳細は、次を参照してください:

10.1.8 コマンドライン・ユーティリティ使用時のユーザー資格証明の指定

Oracle CEPでは様々なタスクを実行できるように、次のコマンドライン・ユーティリティが用意されています。

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

  • コマンドライン上で-user-passwordなどのオプションを使用します。

  • 対話形式を使用して、常にコマンド・ライン・ユーティリティで資格証明のプロンプトが表示されるようにします。

  • ユーザー資格証明が格納されているファイル・ストアを指定します。ファイル・ストア自体もパスワードで保護します。

本番環境では、1番目のオプション(コマンドライン上でユーザーの資格証明を指定する方法)は決して使用せず、2番目および3番目のオプションのみを使用します。

対話モード(コマンドライン・ユーティリティが資格証明の入力を求める方法)を使用する場合には、ローカル・コンピュータに適したterminalioネイティブ・ライブラリがCLASSPATHに含まれていることを必ず確認し、ユーザーの資格証明の入力時にその情報が画面上にエコーされないようにしてください。Oracle CEPにはこの目的のために一連の標準ネイティブ・ライブラリが含まれていますが、ユーザーが必要とするライブラリが含まれていない可能性があります。

10.1.9 Oracle CEPの例およびドメインのセキュリティ

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

Oracle CEPの例はすべて、ユーザー名wlevsおよびパスワードwlevsを持つ管理者を使用するように構成されます。新しいドメインを作成する場合には、この管理者の名前とパスワードを指定します。

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

FX例およびAlgoTrading例ではセキュリティが有効化されます。どちらの例でも、パスワードがwlevsのユーザーwlevsが、完全な管理者権限を持つOracle CEP管理者として構成されます。これらの例に対するサーバーを起動するスクリプトは、適切な引数を使用してこのユーザー名およびパスワードをjavaコマンドに渡します。デプロイヤまたはwlevs.Adminユーティリティを使用する場合も、適切な引数を使用してこのユーザー名/パスワードのペアを渡す必要があります。

詳細は、10.1.8項「コマンドライン・ユーティリティ使用時のユーザー資格証明の指定」を参照してください。

10.2 Oracle CEPサーバーのJava SEセキュリティの構成

Java SEプラットフォームには標準ベースで相互運用可能なセキュリティ・アーキテクチャが定義されていますが、これは動的で拡張可能なものとなっています。暗号化、認証および認可、公開鍵インフラストラクチャなどのセキュリティ機能が組み込まれています。

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

前述のファイルのサンプルは製品に付属しており、ORACLE_CEP_HOME/ocep_11.1/utils/securityにあります。ここで、ORACLE_CEP_HOMEは、Oracle CEPをインストールしたディレクトリ(/oracle_homeなど)を意味します。

Oracle CEPでは、Java SEのすべてのセキュリティ機能を有効化できます。

詳細は、10.1.1項「Java SEセキュリティ」を参照してください。

Oracle CEPサーバーJava SEセキュリティを構成するには:

  1. Oracle CEPサーバーが現在実行中である場合は、停止します。

    1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

  2. policy.xmlおよびsecurity.policyを次のようにコピーします。

    • コピー元: ORACLE_CEP_HOME/ocep_11.1/utils/security

    • コピー先: DOMAIN_DIR/servername/config

    ここで、ORACLE_CEP_HOMEはOracle CEPをインストールしたディレクトリ(/oracle_homeなど)を示し、DOMAIN_DIRはメインのOracle CEPインストール・ディレクトリを示し、servernameはサーバー名示します(/oracle_cep/user_projects/domains/mydomain/myserver/configなど)。

  3. 必要に合わせて2つのセキュリティ・ポリシー・ファイルを編集します。

  4. DOMAIN_DIR/servernameディレクトリにある、ユーザーのプラットフォーム向けのサーバー起動スクリプト(Windowsの場合はstartwlevs.cmd、UNIXの場合はstartwlevs.sh)を更新します。具体的には、サーバーを実際に起動するjavaコマンドに次の3つのプロパティを追加します。

    -Djava.security.manager 
    -Djava.security.policy=./config/security.policy
    -Dcom.bea.core.security.policy=./config/policy.xml 
    

    次のような例があります(実際には、完全なコマンドは1行にする必要があります)。

    "%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
    
  5. Oracle CEPサーバーのDOMAIN_DIR/servername/config/config.xmlファイルを更新し、Jetty Webアプリケーションのデプロイ先となるディレクトリを指定する<jetty>要素の<scratch-directory>子要素追加してJettyの構成を編集します。例:

    <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>
    
  6. 変更を有効にするために、Oracle CEPサーバーを再起動します。

    1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

10.3 セキュリティ・プロバイダの構成

セキュリティ・プロバイダは、認証または認可(あるいはその両方)を実行します。

Oracle CEPサーバーでは、ファイルベース、LDAP、DBMSの各セキュリティ・プロバイダがサポートされます。

ファイルベースのセキュリティ・プロバイダは、構成ウィザードが構成するデフォルトのセキュリティ・プロバイダです。ファイルベースのセキュリティ・プロバイダを使用する場合、追加の構成は必要ではありません。

LDAPセキュリティ・プロバイダは認証のみをサポートします。

DBMSセキュリティ・プロバイダは認証および認可の両方をサポートします。

この項では次の内容について説明します。

詳細は、10.1.2項「セキュリティ・プロバイダ」を参照してください。

10.3.1 LDAPプロバイダを使用した認証およびDBMSプロバイダを使用した認可の構成

次の手順では、LDAPセキュリティ・プロバイダを認証用に、DBMSプロバイダを認可用に構成する方法について説明します。


警告:

LDAPを使用して認証を行う場合、Oracle CEP Visualizerを使用してユーザーのパスワードは変更できますが、ユーザーやグループの追加や削除を行うことはできません。

LDAPプロバイダを使用して認証を構成し、DBMSプロバイダを使用して認可を構成するには:

  1. コマンド・ウィンドウを開き、『Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項で説明されているように、環境を設定します。

  2. ORACLE_CEP_HOME\ocep_11.1\binディレクトリをPATH環境変数に追加します。ここで、ORACLE_CEP_HOMEはメインのOracle CEPインストール・ディレクトリ(d:\oracle_cepなど)です。

    prompt> set PATH=d:\oracle_cep\ocep_11.1\bin;%PATH% (Windows)
    prompt> PATH=/oracle_cep/ocep_11.1/bin:$PATH (UNIX)
    
  3. DOMAIN_DIR/servername/configディレクトリに移動します。ここで、DOMAIN_DIRはドメインのメイン・ディレクトリ(d:\oracle_cep\user_projects\domains\mydomainなど)を示し、servernameはサーバー名を示します。

    prompt> cd d:\oracle_cep\user_projects\domains\mydomain\defaultserver\config
    
  4. 任意のテキスト・エディタを使用し、myLDAPandDBMS.propertiesというファイルを作成し、このファイルに例10-1のコンテンツ全体をコピーします。

    例10-1 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 (in practice, the property should be all on one line):
    #  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
    # Split here for readability; in practice, a property should be all on one line.
    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
    

    プロパティ・ファイルをカスタマイズします。具体的には、store.StorePropertiesプロパティを更新してデータベース・ドライバ情報、接続URL、およびデータベースに接続するユーザーのユーザー名/パスワードが反映されるようにします。デフォルトのプロパティがどのように設定されるかを、次に示します。

    # Split for readability; in practice, the property should be on one line.
    store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver, 
    ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs, 
    Password=wlevs
    

    さらに、LDAPサーバー構成を指定するプロパティを更新します。

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

  5. 元に戻す必要が生じた場合のために、既存のsecurity.xmlファイルのバックアップ・コピーを取っておきます。

    prompt> copy security.xml security.xml_save
    
  6. 次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。

    prompt> cssconfig -p myLDAPandDBMS.properties -c security.xml -i security-key.dat
    

    前述のコマンドで、myLDAPandDBMS.propertiesはステップ4で作成したプロパティ・ファイルであり、security.xmlは新しいセキュリティ構成ファイルの名前であり、security-key.datは構成ウィザードによって生成された既存のファイルで、アイデンティティ・キーを含んでいます。

    追加情報は、C.1項「cssconfigコマンドライン・ユーティリティ」を参照してください。

  7. 次のようにORACLE_CEP_HOME/ocep_11.1/utils/security/sqlディレクトリに移動します。

    prompt> cd d:\oracle_cep\ocep_11.1\utils\security\sql
    

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

    • atz_create.sql: 認可で必要となるすべての表を作成します。

    • atz_drop.sql: 認可に関する表をすべてドロップします。

  8. ステップ4でデータベース・ストアとして指定したデータベースに対し、次のSQLスクリプトを実行します。

    • atz_create.sql

  9. 10.1.3項「ユーザー、グループおよびロール」で説明されているデフォルト・グループおよびドメイン作成時に指定した管理者ユーザーを追加して、LDAPサーバーを構成します。デフォルトでは、wlevsというユーザーです。

    詳細については、LDAPサーバーのドキュメントを参照してください。

  10. オプションで、新しいsecurity.xmlファイル内でパスワードの強度を構成します。

    10.4項「パスワード強度の構成」を参照してください。

10.3.2 DBMSプロバイダを使用した認証と認可の両方の構成

次の手順では、認証および認可の両方に使用するようにDBMSセキュリティ・プロバイダを構成する方法について説明します。

DBMSプロバイダを使用して認証および認可の両方を構成するには:

  1. コマンド・ウィンドウを開き、『Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項で説明されているように、環境を設定します。

  2. ORACLE_CEP_HOME\ocep_11.1\binディレクトリをPATH環境変数に追加します。ここで、ORACLE_CEP_HOMEはメインのOracle CEPインストール・ディレクトリ(d:\oracle_cepなど)です。

    prompt> set PATH=d:\oracle_cep\ocep_11.1\bin;%PATH% (Windows)
    prompt> PATH=/oracle_cep/ocep_11.1/bin:$PATH (UNIX)
    
  3. DOMAIN_DIR/servername/configディレクトリに移動します。ここで、DOMAIN_DIRはドメインのメイン・ディレクトリ(d:\oracle_cep\user_projects\domains\mydomainなど)を示し、servernameはサーバー名を示します。

    prompt> cd d:\oracle_cep\user_projects\domains\mydomain\defaultserver\config
    
  4. 元に戻す必要が生じた場合のために、既存のsecurity.xmlファイルのバックアップ・コピーを取っておきます。

    prompt> copy security.xml security.xml_save
    
  5. 任意のテキスト・エディタを使用し、myDBMS.propertiesというファイルを作成し、このファイルに例10-2のコンテンツ全体をコピーします。

    例10-2 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 (split for readability; in practice, the property should be all on one line):
    #  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
    # Split for readability; the property should be fully on one line.
    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
    

    プロパティ・ファイルをカスタマイズします。具体的には、store.StorePropertiesプロパティを更新してデータベース・ドライバ情報、接続URL、およびデータベースに接続するユーザーのユーザー名/パスワードが反映されるようにします。デフォルトのプロパティがどのように設定されるかを、次に示します(実際には、この設定は1行にする必要があります)。

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

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

  6. 次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。

    prompt> cssconfig -p myDBMS.properties -c security.xml -i security-key.dat
    

    前述のコマンドで、myDBMS.propertiesはステップ4で作成したプロパティ・ファイルであり、security.xmlは新しいセキュリティ構成ファイルの名前であり、security-key.datは構成ウィザードによって生成された既存のファイルで、アイデンティティ・キーを含んでいます。

    追加情報は、C.1項「cssconfigコマンドライン・ユーティリティ」を参照してください。

  7. 次のようにORACLE_CEP_HOME/ocep_11.1/utils/security/sqlディレクトリに移動します。

    prompt> cd d:\oracle_cep\ocep_11.1\utils\security\sql
    

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

    • atn_create.sql: 認証で必要となるすべての表を作成します。

    • atn_drop.sql: 認証に関する表をすべてドロップします。

    • atn_init.sql: 認証関連のユーザー表とグループ表にデフォルト値を挿入します。特にこのスクリプトは、wlevsという名前の単一のデフォルト管理者ユーザーをパスワードwlevsでユーザー表に挿入し、このユーザーがwlevsAdministratorsグループに属するものと指定します。さらにこのスクリプトは、表10-1に記載されたデフォルトグループのグループ表への挿入も行います。

    • atz_create.sql: 認可で必要となるすべての表を作成します。

    • atz_drop.sql: 認可に関する表をすべてドロップします。

  8. 構成ウィザードを使用してドメインを作成する際に、デフォルトのwlevs以外の管理者ユーザーを指定した場合には、atn_init.sqlファイルを編集し、それに応じたINSERT INTO USERS文と対応するINSERT INTO GROUPMEMBERS文を追加します。

    たとえば、管理ユーザー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');
    
  9. ステップ4でデータベース・ストアとして指定したデータベースに対し、次のSQLスクリプト・ファイルを記載した順番で実行します。

    • atn_create.sql

    • atn_init.sql

    • atz_create.sql

  10. オプションで、新しいsecurity.xmlファイル内でパスワードの強度を構成します。

    10.4項「パスワード強度の構成」を参照してください。

10.4 パスワード強度の構成

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

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

パスワード強度の構成は、<password-validator>要素内に格納されます。

例10-3に、構成ウィザードを使用して新しいドメインを作成した後の、デフォルト値を含むsecurity.xmlファイルからのスニペットを示します。

例10-3 security.xmlファイル内のデフォルトのpassword-validator要素

<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>

表10-2では、<password-validator>の構成可能なすべての子要素を説明します。

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

表10-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


10.5 セキュア・ネットワーク・トラフィックへのSSLの構成

Oracle CEPは、一方向のSecure Sockets Layer (SSL)を使用して次の各要素間のネットワーク・トラフィックを保護します。

サーバーのconfig.xmlファイル内でSSLを構成します。構成ウィザードを使用してOracle CEPサーバーを作成した場合、そのサーバーのconfig.xmlにはデフォルトのSSL構成が自動的に含められます。

この項では次の内容について説明します。

詳細は、10.1.4項「SSL」を参照してください。

10.5.1 手動でSSLを構成する方法

この項では、Oracle CEPでのSSLの構成方法について説明します。

SSLを手動で構成するには:

  1. 構成ウィザードを使用してドメインを作成します。

    次を参照してください。

  2. 任意のXMLエディタを使用して、Oracle CEPサーバーのconfig.xmlファイルを開きます。

    デフォルトでは、構成ウィザードはconfig.xmlファイルをORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername/configディレクトリ内に作成します。ここで、ORACLE_CEP_HOMEはOracle CEPのインストール・ディレクトリ(d:/oracle_cepなど)を示し、DOMAIN_DIRはドメインのディレクトリ(my_domainなど)を示します。servernameはサーバー・インスタンスのディレクトリ(server1など)を示します。

    詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。

  3. ssl要素を構成します。

    例10-4に、構成ウィザードによって作成されるデフォルトのssl要素を示します。

    例10-4 デフォルトの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要素は証明書ファイルを指します。構成ウィザードは、evsidentity.jksという名前のデフォルトの証明書ファイルをDOMAIN_DIR/servername/sslディレクトリ内に作成します。そのパスワードは、構成ウィザードを使用してサーバーを作成する際に入力したパスワードと同じになります。

    デフォルトでは、証明書秘密鍵のパスワードは、アイデンティティ・キーストアのパスワードと同じになります。


    注意:

    証明書秘密鍵のパスワードがアイデンティティ・キーストアのパスワードと同じでないと、Oracle CEPサーバーが起動しません。

    evsidentity.jksには自己署名証明書が含まれています。必要であれば、ユーザー独自の証明書ファイルを作成し、evsidentity.jksファイルを置き換えるか、config.xmlファイルのkey-store要素を更新します。


    注意:

    本番環境では、システム管理者は、デフォルトの自己署名証明書をCA署名証明書で置き換える必要があります。

    キーストアを自分で作成する方法の詳細は、10.5.2項「手動でキーストアを作成する方法」を参照してください。

    enforce-fips要素の詳細は、10.6項「Oracle CEPサーバーのFIPSの構成」を参照してください。

  4. SSL用のnetio要素を構成します。

    例10-5では、構成ウィザードによって作成されるデフォルトのnetio要素を示します。

    例10-5 デフォルトのnetio要素

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

    ssl-config-bean-nameは、ssl要素のname子要素に一致する必要があります(ステップ3を参照してください)。

    オプションで、このポートをニーズに合ったポート番号に変更します。

    デフォルトでは、デフォルトのセキュア・ポートは9003です。

  5. jetty要素を構成し、secure-network-io-name子要素を追加します。

    例10-6では、構成ウィザードによって作成されるデフォルトのjetty要素を示します。

    例10-6 デフォルトのjetty要素

    <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>
    

    secure-network-io-nameは、SSLのnetio要素のname子要素に一致する必要があります(ステップ4を参照してください)。

  6. config.xmlファイルを保存して閉じます。

  7. Oracle CEPサーバーが実行中の場合は再起動します。

    1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

10.5.2 手動でキーストアを作成する方法

デフォルトでは、構成ウィザードは、evsidentity.jksという名前のデフォルトのキーストア証明書ファイルをDOMAIN_DIR/servername/sslディレクトリ内に作成します。そのパスワードは、構成ウィザードを使用してサーバーを作成する際に入力したパスワードと同じになります。オプションでは、手動で独自のキーストアを構成できます。

詳細は、次を参照してください:

キーストアを手動で作成するには:

  1. 次のようにJDKのkeytoolコマンドを使用して、キーストアを生成します。

    keytool -genkey -alias evsidentity -keyalg RSA -validity 10958 -keystore evsidentity.jks -keysize 1024
    
  2. 要求されたら、次のようにキーストアのパスワードを入力します。

    Enter keystore password:
    
  3. 要求されたら、次のようにキーストアの属性を入力します。

    What is your first and last name?
      [Unknown]:  CEP
    What is the name of your organizational unit?
      [Unknown]:  SOA
    What is the name of your organization?
      [Unknown]:  ORACLE
    What is the name of your City or Locality?
      [Unknown]:  SF
    What is the name of your State or Province?
      [Unknown]:  CA
    What is the two-letter country code for this unit?
      [Unknown]:  US
    Is CN=CEP, OU=SOA, O=ORACLE, L=SF, ST=CA, C=US correct?
      [no]:  y
    
  4. 次のように鍵のパスワードを要求されたら、パスワードは入力せず、RETURNを押します。

    Enter key password for <evsidentity>
            (RETURN if same as keystore password):
    

    注意:

    証明書秘密鍵のパスワードがアイデンティティ・キーストアのパスワードと同じでないと、Oracle CEPサーバーが起動しません。

  5. 任意のXMLエディタを使用して、Oracle CEPサーバーのconfig.xmlファイルを開きます。

    デフォルトでは、構成ウィザードはconfig.xmlファイルをORACLE_CEP_HOME/user_projects/domains/DOMAIN_DIR/servername/configディレクトリ内に作成します。ここで、ORACLE_CEP_HOMEはOracle CEPのインストール・ディレクトリ(d:/oracle_cepなど)を示し、DOMAIN_DIRはドメインのディレクトリ(my_domainなど)を示します。servernameはサーバー・インスタンスのディレクトリ(server1など)を示します。

    詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。

  6. ssl要素を構成します。

    例10-4に、構成ウィザードによって作成されるデフォルトのssl要素を示します。

    例10-7 デフォルトのssl要素

    <ssl>
        <name>sslConfig</name>
        <key-store>KEYSTORE_PATH</key-store>
        <key-store-pass>
            <password>PASSWORD</password>
        </key-store-pass>
        <key-store-alias>KEYSTORE_ALIAS</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>
    

    説明:

    • KEYSTORE_PATHは、キーストア・ファイルへのファイル・パスです(ファイル名はkeytoolコマンドの-keystore引数からのものです)。

    • PASSWORDは、キーストアのクリアテキスト・パスワードです。

    • KEYSTORE_ALIASは、キーストアの別名(keytoolコマンドの-alias引数からのもの)です。

  7. config.xmlファイルを保存して閉じます。

  8. encryptMSAConfigユーティリティを使用して、config.xmlファイルのkey-store-pass要素のpassword子要素に含まれるクリアテキスト・パスワードを暗号化します。

    C.2項「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。

10.5.3 Oracle CEP Visualizer用のマルチサーバー・ドメインでSSLを構成する方法

次の手順は、マルチサーバー・ドメイン内で、Oracle CEP Visualizerのデータサービス・アプリケーションをホストしているサーバーと別のサーバーとの間で一方向のSSLを構成する方法を示したものです。

この手順では、Oracle CEP Visualizerのデータサービス・アプリケーションをホストしているサーバーの名前はserver1、他方のサーバーの名前はserver2であり、どちらも/oracle_cep/user_projects/domains/mydomainディレクトリにあるものと仮定しています。必要であれば、ドメイン内の他のサーバーについてもこの手順を繰り返してください。

マルチサーバー・ドメイン内のサーバー間で送信されるメッセージを保護する方法については、次を参照してください。

マルチサーバー・ドメインでOracle CEP Visualizerを起動する方法の詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle CEP Visualizerを起動する方法に関する項を参照してください。

マルチサーバー・ドメインで、Oracle CEP Visualizerで使用するためのSSLを構成するには:

  1. ドメイン内の2つのサーバーでSSLが構成されていることを確認します。

    構成ウィザードを使用してサーバーを作成した場合、SSLはデフォルトで構成されています。

    デフォルト構成を変更する方法および詳細は、10.5.1項「手動でSSLを構成する方法」を参照してください。

  2. server2を起動します。

    1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

  3. コマンド・ウィンドウを開き、『Oracle Complex Event Processingスタート・ガイド』の開発環境の設定に関する項で説明されているように、環境を設定します。

  4. 次のように、server1ディレクトリのsslサブディレクトリに移動します。

    prompt> cd /oracle_cep/user_projects/domains/mydomain/server1/ssl
    
  5. 次のコマンドを指定して、server2の証明書を含むserver1のトラスト・キーストアを生成します(読みやすくするために分割してありますが、実際にはコマンドは1行にする必要があります)。

    prompt> java -classpath ORACLE_CEP_HOME\ocep_11.1\common\lib\evspath.jar;ORACLE_CEP_HOME\ocep_11.1\utils\security\wlevsgrabcert.jar 
    com.bea.wlevs.security.util.GrabCert host:secureport 
    -alias=alias truststorepath
    

    説明:

    • ORACLE_CEP_HOMEは、Oracle CEPのインストール・ディレクトリ(d:/oracle_cepなど)を意味します。

    • hostは、server2が実行されているコンピュータを意味します。

    • secureportは、server2用に構成されたSSLネットワーク入出力ポートを意味します。デフォルト値は9003です。

      詳細は、10.5.1項「手動でSSLの構成方法」例10-5を参照してください。

    • aliasは、トラスト・キーストアにある証明書の別名です。デフォルト値はhostnameです。

    • truststorepathは、生成されるトラスト・キーストア・ファイルのフルパス名を意味します。デフォルトはevstrust.jksです。

    次のような例があります(読みやすくするために分割してありますが、実際にはコマンドは1行にする必要があります)。

    prompt> java -classpath C:\OracleCEP\ocep_11.1\common\lib\evspath.jar;C:\OracleCEP\ocep_11.1\utils\security\wlevsgrabcert.jar 
    com.bea.wlevs.security.util.GrabCert server2:9003 
    -alias=server2 evstrust.jks
    

    詳細は、C.3項「GrabCertコマンドライン・ユーティリティ」を参照してください。

  6. 要求されたら、次のようにOracle CEP管理者のパスワードを入力します。

    Please enter the Password for the supplied user : wlevs
    
  7. 要求されたら、次のようにserver2から送信された証明書を選択します。

    Created TrustStore evstrust.jks
    Opening connection to server2:9003...
    Starting SSL handshake...
     
    No certificates in evstrust.jks are trusted by server2:9003
     
    Server sent 1 certificate(s):
     
     1 Subject CN=localhost, OU=Event Server, O=BEA, L=San Jose, ST=California, C=US
       Issuer  CN=localhost, OU=Event Server, O=BEA, L=San Jose, ST=California, C=US
       sha1    00 07 c0 f4 10 48 9a f9 07 82 4f b6 9c 7f 7c d0 37 57 90 7d
       md5     a4 d4 ff d2 43 69 95 ca c3 43 e6 f6 b8 08 df b7
     
    Enter certificate to add to trusted keystore evstrust.jks or 'q' to quit: [1]
    
  8. server1config.xmlファイルを更新します。具体的には、次のスニペットで太字で示しているように、トラスト・キーストアの情報をssl要素に追加し、use-secure-connections要素を追加します。

    <ssl>
        <name>sslConfig</name>
        <key-store>./ssl/evsidentity.jks</key-store>
        <key-store-pass>
            <password>{Salted-3DES}s4YUEvH4Wl2DAjb45iJnrw==</password>
        </key-store-pass>
        <key-store-alias>evsidentity</key-store-alias>
        <key-manager-algorithm>SunX509</key-manager-algorithm>
        <ssl-protocol>TLS</ssl-protocol>
        <trust-store>./ssl/evstrust.jks</trust-store>
        <trust-store-pass>
            <password>wlevs</password>
        </trust-store-pass>
        <trust-store-alias>evstrust</trust-store-alias>
        <trust-store-type>JKS</trust-store-type>
        <trust-manager-algorithm>SunX509</trust-manager-algorithm>
        <enforce-fips>false</enforce-fips>
        <need-client-auth>false</need-client-auth>
    </ssl>
    <use-secure-connections>
        <value>true</value>
    </use-secure-connections>
    

    構成ファイルは、メイン・サーバー・ディレクトリのconfigサブディレクトリ(/oracle_cep/user_projects/domains/mydomain/server1/config/など)にあります。

  9. encryptMSAConfigユーティリティを使用して、config.xmlファイルのtrust-store-pass要素のpassword子要素に含まれるクリアテキスト・パスワードを暗号化します。

    C.2項「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。

  10. server1を起動します。

10.6 Oracle CEPサーバーのFIPSの構成

Federal Information Processing Standards (FIPS)の認定を受けた擬似乱数ジェネレータを使用するように、Oracle CEPサーバーを構成できます。

詳細は、10.1.5項「FIPS」を参照してください。

Oracle CEPサーバーのFIPSを構成するには:

  1. Java SEのセキュリティを構成します。

    10.2項「Oracle CEPサーバーのJava SEセキュリティの構成」を参照してください。

  2. SSLを構成します。

    10.5項「セキュア・ネットワーク・トラフィックへのSSLの構成」を参照してください。

  3. com.bea.core.jsafejcefips_version.jarをコピーします。

    • コピー元: ORACLE_CEP_HOME/ocep_11.1/utils/security

    • コピー先: JRE_HOME/jre/lib/ext

    ここで、ORACLE_CEP_HOMEはOracle CEPをインストールしたディレクトリを示し、JRE_HOMEはユーザーのJRockit JREを含むディレクトリを示します。

    1. Oracle JRockit Real TimeとともにインストールされたJRockit JDKを使用する場合、com.bea.core.jsafejcefips_version.jarをJROCKIT_HOME/JROCKIT_RT_HOME/jre/lib/extディレクトリにコピーします。

      ここでJROCKIT_HOMEは、d:\jrockitなどのOracle JRockit Real Timeをインストールした先のディレクトリを示します。

    2. Oracle CEPと共にインストールされたJRockit JDKを使用する場合、com.bea.core.jsafejcefips_version.jarをORACLE_CEP_HOME/JROCKIT_HOME/jre/lib/extディレクトリにコピーします。

      ここで、ORACLE_CEP_HOMEは、Oracle CEPサーバーをインストールしたディレクトリ(d:\oracle_cepなど)です。

  4. Oracle CEPサーバーが現在実行中である場合は、停止します。

    1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

  5. JRE_HOME/jre/lib/security/java.securityファイルを編集し、例10-8で示すように、com.bea.core.jsafejcefips_2.0.0.0.jarをJCEプロバイダとして追加します。

    例10-8 JCEプロバイダとしてjsafejcefips JARを追加するためのjava.securityの編集

    security.provider.N=com.rsa.jsafe.provider.JsafeJCE
    

    ここで、Nは、Javaがセキュリティ・プロバイダにアクセスする順序を指定する一意の整数です。

    JsafeJCEプロバイダをデフォルトのプロバイダにするには、Nを1に設定します。この場合、例10-9で示されるとおり、各プロバイダが一意の値を持つように、java.securityファイル内の他のプロバイダのNの値を変更します。

    例10-9 JsafeJCEをデフォルト・プロバイダに設定

    security.provider.1=com.rsa.jsafe.provider.JsafeJCE
    security.provider.2=sun.security.provider.Sun
    
  6. 例10-10で示すように、server.configファイルのssl要素を編集し、次の子要素を追加します。

    • enforce-fips: このオプションをtrueに設定します。

    • secure-random-algorithm: このオプションをFIPS186PRNGに設定します。

    • secure-random-provider: このオプションをJsafeJCEに設定します。

    例10-10 FIPSを有効化するためのserver.configの編集

    <ssl>
        <name>sslConfig</name>
        <key-store>./ssl/evsidentity.jks</key-store>
        <key-store-pass>
            <password>s4YUEvH4Wl2DAjb45iJnrw==</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>true</enforce-fips>
        <need-client-auth>false</need-client-auth>
        <secure-random-algorithm>FIPS186PRNG</secure-random-algorithm>
        <secure-random-provider>JsafeJCE</secure-random-provider>
    </ssl>
    
  7. 変更を有効にするために、Oracle CEPサーバーを再起動します。

    1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

10.7 Oracle CEPサーバー用のHTTPS専用接続の構成

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

Oracle CEPサーバーのHTTPS専用接続を構成するには:

  1. サーバーのSSLが構成されていることを確認します。

    詳細は、10.5項「セキュア・ネットワーク・トラフィックへのSSLの構成」を参照してください。

  2. サーバーのDOMAIN_DIR/servername/config/config.xmlファイルからHTTPポートの構成を削除し、HTTPSポートの構成のみを残します。

    例10-11は標準的な構成を含むconfig.xmlのスニペットを示したもので、HTTPポートおよびHTTPSポートの両方が構成されています。HTTPポートは9002、HTTPSポートは9003です。クライアントは両方のポートを使用してJettyサーバーにアクセスできます。

    例10-11 HTTPアクセスおよびHTTPSアクセスの両方を含む一般的な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>
    

    例10-12は、HTTPアクセスが削除された同一のconfig.xmlファイルを示します。クライアントは、HTTPSポートのみを使用してJettyサーバーにアクセスできます。

    例10-12 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>
    
  3. マルチサーバー・ドメインの場合には、メンバー・サーバー間でSSLが構成されていることを確認します。

    詳細は、10.5.3項「Oracle CEP Visualizer用のマルチサーバー・ドメインでSSLを構成する方法」を参照してください。

10.8 Oracle CEPサーバー・サービス用のセキュリティの構成

基本的なセキュリティ・タスク(Java SEセキュリティ、セキュリティ・サービス・プロバイダ、SSLの構成など)が完了したら、Oracle CEPサーバーが提供する様々なサービスに固有のセキュリティ詳細を構成できます。

この項では次の内容について説明します。

10.8.1 Jettyセキュリティの構成

Oracle CEPでは、HTTPサーブレットや静的リソースをデプロイするためのJava Webサーバーとして、Jetty(http://www.mortbay.orgを参照してください)がサポートされています。

次のセキュリティ・タスクはJettyの構成に影響を与えます。

Jettyの詳細は、第11章「Oracle CEP用のJettyの構成」を参照してください。

10.8.2 JMXセキュリティの構成

JMXを使用してOracle CEPサーバーにアクセスするクライアントは、Oracle CEPのロールベースの認証によって処理されます。

詳細は、次を参照してください:

JMXの詳細は、第12章「Oracle CEPのJMXの構成」を参照してください。

10.8.3 JDBCセキュリティの構成

構成ウィザードを使用してdata-sourceを新しいパスワードで更新する場合、構成ウィザードによってパスワードの暗号化が実行されます。

data-source要素を追加または変更することでconfig.xmlファイルを手動で更新する場合には、パスワードをプレーン・テキストで入力した後、暗号化ユーティリティencryptMSAConfigを使用してそのパスワードを暗号化します。

例10-13に、config.xmlファイルのdata-source要素を示します。ここでは、properties要素内で新しいプレーン・テキスト・パスワードのsecretpasswordという名前で指定されています。

例10-13 暗号化後のOracle CEP config.xmlファイルのdata-source要素

<data-source>
   <name>epcisDS</name>
   <driver-params>
      <url>jdbc:sqlserver://localhost:1433;databaseName=myDB;SelectMethod=cursor</url>
      <driver-name>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-name>
      <properties>
         <element>
            <name>user</name>
            <value>juliet</value>
         </element>
         <element>
            <name>password</name>
            <value>secret</value>
         </element>
      </properties>
   </driver-params>
</data-source>
<transaction-manager>
   <name>TM</name>
   <rmi-service-name>RMI</rmi-service-name>
</transaction-manager>

例10-14に、暗号化後のconfig.xmlファイルのdata-source要素を示します。プレーン・テキストのパスワードが暗号化されている点に注意してください。

例10-14 暗号化後のOracle CEP config.xmlファイルのdata-source要素

<data-source>
   <name>epcisDS</name>
   <driver-params>
      <url>jdbc:sqlserver://localhost:1433;databaseName=myDB;SelectMethod=cursor</url>
      <driver-name>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-name>
      <properties>
         <element>
            <name>user</name>
            <value>juliet</value>
         </element>
         <element>
            <name>password</name>
            <value>{Salted-3DES}hVgC5iZ3nZA=</value>
         </element>
      </properties>
   </driver-params>
</data-source>
<transaction-manager>
   <name>TM</name>
   <rmi-service-name>RMI</rmi-service-name>
</transaction-manager>

詳細は、次を参照してください:

JDBCの詳細は、第13章「Oracle CEP用のJDBCの構成」を参照してください。

10.8.4 HTTPパブリッシュ/サブスクライブ・サーバー・チャネルのセキュリティの構成

少なくとも1つのHTTPパブリッシュ・サブスクライブ・サーバー・チャネルを構成した後、Oracle CEP Visualizerを使用して、ロールベースの認証を適用して個々のHTTPパブリッシュ・サブスクライブ・サーバー・チャネルへのアクセスを制御できます。

詳細は、次を参照してください:

10.9 Oracle CEPセキュリティ監査プログラムの構成

Oracle CEPには、セキュリティ関連のアクティビティをログするセキュリティ監査プログラムが提供されています。

セキュリティ監査プログラムのデフォルトのロギング先は、DOMAIN_DIR/servername/legacy-rootdir/servers/legacy-server-name/logs/DefaultAuditRecorder.logファイルです。ここで、DOMAIN_DIRはドメインのメイン・ディレクトリ(d:\oracle_cep\user_projects\domains\mydomainなど)を示し、servernameはサーバー名を示します。

デフォルトで、Oracle CEPセキュリティ監査プログラムはセキュリティ上のエラーまたは障害のみをロギングします。これにより、セキュリティ監査プログラムのログ・ファイルを管理可能なサイズに保ちやすくなります。

オプションで、Oracle CEPセキュリティ監査プログラムが情報をログするレベルを構成できます。

詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のWebLogic監査プロバイダの構成に関する項を参照してください。

セキュリティ監査プログラムのロギングを構成するには:

  1. DOMAIN_DIR/servername/configディレクトリに移動します。ここで、DOMAIN_DIRはドメインのメイン・ディレクトリ(d:\oracle_cep\user_projects\domains\mydomainなど)を示し、servernameはサーバー名を示します。

    prompt> cd d:\oracle_cep\user_projects\domains\mydomain\defaultserver\config
    
  2. 任意のテキスト・エディタを使用して、security.xmlファイルを編集します。

  3. sec:auditor要素を検索します。

    例10-15は、デフォルトのsec:auditor要素の構成を示します。

    例10-15 デフォルトのsec:auditor要素

    <sec:auditor xsi:type="wls:default-auditorType">
        <sec:name>my-auditor</sec:name>
        <wls:severity>CUSTOM</wls:severity>
        <wls:rotation-minutes>720</wls:rotation-minutes>
        <wls:error-audit-severity-enabled>true</wls:error-audit-severity-enabled>
        <wls:failure-audit-severity-enabled>true</wls:failure-audit-severity-enabled>
    </sec:auditor>
    
  4. 必要に応じてsec:auditor要素を変更します。

    • wls:rotation-minutes: 何分待ってから新しいDefaultAuditRecorder.logファイルを作成するかを指定します。指定された時刻になると、監査ファイルが閉じられ、新しいファイルが作成されます。DefaultAuditRecorder.YYYYMMDDHHMM.logという名前のバックアップ・ファイル(DefaultAuditRecorder.200405130110.logなど)が同じディレクトリ内に作成されます。

    • wls:severity: 表10-3で示すように、Oracle CEPサーバーに適した重大度レベルを指定します。Oracle CEPのセキュリティ監査プログラムは、指定された重大度のセキュリティ・イベントだけでなく、それより高い重大度ランク値を持つイベントもすべて監査します。たとえば、重大度レベルをERRORに設定した場合、Oracle CEPのセキュリティ監査プログラムは、重大度レベルERRORSUCCESSおよびFAILUREのセキュリティ・イベントを監査します。

      表10-3 Oracle CEPのセキュリティ監査プログラムの重大度レベル

      イベントの重大度 ランク

      INFORMATION

      1

      WARNING

      2

      ERROR

      3

      SUCCESS

      4

      FAILURE

      5


      あるいは、例10-15で示すように、wls:severityのレベルをCUSTOMに設定した後、次の子要素の1つ以上を使用して特定の重大度レベルを監査対象として有効化(trueに設定)または無効化(falseに設定)することもできます。

      • wls:information-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルINFORMATIONのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

      • wls:warning-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルWARNINGのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

      • wls:error-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルERRORのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

      • wls:success-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルSUCCESSのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

      • wls:failure-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルFAILUREのイベントの監査レコードがOracle CEPセキュリティ監査プログラムによって生成されます。

  5. security.xmlファイルを保存して閉じます。

  6. 変更を有効にするために、Oracle CEPサーバーを再起動します。

    1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。

10.10 セキュリティの無効化

Oracle CEPサーバーのセキュリティを完全に無効化できます。開発環境ではこの構成が適切である可能性もありますが、本番環境でセキュリティを無効化することはお薦めしません。

セキュリティを一時的に無効化するには、コマンドラインからstartwlevs.cmdまたはstartwlevs.shスクリプトを-disablesecurity引数付きで実行します。例:

startwlevs.cmd -disablesecurity

注意:

サンプル・ドメインの一部では、startwlevs.cmdおよびstartwlevs.shのスクリプトにはすでに-disablesecurity引数が含まれています。そのようなスクリプトをコマンドライン上で-disablesecurityを使用して実行すると、「無効な引数」エラーによって失敗します。