この章は、Oracle Event Processingのセキュリティの構成方法を、セキュリティ・プロバイダの構成、SSLおよびFIPS、HTTPS専用接続の構成とセキュリティ監査を含めて説明します。
この章の内容は次のとおりです。
Oracle Event Processingには、データ・ストリームとイベント・ストリーム、構成、ユーザー名とパスワードのデータ、セキュリティ・ポリシー情報、リモート資格証明、ネットワーク・トラフィックなどのサーバー・リソースを保護する様々なメカニズムが用意されています。
Oracle Event Processingサーバーのセキュリティを構成するには、次の一般的なタスクを考慮してください。
Java SEのセキュリティを構成します。
10.1.1項「Java SEセキュリティ」を参照してください。
認可および認証用のセキュリティ・プロバイダを構成します。
次を参照してください。
パスワードの強度を構成します。
10.4項「パスワード強度の構成」を参照してください。
SSLおよびFIPSを構成します。
次を参照してください。
HTTPS専用接続を構成します。
Oracle Event Processingサーバーの個々のサービスのセキュリティを構成します。
詳細は、次を参照してください:
Java SEのセキュリティ・ポリシーは、次のものに対して定義できます。
Oracle Event Processingを構成するすべてのバンドル
サーバーの起動
Oracle Event ProcessingサーバーのJetty HTTPサーバーにデプロイされたWebアプリケーション
Oracle Event Processing Visualizer
詳細は、次を参照してください:
Oracle Event Processingは、認証、認可、ロール・マッピングおよび資格証明マッピング用の様々なセキュリティ・プロバイダをサポートしています。
Oracle Event Processingは次のセキュリティ・プロバイダをサポートしています。
ファイルベース: すぐに使用できるデフォルトのセキュリティ・プロバイダ。このタイプのプロバイダは、オペレーティング・システムのファイルを使用することで、ユーザー、パスワード、グループ情報などのセキュリティ・データにアクセスします。認証(ユーザーのアイデンティティを証明または検証するプロセス)および認可(ユーザーのセキュリティ・ロールとリクエストされたOracle Event Processingリソースに割り当てられたセキュリティ・ポリシーに基づいて、Oracle Event Processingリソースへのユーザーのアクセスを許可または拒否するプロセス)の両方を提供します。認証では通常、ユーザー名とパスワードの組合せが必要となります。
LDAP - LDAP (Lightweight Data Access Protocol)サーバーを使用してユーザー、パスワード、およびグループ情報にアクセスするプロバイダ。認証のみを提供します。
DBMS - データベース管理システム(DBMS)を使用してユーザー、パスワード、およびグループ情報にアクセスするプロバイダ。認証と認可の両方を提供します。
デフォルトのファイルベースのセキュリティ・プロバイダを使用することにした場合、ドメインの構成を追加で行う必要は一切ありません。必要な構成はすべて構成ウィザードによって実行されます。ただし、LDAPまたはDBMSプロバイダを使用する場合は、追加の構成を実行する必要があります。10.3項「セキュリティ・プロバイダの構成」を参照してください。
セキュリティ・プロバイダの構成が完了すると、Oracle Event Processing Visualizerを使用して、新しいユーザーを追加したり、それらのユーザーをグループに割り当てたり、グループをロールにマッピングしたりできるようになります。10.1.3項「ユーザー、グループおよびロール」を参照してください。
Oracle Event Processingは、ロールベースの認可制御を使用して、Oracle Event Processing Visualizerおよびwlevs.Admin
コマンドライン・ユーティリティを保護します。すぐに使用できるデフォルトのセキュリティ・グループが各種存在しています。ユーザーを様々なグループに追加することにより、ユーザーへの様々なロールの割当ができます。
Oracle Event Processing Visualizer、wlevs.Admin
、またはJMXを使用して、Oracle Event Processingインスタンスに接続する任意のカスタム管理アプリケーションを使用する管理者は、ロールベースの認可を使用してアクセス権限を取得します。
また、ロールベースの認可を使用して、HTTPパブリッシュ/サブスクライブ・サーバーへのアクセスを制御することもできます。
ロールには次の2種類が存在します。
アプリケーション・ロール: アプリケーション・ロールは、Oracle Event Processingサーバーにデプロイ済の様々なOracle CQLアプリケーションにアクセスする権限をユーザーに付与します。アプリケーション・ロールを作成し、それらをOracle Event Processingが提供するタスク・ロールに関連付けることができます。
デフォルトでは、管理者ユーザーはすべてのアプリケーションにアクセスでき、非管理ユーザーはどのアプリケーションにもアクセスできません。ある非管理ユーザーがアプリケーションにアクセスできるようにするには、管理ユーザーが関連するアプリケーション・ロールをそのユーザーに付与する必要があります。
タスク・ロール: タスク・ロールは、自身のアプリケーション・ロールによってアクセスが認可されたアプリケーションで様々なタスクを実行する権限を、ユーザーに付与します。Oracle Event Processingには、表10-1で説明するデフォルトのタスク・ロールが用意されています。
Oracle Event Processing Visualizer、またはwlevs.Admin
の使用時に正常に認証されたユーザーにはそのグループ・メンバーシップに基づいてロールが割り当てられますが、その後の管理機能へのアクセスは、そのユーザーが保持するロールに従って制限されます。匿名ユーザー(認証されていないユーザー)は、Oracle Event Processing Visualizerやwlevs.Admin
には一切アクセスできません。
管理者が構成ウィザードを使用して新しいドメインを作成する際には、wlevsAdministrators
グループの一部となる管理者ユーザーを入力します。デフォルトでは、この情報はファイルベースのプロバイダ・のファイルストア内に格納されます。パスワードは、SHA-256アルゴリズムを使用してハッシュされます。デフォルトの管理者ユーザーの名前はwlevs
、パスワードはwlevs
になります。
表10-1では、新しいドメインの作成直後に使用可能となるデフォルトのOracle Event Processingタスク・ロールと、それらのロールに割り当てられるグループの名前について説明します。
表10-1 デフォルトのOracle Event Processingタスク・ロールおよびグループ
タスク・ロール | グループ | 権限 |
---|---|---|
|
wlevsAdministrators |
前述のロールが持つすべての権限に加えて、次の権限があります。
|
|
wlevsApplicationAdmins |
すべてのOperator権限に加えて、デプロイ済アプリケーションの構成を更新する権限があります。 |
|
wlevsBusinessUsers |
すべてのOperator権限に加えて、デプロイ済アプリケーションのプロセッサに関連付けられたOracle CQLおよびEPLルールを更新する権限も持ちます。 |
|
wlevsDeployers |
すべてのOperator権限に加えて、デプロイ済アプリケーションをデプロイ、アンデプロイ、更新、一時停止、および再開する権限があります。 |
|
wlevsMonitors |
すべてのOperator権限に加えて、診断プロファイルの作成やイベントの記録(および再生)などの診断機能を有効または無効にする権限があります。 |
|
wlevsOperators |
すべてのサーバー・リソース、サービス、およびデプロイ済アプリケーションへの読取り専用アクセスがあります。 |
ドメインが作成されると、管理者はOracle Event Processing Visualizerを使用してグループを作成し、それを1つ以上のロールに関連付けることが可能です。各ロールによってアプリケーションへのアクセス権が付与されます。ユーザーをグループに割り当てるとき、グループに関連付けるロールによって、ユーザーにはアプリケーションへアクセスする権限が付与されます。
Oracle Event Processing Visualizerを使用してユーザー、グループおよびロールを変更する手順については、次を参照してください。
『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のユーザーの管理に関する項
『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のグループの管理に関する項
『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のロールの管理に関する項
詳細は、次を参照してください:
Oracle Event Processingには一方向のSecure Sockets Layer (SSL)が用意されていますが、これは、Oracle Event Processing VisualizerとOracle Event Processingサーバー・インスタンス間、マルチサーバー・ドメインのOracle Event Processingサーバー・インスタンス間、およびwlevs.Admin
コマンドライン・ユーティリティとOracle Event Processingサーバー・インスタンス間のネットワーク・トラフィックを保護するためのものです。
Federal Information Processing Standards (FIPS)の認定を受けた擬似乱数ジェネレータをSSLで使用するように、Oracle Event Processingを構成できます。
詳細は、次を参照してください:
Oracle Coherence: 7.3項「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保講」
Oracle Event Processingネイティブ・クラスタリング: A.4項「SSLモードでのwlevs.Adminユーティリティの実行」
National Institute of Standards and Technology (NIST)は、連邦政府のコンピュータ・システムの標準を作成します。NISTはこれらの標準を、政府全体で使用できるようにFederal Information Processing Standards (FIPS)として発行します。
Oracle Event Processingは、com.rsa.jsafe.provider.JsafeJCE
セキュリティ・プロバイダを使用してFIPSをサポートします。このプロバイダを使用すれば、FIPSの認定を受けた擬似乱数ジェネレータをSSLで使用するようにOracle Event Processingを構成できます。
詳細は、次を参照してください:
SSLの構成後、HTTPSポート上でクライアント・リクエストのみを受信するようにOracle Event Processingサーバーを構成できます。10.7項「Oracle Event ProcessingサーバーのHTTPS専用接続の構成」を参照してください。
オプションで、セキュリティを無効化できます。10.11項「セキュリティの無効化」を参照してください。
Oracle Event Processingには、セキュリティ管理を単純化するためのコマンドライン・ユーティリティが各種用意されています。コマンドライン・ユーティリティに加え、Oracle Event Processing Visualizerを使用して多くのセキュリティ・タスクを実行できます。
詳細は、次を参照してください:
『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のセキュリティ・タスクに関する項
Oracle Event Processingでは様々なタスクを実行できるように、次のコマンドライン・ユーティリティが用意されています。
wlevs.Admin
: Oracle Event Processingを管理し、特にOracle CQLおよびEPLプロセッサのルールを動的に構成したり、アプリケーションのイベント待機時間やスループットを監視するためのコマンドライン・インタフェース。
詳細は、付録A「wlevs.Adminコマンドライン・リファレンス」を参照してください。
Deployer
: Oracle Event Processingアプリケーションをデプロイするためのコマンドラインベースの操作を管理者および開発者に対して提供する、Javaベースのデプロイメント・ユーティリティ。
詳細は、付録B「デプロイヤ・コマンドライン・リファレンス」を参照してください。
cssconfig
: パスワード・ポリシーを使用するセキュリティ構成ファイル(security.xml
)を生成するためのコマンドライン・ユーティリティ。
詳細は、付録C「cssconfigコマンドライン・ユーティリティ」を参照してください。
encryptMSAConfig
: XMLファイル内のpassword
要素に指定されたクリアテキスト・パスワードを暗号化するための暗号化コマンドライン・ユーティリティ。
詳細は、付録C「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。
各ユーティリティで、次の3つの方法を使用してユーザー資格証明(ユーザー名とパスワード)を指定できます。
コマンドライン上で-user
や-password
などのオプションを使用します。
対話形式を使用して、常にコマンド・ライン・ユーティリティで資格証明のプロンプトが表示されるようにします。
ユーザー資格証明が格納されているファイル・ストアを指定します。ファイル・ストア自体もパスワードで保護します。
本番環境では、1番目のオプション(コマンドライン上でユーザーの資格証明を指定する方法)は決して使用せず、2番目および3番目のオプションのみを使用します。
対話モード(コマンドライン・ユーティリティが資格証明の入力を求める方法)を使用する場合には、ローカル・コンピュータに適したterminalio
ネイティブ・ライブラリがCLASSPATH
に含まれていることを必ず確認し、ユーザーの資格証明の入力時にその情報が画面上にエコーされないようにしてください。Oracle Event Processingにはこの目的のために一連の標準ネイティブ・ライブラリが含まれていますが、ユーザーが必要とするライブラリが含まれていない可能性があります。
構成ウィザードを使用して新しいドメインを作成する際には、管理者のユーザーおよびパスワードを指定する他、ドメイン・アイデンティティ・キーストアのパスワードも指定します。このユーザーは自動的にwlevsAdministrators
グループに追加されます。デフォルトでは、セキュリティ構成はすべて、ファイルベースのプロバイダを使用して格納されます。
Oracle Event Processingの例はすべて、ユーザー名wlevs
およびパスワードwlevs
を持つ管理者を使用するように構成されます。新しいドメインを作成する場合には、この管理者の名前とパスワードを指定します。
HelloWorld例ではデフォルトで、セキュリティは無効化されます。これは、任意のユーザーがパスワードを入力しなくてもサーバーを起動したり、アプリケーションをデプロイしたり、管理ツール(wlevs.Admin
)のすべてのコマンドを実行したりできることを意味します。
FX例およびAlgoTrading例ではセキュリティが有効化されます。どちらの例でも、パスワードがwlevs
のユーザーwlevs
が、完全な管理者権限を持つOracle Event Processing管理者として構成されます。これらの例に対するサーバーを起動するスクリプトは、適切な引数を使用してこのユーザー名およびパスワードをjava
コマンドに渡します。デプロイヤまたはwlevs.Admin
ユーティリティを使用する場合も、適切な引数を使用してこのユーザー名/パスワードのペアを渡す必要があります。
詳細は、10.1.8項「コマンドライン・ユーティリティ使用時のユーザー資格証明の指定」を参照してください。
Java SEプラットフォームには標準ベースで相互運用可能なセキュリティ・アーキテクチャが定義されていますが、これは動的で拡張可能なものとなっています。暗号化、認証および認可、公開鍵インフラストラクチャなどのセキュリティ機能が組み込まれています。
Oracle Event Processingは、次のセキュリティ・ポリシーを適用することにより、Java SEセキュリティをサポートします。
policy.xml
: Oracle Event Processingを構成するすべてのバンドルのセキュリティ・ポリシーを定義します。1番目のバンドル・セットはサーバー関連バンドルのポリシーを定義し、2番目のバンドル・セットはアプリケーション・バンドルのポリシーを定義します。
security.policy
: サーバーの起動およびJetty HTTPサーバーにデプロイされたWebアプリケーションのセキュリティ・ポリシーを定義します。このファイルはOracle Event Processing Visualizer Webアプリケーションのポリシーも定義します。
前述のファイルのサンプルは製品に付属しており、ORACLE_CEP_HOME
/ocep_11.1/utils/security
にあります。ここで、ORACLE_CEP_HOME
は、Oracle Event Processingをインストールしたディレクトリ(/oracle_home
など)を意味します。
Oracle Event Processingでは、Java SEのすべてのセキュリティ機能を有効化できます。
詳細は、10.1.1項「Java SEセキュリティ」を参照してください。
Oracle Event ProcessingサーバーのJava SEセキュリティを構成するには:
Oracle Event Processingサーバーが現在実行中である場合は、停止します。
policy.xml
およびsecurity.policy
を次のようにコピーします。
コピー元: ORACLE_CEP_HOME
/ocep_11.1/utils/security
コピー先: DOMAIN_DIR
/
servername
/config
ここで、ORACLE_CEP_HOME
はOracle Event Processingをインストールしたディレクトリ(/oracle_home
など)を示し、DOMAIN_DIR
はメインのOracle Event Processingインストール・ディレクトリを示し、servername
はサーバー名示します(/oracle_cep/user_projects/domains/mydomain/myserver/config
など)。
必要に合せて2つのセキュリティ・ポリシー・ファイルを編集します。
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
Oracle Event Processingサーバーの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>
変更を有効にするために、Oracle Event Processingサーバーを再起動します。
セキュリティ・プロバイダは、認証または認可(あるいはその両方)を実行します。
Oracle Event Processingサーバーでは、ファイルベース、LDAP、DBMSの各セキュリティ・プロバイダがサポートされます。
ファイルベースのセキュリティ・プロバイダは、構成ウィザードが構成するデフォルトのセキュリティ・プロバイダです。ファイルベースのセキュリティ・プロバイダを使用する場合、追加の構成は必要ではありません。
LDAPセキュリティ・プロバイダは認証のみをサポートします。
DBMSセキュリティ・プロバイダは認証および認可の両方をサポートします。
この項では次の内容について説明します。
詳細は、10.1.2項「セキュリティ・プロバイダ」を参照してください。
次の手順では、LDAPセキュリティ・プロバイダを認証用に、DBMSプロバイダを認可用に構成する方法について説明します。
警告: LDAPを使用して認証を行う場合、Oracle Event Processing Visualizerを使用してユーザーのパスワードは変更できますが、ユーザーやグループの追加や削除を行うことはできません。 |
LDAPプロバイダを使用して認証を構成し、DBMSプロバイダを使用して認可を構成するには:
コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』の開発環境の設定に関する項を参照してください。
ORACLE_CEP_HOME
\ocep_11.1\bin
ディレクトリをPATH
環境変数に追加します。ここで、ORACLE_CEP_HOME
はメインのOracle Event Processingインストール・ディレクトリ(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)
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
任意のテキスト・エディタを使用し、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サーバー構成を指定するプロパティを更新します。
その他すべてのプロパティはデフォルト値のままにします。
元に戻す必要が生じた場合のために、既存のsecurity.xml
ファイルのバックアップ・コピーを取っておきます。
prompt> copy security.xml security.xml_save
次の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コマンドライン・ユーティリティ」を参照してください。
次のように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
: 認可に関する表をすべてドロップします。
ステップ4でデータベース・ストアとして指定したデータベースに対し、次のSQLスクリプトを実行します。
atz_create.sql
10.1.3項「ユーザー、グループおよびロール」で説明されているデフォルト・グループおよびドメイン作成時に指定した管理者ユーザーを追加して、LDAPサーバーを構成します。デフォルトでは、wlevs
というユーザーです。
詳細は、LDAPサーバーのドキュメントを参照してください。
オプションで、新しいsecurity.xml
ファイル内でパスワードの強度を構成します。
10.4項「パスワード強度の構成」を参照してください。
次の手順では、認証および認可の両方に使用するようにDBMSセキュリティ・プロバイダを構成する方法について説明します。
DBMSプロバイダを使用して認証および認可の両方を構成するには:
コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』の開発環境の設定に関する項を参照してください。
ORACLE_CEP_HOME
\ocep_11.1\bin
ディレクトリをPATH
環境変数に追加します。ここで、ORACLE_CEP_HOME
はメインのOracle Event Processingインストール・ディレクトリ(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)
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
元に戻す必要が生じた場合のために、既存のsecurity.xml
ファイルのバックアップ・コピーを取っておきます。
prompt> copy security.xml security.xml_save
任意のテキスト・エディタを使用し、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
その他すべてのプロパティはデフォルト値のままにします。
次の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コマンドライン・ユーティリティ」を参照してください。
次のように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
: 認可に関する表をすべてドロップします。
構成ウィザードを使用してドメインを作成する際に、デフォルトの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');
ステップ4でデータベース・ストアとして指定したデータベースに対し、次のSQLスクリプト・ファイルを記載した順番で実行します。
atn_create.sql
atn_init.sql
atz_create.sql
オプションで、新しいsecurity.xml
ファイル内でパスワードの強度を構成します。
10.4項「パスワード強度の構成」を参照してください。
パスワードの強度は、認証資格証明としてのパスワードの効果を表す尺度です。パスワードの強度をどのように構成するかによって、ユーザーが指定できるパスワードのタイプが決定します。たとえば、パスワードにユーザー名を含めることができるかどうか、パスワードの最小限の長さ、パスワードに少なくとも何個の数字を含めるかなどを構成します。
Oracle Event Processingの認証で使用されるパスワードの強度を構成するには、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 Event Processingサーバー・インスタンスを再起動する必要があります。
表10-2 <password-validator>の子要素
子要素 | 説明 | デフォルト値 |
---|---|---|
|
|
|
|
|
|
|
パスワードの最大文字数を指定します。 0の値は制限なしを意味します。 この要素の有効な値は、0に等しいかそれより大きい整数です。 |
50 |
|
パスワードの最小文字数を指定します。 この要素の有効な値は、0に等しいかそれより大きい整数です。 |
6 |
|
パスワード内で同じ文字が出現できる最大回数を指定します。たとえば、この要素を2に設定した場合、パスワード 0の値は制限なしを意味します。 この要素の有効な値は、0に等しいかそれより大きい整数です。 |
0 |
|
パスワード内で許可される、連続する同一文字の最大数を指定します。たとえば、この要素を2に設定した場合、パスワード 0の値は制限なしを意味します。 この要素の有効な値は、0に等しいかそれより大きい整数です。 |
0 |
|
パスワードに含める必要があるアルファベット文字の最小文字数を指定します。 0の値は制限なしを意味します。 この要素の有効な値は、0に等しいかそれより大きい整数です。 |
1 |
|
パスワードに含める必要がある数字の最小文字数を指定します。 0の値は制限なしを意味します。 この要素の有効な値は、0に等しいかそれより大きい整数です。 |
1 |
|
パスワードに含める必要がある小文字の最小文字数を指定します。 0の値は制限なしを意味します。 この要素の有効な値は、0に等しいかそれより大きい整数です。 |
0 |
|
パスワードに含める必要がある大文字の最小文字数を指定します。 0の値は制限なしを意味します。 この要素の有効な値は、0に等しいかそれより大きい整数です。 |
0 |
|
パスワードに含める必要のある非英数字の最小数を指定します。非英数字としては、 0の値は制限なしを意味します。 この要素の有効な値は、0に等しいかそれより大きい整数です。 |
0 |
Oracle Event Processingは、一方向のSecure Sockets Layer (SSL)を使用して次の各要素間のネットワーク・トラフィックを保護します。
Oracle Event Processing Visualizerを実行しているブラウザと、Oracle Event Processing Visualizerが使用するデータサービス・アプリケーションをホストしているOracle Event Processingインスタンスとの間。
wlevs.Admin
コマンドライン・ユーティリティとOracle Event Processingインスタンスとの間。
A.4項「wlevs.AdminユーティリティをSSLモードで実行」を参照してください。
マルチ・サーバー・ドメインのメンバー・サーバー間。
サーバーのconfig.xml
ファイル内でSSLを構成します。構成ウィザードを使用してOracle Event Processingサーバーを作成した場合、そのサーバーのconfig.xml
にはデフォルトのSSL構成が自動的に含められます。
この項では次の内容について説明します。
詳細は、10.1.4項「SSL」を参照してください。
この項では、Oracle Event ProcessingでのSSLの構成方法について説明します。
SSLを手動で構成するには:
構成ウィザードを使用してドメインを作成します。
次を参照してください。
任意のXMLエディタを使用して、Oracle Event Processingサーバーのconfig.xml
ファイルを開きます。
デフォルトでは、構成ウィザードはconfig.xml
ファイルをORACLE_CEP_HOME
/user_projects/domains/
DOMAIN_DIR
/
servername
/config
ディレクトリ内に作成します。ここで、ORACLE_CEP_HOME
はOracle Event Processingのインストール・ディレクトリ(d:/oracle_cep
など)を示し、DOMAIN_DIR
はドメインのディレクトリ(my_domain
など)を示します。servername
はサーバー・インスタンスのディレクトリ(server1
など)を示します。
詳細は、1.3.1項「Oracle Event Processingサーバー構成ファイル」を参照してください。
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 Event Processingサーバーが起動しません。 |
evsidentity.jks
には自己署名証明書が含まれています。必要であれば、ユーザー独自の証明書ファイルを作成し、evsidentity.jks
ファイルを置き換えるか、config.xml
ファイルのkey-store
要素を更新します。
注意: 本番環境では、システム管理者は、デフォルトの自己署名証明書をCA署名証明書で置き換える必要があります。 |
キーストアを自分で作成する方法の詳細は、10.5.2項「手動でキーストアを作成する方法」を参照してください。
enforce-fips
要素の詳細は、10.6項「Oracle Event ProcessingサーバーのFIPSの構成」を参照してください。
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
です。
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を参照してください)。
config.xml
ファイルを保存して閉じます。
Oracle Event Processingサーバーが実行中の場合は再起動します。
デフォルトでは、構成ウィザードは、evsidentity.jks
という名前のデフォルトのキーストア証明書ファイルをDOMAIN_DIR
/
servername
/ssl
ディレクトリ内に作成します。そのパスワードは、構成ウィザードを使用してサーバーを作成する際に入力したパスワードと同じになります。オプションでは、手動で独自のキーストアを構成できます。
詳細は、次を参照してください:
キーストアを手動で作成するには:
次のようにJDKのkeytoolコマンドを使用して、キーストアを生成します。
keytool -genkey -alias evsidentity -keyalg RSA -validity 10958 -keystore evsidentity.jks -keysize 1024
要求されたら、次のようにキーストアのパスワードを入力します。
Enter keystore password:
要求されたら、次のようにキーストアの属性を入力します。
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
次のように鍵のパスワードを要求されたら、パスワードは入力せず、RETURN
を押します。
Enter key password for <evsidentity> (RETURN if same as keystore password):
注意: 証明書秘密鍵のパスワードがアイデンティティ・キーストアのパスワードと同じでないと、Oracle Event Processingサーバーが起動しません。 |
任意のXMLエディタを使用して、Oracle Event Processingサーバーのconfig.xml
ファイルを開きます。
デフォルトでは、構成ウィザードはconfig.xml
ファイルをORACLE_CEP_HOME
/user_projects/domains/
DOMAIN_DIR
/
servername
/config
ディレクトリ内に作成します。ここで、ORACLE_CEP_HOME
はOracle Event Processingのインストール・ディレクトリ(d:/oracle_cep
など)を示し、DOMAIN_DIR
はドメインのディレクトリ(my_domain
など)を示します。servername
はサーバー・インスタンスのディレクトリ(server1
など)を示します。
詳細は、1.3.1項「Oracle Event Processingサーバー構成ファイル」を参照してください。
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
引数からのもの)です。
config.xml
ファイルを保存して閉じます。
encryptMSAConfig
ユーティリティを使用して、config.xml
ファイルのkey-store-pass
要素のpassword
子要素に含まれるクリアテキスト・パスワードを暗号化します。
C.2項「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。
次の手順は、マルチサーバー・ドメイン内で、Oracle Event Processing Visualizerのデータサービス・アプリケーションをホストしているサーバーと別のサーバーとの間で一方向のSSLを構成する方法を示したものです。
この手順では、Oracle Event Processing Visualizerのデータサービス・アプリケーションをホストしているサーバーの名前はserver1
、他方のサーバーの名前はserver2
であり、どちらも/oracle_cep/user_projects/domains/mydomain
ディレクトリにあるものと仮定しています。必要であれば、ドメイン内の他のサーバーについてもこの手順を繰り返してください。
マルチサーバー・ドメイン内のサーバー間で送信されるメッセージを保護する方法については、次を参照してください。
Oracle Coherence: 5.3項「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」
Oracle Event Processingネイティブ・クラスタリング: 7.3項「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」
マルチサーバー・ドメインでOracle Event Processing Visualizerを起動する方法の詳細は、『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle Event Processing Visualizerを起動する方法に関する項を参照してください。
マルチサーバー・ドメインで、Oracle Event Processing Visualizerで使用するためのSSLを構成するには:
ドメイン内の2つのサーバーでSSLが構成されていることを確認します。
構成ウィザードを使用してサーバーを作成した場合、SSLはデフォルトで構成されています。
デフォルト構成を変更する方法および詳細は、10.5.1項「手動でSSLを構成する方法」を参照してください。
server2
を起動します。
コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』の開発環境の設定に関する項を参照してください。
次のように、server1
ディレクトリのssl
サブディレクトリに移動します。
prompt> cd /oracle_cep/user_projects/domains/mydomain/server1/ssl
次のコマンドを指定して、server2
の証明書を含むserver1
のトラスト・キーストアを生成します(読みやすくするために分割してありますが、実際にはコマンドは1行にする必要があります)。
prompt> java -classpathORACLE_CEP_HOME
\ocep_11.1\common\lib\evspath.jar;ORACLE_CEP_HOME
\ocep_11.1\utils\security\wlevsgrabcert.jar com.bea.wlevs.security.util.GrabCerthost
:secureport
-alias=alias
truststorepath
説明
ORACLE_CEP_HOME
は、Oracle Event Processingのインストール・ディレクトリ(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コマンドライン・ユーティリティ」を参照してください。
要求されたら、次のようにOracle Event Processing管理者のパスワードを入力します。
Please enter the Password for the supplied user : wlevs
要求されたら、次のように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]
server1
のconfig.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/
など)にあります。
encryptMSAConfig
ユーティリティを使用して、config.xml
ファイルのtrust-store-pass
要素のpassword
子要素に含まれるクリアテキスト・パスワードを暗号化します。
C.2項「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。
server1
を起動します。
Federal Information Processing Standards (FIPS)の認定を受けた擬似乱数ジェネレータを使用するように、Oracle Event Processingサーバーを構成できます。
詳細は、10.1.5項「FIPS」を参照してください。
Oracle Event ProcessingサーバーのFIPSを構成するには:
Java SEのセキュリティを構成します。
10.2項「Oracle Event ProcessingサーバーのJava SEセキュリティの構成」を参照してください。
SSLを構成します。
10.5項「セキュア・ネットワーク・トラフィックへのSSLの構成」を参照してください。
com.bea.core.jsafejcefips_version.jarをコピーします。
コピー元: ORACLE_CEP_HOME
/ocep_11.1/utils/security
コピー先: JRE_HOME
/jre/lib/ext
ここで、ORACLE_CEP_HOME
はOracle Event Processingをインストールしたディレクトリを示し、JRE_HOME
はユーザーのJRockit JREを含むディレクトリを示します。
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をインストールした先のディレクトリを示します。
Oracle Event ProcessingとともにインストールされたJRockit JDKを使用する場合、com.bea.core.jsafejcefips_version.jarをORACLE_CEP_HOME/JROCKIT_HOME
/jre/lib/ext
ディレクトリにコピーします。
ここで、ORACLE_CEP_HOME
は、Oracle Event Processingサーバーをインストールしたディレクトリ(d:\oracle_cep
など)です。
Oracle Event Processingサーバーが現在実行中である場合は、停止します。
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-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>
変更を有効にするために、Oracle Event Processingサーバーを再起動します。
この項では、HTTPS接続のみが許可されるようにサーバーをロック・ダウンする方法について説明します。
Oracle Event ProcessingサーバーのHTTPS専用接続を構成するには:
サーバーのSSLが構成されていることを確認します。
詳細は、10.5項「セキュア・ネットワーク・トラフィックへのSSLの構成」を参照してください。
サーバーの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>
マルチサーバー・ドメインの場合には、メンバー・サーバー間でSSLが構成されていることを確認します。
詳細は、10.5.3項「Oracle Event Processing Visualizer用のマルチサーバー・ドメインでSSLを構成する方法」を参照してください。
基本的なセキュリティ・タスク(Java SEセキュリティ、セキュリティ・サービス・プロバイダ、SSLの構成など)が完了したら、Oracle Event Processingサーバーが提供する様々なサービスに固有のセキュリティ詳細を構成できます。
この項では次の内容について説明します。
Oracle Event Processingでは、HTTPサーブレットと静的リソースをデプロイするJava WebサーバーとしてJetty(http://www.mortbay.org
/を参照してください)がサポートされています。
次のセキュリティ・タスクはJettyの構成に影響を与えます。
Jettyの詳細は、第11章「Oracle Event Processing用のJettyの構成」を参照してください。
JMXを使用してOracle Event Processingサーバーにアクセスするクライアントは、Oracle Event Processingのロールベースの認証によって処理されます。
詳細は、次を参照してください:
『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のグループの管理に関する項
『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のユーザーの管理に関する項
JMXの詳細は、第12章「Oracle Event Processing用のJMXの構成」を参照してください。
構成ウィザードを使用してdata-source
を新しいパスワードで更新する場合、構成ウィザードによってパスワードの暗号化が実行されます。
data-source
要素を追加または変更することでconfig.xml
ファイルを手動で更新する場合には、パスワードをプレーン・テキストで入力した後、暗号化ユーティリティencryptMSAConfig
を使用してそのパスワードを暗号化します。
例10-13に、config.xml
ファイルのdata-source
要素を示します。ここでは、properties
要素内で新しいプレーン・テキスト・パスワードのsecret
がpassword
という名前で指定されています。
例10-13 暗号化後のOracle Event Processing 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 Event Processing 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 Event Processing用のJDBCの構成」を参照してください。
少なくとも1つのHTTPパブリッシュ/サブスクライブ・サーバー・チャネルを構成した後、Oracle Event Processing Visualizerを使用して、ロールベースの認証を適用して個々のHTTPパブリッシュ/サブスクライブ・サーバー・チャネルへのアクセスを制御できます。
詳細は、次を参照してください:
『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のHTTPパブリッシュ/サブスクライブ・チャネルのセキュリティの構成に関する項
Oracle Event Processing Visualizerは、イベント処理ネットワークの作成および構成に使用できるAdobe Flashベースのユーザー・インタフェースを提供します。Oracle Event Processing Visualizerの最も柔軟性の高いデフォルトのパフォーマンスを提供するために、ソフトウェアはあらゆるドメインからVisualizerデータにアクセスできるように構成された信頼レベルでインストールされます。この信頼レベルがデプロイメントにとって適切でないと判断される場合、アクセスを制限するために、アプリケーションのFlashクロスドメイン・ポリシー・ファイルを編集できます。
Flashクロスドメイン・ポリシーにより許可されるドメインを確認し、それらのドメインの意図とセキュリティの姿勢の両方を、アプリケーションが完全に信頼するのが適切かどうかを判断する必要があります。
AdobeのWebサイトで、クロスドメイン・ポリシーの編集の詳細な説明を参照できます。Adobeクロスドメイン・ポリシー・ファイルの使用の詳細は、AdobeのセキュリティWebサイトを参照してください。
クロスドメイン・セキュリティの更新には、Oracle Event Processing Visualizer JARファイルを開くことが含まれます。手順の概要は次のとおりです。
Oracle Event Processing Visualizer JARファイルを探します。デフォルトでは、Oracle Event Processingインストール内の次の場所にあります。
CEP_HOME/modules/com.bea.wlevs.visualizer.jmxhttpadapter_version.jar
たとえば、Windowsインストールでは次のようになります:
C:\Oracle\Middleware\ocep_11.1\modules\com.bea.wlevs.visualizer.jmxhttpadapter_11.1.1.6_0.jar
JARファイルを展開してcrossdomain.warを探します。
crossdomain.warを展開してcrossdomain.xmlを探します。
crossdomain.xmlを編集してクロスドメイン・セキュリティの要件を反映させます。
crossdomain.warおよびOracle Event Processing Visualizer JARファイルを再パッケージ化します。
Oracle Event Processingには、セキュリティ関連のアクティビティをロギングするセキュリティ監査プログラムが提供されています。
セキュリティ監査プログラムのデフォルトのロギング先は、DOMAIN_DIR
/
servername
/legacy-rootdir/servers/legacy-server-name/logs/DefaultAuditRecorder.log
ファイルです。ここで、DOMAIN_DIR
はドメインのメイン・ディレクトリ(d:\oracle_cep\user_projects\domains\mydomain
など)を示し、servername
はサーバー名を示します。
デフォルトで、Oracle Event Processingセキュリティ監査プログラムはセキュリティ上のエラーまたは障害のみをロギングします。これにより、セキュリティ監査プログラムのログ・ファイルを管理可能なサイズに保ちやすくなります。
オプションで、Oracle Event Processingセキュリティ監査プログラムが情報をロギングするレベルを構成できます。
詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のWebLogic監査プロバイダの構成に関する項を参照してください。
セキュリティ監査プログラムのロギングを構成するには:
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
任意のテキスト・エディタを使用して、security.xml
ファイルを編集します。
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>
必要に応じてsec:auditor
要素を変更します。
wls:rotation-minutes
: 何分待ってから新しいDefaultAuditRecorder.log
ファイルを作成するかを指定します。指定された時刻になると、監査ファイルが閉じられ、新しいファイルが作成されます。DefaultAuditRecorder.YYYYMMDDHHMM.log
という名前のバックアップ・ファイル(DefaultAuditRecorder.200405130110.log
など)が同じディレクトリ内に作成されます。
wls:severity
: 表10-3で示すように、Oracle Event Processingサーバーに適した重大度レベルを指定します。Oracle Event Processingのセキュリティ監査プログラムは、指定された重大度のセキュリティ・イベントだけでなく、それより高い重大度ランク値を持つイベントもすべて監査します。たとえば、重大度レベルをERROR
に設定した場合、Oracle Event Processingのセキュリティ監査プログラムは、重大度レベルERROR
、SUCCESS
およびFAILURE
のセキュリティ・イベントを監査します。
表10-3 Oracle Event Processingのセキュリティ監査プログラムの重大度レベル
イベントの重大度 | ランク |
---|---|
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
あるいは、例10-15で示すように、wls:severity
のレベルをCUSTOM
に設定した後、次の子要素の1つ以上を使用して特定の重大度レベルを監査対象として有効化(true
に設定)または無効化(false
に設定)することもできます。
wls:information-audit-severity-enabled
: 重大度
値がCUSTOM
に設定された状態でこの子要素をtrueに設定すると、重大度レベルINFORMATION
のイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。
wls:warning-audit-severity-enabled
: 重大度
値がCUSTOM
に設定された状態でこの子要素をtrueに設定すると、重大度レベルWARNING
のイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。
wls:error-audit-severity-enabled
: 重大度
値がCUSTOM
に設定された状態でこの子要素をtrueに設定すると、重大度レベルERROR
のイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。
wls:success-audit-severity-enabled
: 重大度
値がCUSTOM
に設定された状態でこの子要素をtrueに設定すると、重大度レベルSUCCESS
のイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。
wls:failure-audit-severity-enabled
: 重大度
値がCUSTOM
に設定された状態でこの子要素をtrueに設定すると、重大度レベルFAILURE
のイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。
security.xml
ファイルを保存して閉じます。
変更を有効にするために、Oracle Event Processingサーバーを再起動します。
Oracle Event Processingサーバーのセキュリティを完全に無効化できます。開発環境ではこの構成が適切である可能性もありますが、本番環境でセキュリティを無効化することはお薦めしません。
セキュリティを一時的に無効化するには、コマンドラインからstartwlevs.cmd
またはstartwlevs.sh
スクリプトを-disablesecurity
引数付きで実行します。例:
startwlevs.cmd -disablesecurity
注意: サンプル・ドメインの一部では、 |