プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Event Processingの管理
12c リリース(12.1.3)
E57532-04
目次へ移動
目次

前
前へ
次
次へ

9 セキュリティ

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

この章の構成は、次のとおりです。

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

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には、表9-1で説明するデフォルトのタスク・ロールが用意されています。

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

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

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

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

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

Admin

wlevsAdministrators

他のロールが持つすべての権限と、次の権限があります。

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

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

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

すべてのJMX getsetstartstopおよびdeploy操作。

次のMBeanでのすべてのsetおよびinvokeメソッド。

CQLProcessorMBeanCQLProcessorRuntimeMBeanRecordPlaybackMBeanChannelMBeanProfileMBeanProfileManagerBean

ApplicationAdmin

wlevsApplicationAdmins

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

ChannelMBeanでのすべてのsetおよびinvokeメソッド。

BusinessUser

wlevsBusinessUsers

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

次のMBeanでのすべてのsetおよびinvokeメソッド。

CQLProcessorMBeanCQLProcessorRuntimeMBean

Deployer

wlevsDeployers

すべてのOperator権限およびデプロイ済アプリケーションをデプロイ、アンデプロイ、更新、一時停止、および再開する権限があります。

デプロイメントに関連するすべてのJMX getおよびset操作。

Monitor

wlevsMonitors

すべてのOperator権限と、診断プロファイルの作成やイベントの記録(および再生)などの診断機能を有効または無効にする権限があります。イベントをインジェクトおよびトレースすることもできます。

すべてのJMX get操作。

次のMBeanでのすべてのsetおよびinvokeメソッド。

RecordPlaybackMBeanProfileMBeanProfileManagerBean

Operator

wlevsOperators

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

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

Oracle Event Processing Visualizerを使用してユーザー、グループおよびロールを変更する手順は、『Oracle Event Processingビジュアライザの使用』を参照してください

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

9.2 Oracle Event ProcessingサーバーのJava SEセキュリティ

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

詳細は、http://java.sun.com/javase/technologies/security/ を参照してください。

Oracle Event Processingでは、次のセキュリティ・ポリシー・ファイルを使用したJava SEセキュリティがサポートされます。オラクル社では、製品のこれらのファイルのテンプレートを次のディレクトリで提供しています: /Oracle/Middleware/my_oep/oep/utils/security

  • policy.xml: Oracle Event Processingを構成するすべてのバンドルのセキュリティ・ポリシーを定義します。1番目のバンドル・セットはサーバー関連バンドルのポリシーを定義し、2番目のバンドル・セットはアプリケーション・バンドルのポリシーを定義します。

  • security.policy: サーバーの起動およびJetty HTTPサーバーにデプロイされたWebアプリケーションのセキュリティ・ポリシーを定義します。このファイルはOracle Event Processing Visualizer Webアプリケーションのポリシーも定義します。

次のOracle Event Processing機能に対してJava SEセキュリティ・ポリシーを定義できます。

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

  • サーバーの起動

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

  • Oracle Event Processing Visualizer

サーバーのJava SEセキュリティの構成:

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

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

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

    コピー元: /Oracle/Middleware/my_oep/oep/utils/security/

    コピー先:

    /Oracle/Middleware/my_oep/user_projects/domains/ <domainname>/<servername>/config/

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

  4. <servername>ディレクトリにある使用しているプラットフォーム向けのサーバー起動スクリプトで、サーバーを起動するjavaコマンドに次のプロパティを追加して、更新します。

    -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. config.xmlサーバー・ファイル内で<jetty>要素の<scratch-directory>子要素を追加してJetty Webアプリケーションがデプロイされるディレクトリを指定し、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 Event Processingサーバーを再起動します。

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

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

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

デフォルトはファイルベースのプロバイダです。デフォルトのファイルベースのセキュリティ・プロバイダを使用する場合、ドメインの追加構成は必要ありません。LDAPまたはDBMSプロバイダを使用する場合は、追加の構成を実行する必要があります。セキュリティ・プロバイダの構成が完了すると、新しいユーザーを追加したり、それらのユーザーをグループに割り当てたり、グループをロールにマッピングすることができます。「ユーザー、グループおよびロール」を参照してください。

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

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

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

  • RDBMS: DBMSを使用してユーザー、パスワード、およびグループ情報にアクセスします。認証と認可の両方を提供します。

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

LDAPを使用した認証の構成と、DBMSプロバイダを使用した認可の構成

  1. Oracle/Middleware/my_oep/oep/binディレクトリをPATH環境変数に追加します。

    set PATH=d:\Oracle\Middleware\my_oep\oep\bin;%PATH% (Windows)
    PATH=/Oracle/Middleware/my_oep/oep/bin:$PATH (UNIX)
    
  2. 構成するサーバーのconfigディレクトリに移動します。

    デフォルトでは、configディレクトリは/Oracle/Middleware/my_oep/ user-Projects/domains/<domainname>/<servername>/config/にあります。

  3. テキスト・エディタで、myLDAPandDBMS.propertiesという名前のファイルを作成し、その中に次の例の内容をすべてコピーします。

    注意:

    evsidentity.jksファイル内のブート・ユーザーの証明書が、security.xmlファイル内で構成されているものと同じであることを確認します。

    # 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=sslv3
    #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
    
    1. 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
      
    2. LDAPサーバー構成を指定するプロパティを更新します。

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

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

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

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

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

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

  6. /Oracle/Middleware/my_oep/oep/utils/security/sqlに移動します。

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

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

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

  7. ステップ3でデータベース・ストアとして指定したデータベースに対し、atz_create.sql SQLスクリプトを実行します。

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

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

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

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

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

  1. Oracle/Middleware/my_oep/oep/binディレクトリをPATH環境変数に追加します。

    prompt> set PATH=d:\Oracle\Middleware\my_oep\oep\bin;%PATH% (Windows)
    prompt> PATH=/Oracle/Middleware/my_oep/oep/bin:$PATH (UNIX)
    
  2. 構成するサーバーのconfigディレクトリに移動します。

    デフォルトでは、configディレクトリは/Oracle/Middleware/my_oep/ user-Projects/domains/<domainname>/<servername>/config/にあります。

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

  4. テキスト・エディタで、myDBMS.propertiesという名前のファイルを作成し、その中に次の例の内容をすべてコピーします。

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

      store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
      ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs,
      Password=wlevs
      
    2. その他すべてのプロパティはデフォルト値のままにします。

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

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

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

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

  6. /Oracle/Middleware/my_oep/oep/utils/security/sqlに移動します。

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

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

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

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

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

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

  7. 構成ウィザードを使用してドメインを作成する際に、デフォルト以外の管理者ユーザーを指定した場合には、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');
    
  8. ステップ3でデータベース・ストアとして指定したデータベースに対し、次のSQLスクリプト・ファイルを記載した順番で実行します。

    atn_create.sql

    atn_init.sql

    atz_create.sql

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

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

9.4 パスワードの強度

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

セキュリティ構成ファイル(security.xml)で<password-validator>要素を更新して、Oracle Event Processingの認証に使用されるパスワードの強度を構成します。

デフォルトでは、セキュリティ構成ファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configディレクトリにあります。

次の例は、新しいドメインを作成した後のデフォルト値を含むsecurity.xmlファイルからのスニペットを示します。

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

表9-2では、<password-validator>の構成可能なすべての子要素を説明します。security.xmlファイルを手動で更新した場合には、変更内容が有効になるように、Oracle Event Processingサーバー・インスタンスを再起動する必要があります。

表9-2 <password-validator>の子要素

子要素 説明 デフォルト値

reject-equal-or-contain-name

trueに設定すると、パスワードがユーザー名と同じであるかユーザー名を含んでいる場合に、Oracle Event Processingがそのパスワードを拒否します。

falseに設定すると、Oracle Event Processingがこの理由でパスワードを拒否することがなくなります。

true

reject-equal-or-contain-reverse-username

trueに設定すると、パスワードがユーザー名を逆にした文字列と同じであるかユーザー名を逆にした文字列を含んでいる場合に、Oracle Event Processingがそのパスワードを拒否します。

falseに設定すると、Oracle Event Processingがこの理由でパスワードを拒否することがなくなります。

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

9.5 ネットワーク・トラフィックを保護するためのSSL

Oracle Event Processingは、一方向のSecure Sockets Layer (SSL)を提供して特定の状況でのネットワーク・トラフィックを保護します。

SSLは次の間で動作します。

  • Oracle Event Processing Visualizerを実行しているブラウザと、Oracle Event Processing Visualizerが使用するデータサービス・アプリケーションをホストしているOracle Event Processingサーバーとの間。

  • wlevs.Adminコマンドライン・ユーティリティとOracle Event Processingインスタンスとの間。

    「wlevs.AdminユーティリティをSSLモードで実行」を参照してください。

  • マルチサーバー・ドメインのメンバー・サーバー間。

Federal Information Processing Standards (FIPS)の認定を受けた擬似乱数ジェネレータをSSLで使用するように、Oracle Event Processingを構成できます。SSLの構成後、HTTPSポート上でクライアント・リクエストのみを受信するようにOracle Event Processingサーバーを構成できます。「HTTPS専用接続」を参照してください。

サーバーのconfig.xmlファイル内でSSLを構成します。Oracle Event Processingサーバーを作成した場合、そのサーバーのconfig.xmlにはデフォルトのSSL構成が含められます。次の手順では、SSLおよびキー・ストアを構成する方法について説明します。

9.5.1 SSLの手動での構成

  1. 構成ウィザードを使用して、スタンドアロンサーバー・ドメインまたはマルチサーバー・ドメインを作成します。
  2. XMLエディタで、構成するサーバーのconfig.xmlファイルを開きます。

    デフォルトでは、config.xmlファイルは、/Oracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configにあります。

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

    次の例は、構成ウィザードが作成するデフォルトの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要素は証明書ファイルを指します。構成ウィザードは、構成するサーバーのsslディレクトリにevsidentity.jksという名前のデフォルトの証明書ファイルを作成します。

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

    注意:

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

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

    注意:

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

    キー・ストアの作成の詳細は、「手動でのキー・ストアの作成」を参照してください。

    enforce-fips要素の詳細は、「FIPS」を参照してください。

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

    次の例は、構成ウィザードが作成するデフォルトのnetio要素を示します。

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

    ssl-config-bean-nameは、ssl要素のname子要素に一致する必要があります。

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

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

    次の例は、デフォルトの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子要素に一致する必要があります。

  6. config.xmlファイルを保存して閉じます。
  7. Oracle Event Processingサーバーが実行中の場合は再起動します。

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

9.5.2 キー・ストアの手動での作成

デフォルトでは、構成ウィザードはevsidentity.jksという名前のデフォルトのキー・ストア証明書ファイルを作成します。

デフォルトでは、evsidentity.jksファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<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]:  OEP
    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=OEP, 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 Event Processingサーバーが起動しません。

  5. XMLエディタで、Oracle Event Processingサーバーのconfig.xmlファイルを開きます。

    デフォルトでは、構成ウィザードはconfig.xmlファイルを/Oracle/Middleware/my_oep/user_projects/domains/ <domainname>/<servername>/configディレクトリに作成します。

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

    次の例は、デフォルトの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子要素に含まれるクリアテキスト・パスワードを暗号化します。

9.5.3 マルチサーバー・ドメインでのビジュアライザ用SSLの構成

マルチサーバー・ドメイン内で、Oracle Event Processing Visualizerのデータ・サービス・アプリケーションをホストしているサーバーと別のサーバーとの間で一方向のSSLを構成できます。次の手順で、データ・サービス・アプリケーションをホストしているサーバーはmyServer1、2つ目のサーバーはmyServer2です。両方のサーバーが/Oracle/Middleware/my_oep/user_projects/domains/myServer1ディレクトリにあります。必要であれば、ドメイン内の他のサーバーについてもこの手順を繰り返してください。

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

マルチサーバー・ドメインでのOracle Event Processing Visualizerの起動の詳細は、『Oracle Event Processingビジュアライザの使用』を参照してください。

マルチサーバー・ドメインでビジュアライザが使用するSSLの構成

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

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

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

  2. myServer2を起動します。

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

  3. 次のように、myServer1ディレクトリのsslサブディレクトリに移動します。
    cd /Oracle/Middleware/my_oep/user_projects/domains/myDomain/myServer1/ssl
    
  4. 次のコマンドを指定して、myServer2の証明書を含むmyServer1の信頼キー・ストアを生成します(読みやすくするために分割してありますが、実際にはコマンドは1行にする必要があります)。
    prompt> java -classpath Oracle\Middleware\my_oep\oep\
    \common\lib\evspath.jar;Oracle\Middleware\my_oep\oep\utils\security\wlevsgrabcert.jar 
    com.bea.wlevs.security.util.GrabCert host:secureport 
    -alias=alias truststorepath

    host: myServer2が動作しているコンピュータ。

    secureport: myServer2用に構成されたSSLネットワークI/Oポート。デフォルト値は9003です。詳細は、「SSLの手動での構成」を参照してください。

    alias: 信頼キー・ストアの証明書の別名。デフォルト値はホスト名です。

    truststorepath: 生成される信頼キー・ストア・ファイルのフル・パス名で、デフォルトはevstrust.jksです

    たとえば、(すべてを1行にして)次のようにします。

    java -classpath C:\Oracle\Middleware\
    my_oep\oep\common\lib\evspath.jar;C:\Oracle\Middleware\
    my_oep\oep\utils\security\wlevsgrabcert.jar 
    com.bea.wlevs.security.util.GrabCert myServer2:9003 
    -alias=myServer2 evstrust.jks
    

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

  5. 要求されたら、次のようにOracle Event Processing管理者のパスワードを入力します。
    Please enter the Password for the trust store :
  6. 要求されたら、次のようにmyServer2から送信された証明書を選択します。
    Created TrustStore evstrust.jks
    Opening connection to myServer2:9003...
    Starting SSL handshake...
     
    No certificates in evstrust.jks are trusted by myServer2: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]
    
  7. 次の例で太字で示すとおりに、信頼キー・ストアの情報をssl要素に追加し、use-secure-connections要素を追加して、myServer1config.xmlファイルを更新します。
    <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.xmlファイルは、メイン・サーバー・ディレクトリのconfigディレクトリにあります。この例では、その場所は/Oracle/Middleware/my_oep/user_projects/domains/myDomain/myServer1/config/です。

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

9.5.4 SAML2サービス・プロバイダとアイデンティティ・プロバイダの間のSSLの構成

SSLを使用して、Oracle Event ProcessingサーバーをSAML2 SPとして構成し、必要なSAML2アイデンティティIDPオプションを使用してSPを構成することによって、SSO環境でサービス・プロバイダ(SP)とアイデンティティ・プロバイダ(IDP)の間の通信を保護できます。

次の例は、ssl要素と構成例を示します。手順では、例を編集してSAML2 SPとIPの間のSSLを構成します。

<ssl>
    <name>samlsslConfig</name>
    <key-store>security_files/DemoIdentity.jks</key-store>
    <key-store-pass>
        <password>DemoIdentityKeyStorePassPhrase</password>
    </key-store-pass>
    <key-store-type>JKS</key-store-type>
    <trust-store>security_files/DemoTrust.jks</trust-store>
    <ssl-protocol>TLS</ssl-protocol>
    <key-store-alias>demoidentity</key-store-alias>
    <key-manager-algorithm>SunX509</key-manager-algorithm>
    <enforce-fips>false</enforce-fips>
    <need-client-auth>false</need-client-auth>
</ssl>

SAML2 SPとIPの間のSSLの構成

  1. 必須のSAML2 IDPオプションを構成します。
  2. Oracle Event Processingサーバーのconfig.xml内でtransport-layer-client-cert-alias要素をsaml2-identity-provider要素に追加します。
    <transport-layer-client-cert-alias>sp1</transport-layer-client-cert-alias>
  3. Oracle Event Processingサーバーのconfig.xml内でssl-config-bean-name要素をsaml2-identity-provider要素に追加します。
    <ssl-config-bean-name>samlsslConfig</ssl-config-bean-name>

    ssl-config-bean-name: ssl要素の名前です。

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

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

9.6 FIPS

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を構成します。

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

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

Oracle Event ProcessingサーバーのFIPSの構成

  1. Java SEのセキュリティを構成します。
  2. SSLを構成します。
  3. com.bea.core.jsafejcefips_version.jarをコピーします。

    コピー元: /Oracle/Middleware/my_oep/oep/utils/security

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

    JRE_HOME : JDKインストールを含むディレクトリです。

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

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

  5. 次の例に示すとおり、JRE_HOME/jre/lib/security/java.securityファイルを編集して、com.bea.core.jsafejcefips_2.0.0.0.jarをJCEプロバイダとして追加します。
    security.provider.N=com.rsa.jsafe.provider.JsafeJCE
    

    N: Javaがセキュリティ・プロバイダにアクセスする順序を指定する一意の整数です。JsafeJCEプロバイダをデフォルトのプロバイダにするには、Nを1に設定します。この場合、次に示すとおり、各プロバイダが一意の値を持つように、java.securityファイル内の他のプロバイダのNの値を変更します。

    security.provider.1=com.rsa.jsafe.provider.JsafeJCE
    security.provider.2=sun.security.provider.Sun
    
  6. config.xmlサーバー・ファイルのssl要素を編集して、次の子要素を追加します。
    • enforce-fips: このオプションをtrueに設定します。

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

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

      <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 Event Processingサーバーを再起動します。

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

9.7 SAML2を使用したSSO

Security Assertion Markup Language (SAML)は、セキュリティ・ドメイン間で認証および認可データを交換するためのOASIS XML標準です。Oracle Event ProcessingサーバーではSAML2がサポートされています。SAML構成で、Oracle Event Processingサーバーと、Oracle WebLogic ServerやOracle Access ManagerなどのSAML準拠システムの間で、Webアプリケーションのシングル・サインオン(SSO)環境を定義できます。

SSOにより、ユーザーが一度アプリケーションにサインオンすると、他の様々なアプリケーション・コンポーネントに(それらが独自の認証方式を使用している場合でも)アクセスできるようになります。シングル・サインオンを使用すると、ユーザーはすべてのアプリケーションに1つのIDでセキュアにログインできます。

図9-1に示すとおり、SAML2 SSO環境には2つのロールがあります。

  • アイデンティティ・プロバイダ(IDP): 認証を実行するプロセスです。Oracle Event Processingサーバーのconfig.xmlファイルでIDPのSAML2オプションを構成します。

  • サービス・プロバイダ(SP): 認証をIDPに委任するプロセスです。Oracle Event Processingsecurity.xmlファイルでSPのSAML2オプションを構成します。

Oracle Event Processingのコンテキストにおいて、Oracle Event Processingサーバーはサービス・プロバイダです。アイデンティティ・プロバイダは、Oracle WebLogic ServerやOracle Access Managerなどの任意のSAML2準拠システムです。

図9-1 SAML2を使用するSSO

図9-1の説明が続きます
「図9-1 SAML2を使用するSSO」の説明

Oracle Event Processing VisualizerはSAML2を使用するSSOをサポートしますが、Oracle Event Processing HTTPパブリッシュ/サブスクライブ・サーバー(HTTP pub-subサーバー)はSAML2を使用するSSOをサポートしないことに注意してください。

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

次の手順では、Oracle Event ProcessingサーバーでSAML2を使用したSSOを構成する方法について説明します。

9.7.1 SAML2サービス・プロバイダ・オプションの構成

この構成では、Oracle Event Processingサーバーがクライアント・リクエストを受信し、その認証をSAML2 IDPに委任します。cssconfigコマンドライン・ツールを使用して、security.xmlファイルでSAML2 SPオプションを構成します。

SAML2サービス・プロバイダ・オプションの構成

  1. Oracle\Middleware\my_oep\oep\binディレクトリをPATH環境変数に追加します。
    set PATH=d:\Oracle\Middleware\my_oep\oep\bin;%PATH% (Windows)
    PATH=/Oracle/Middleware/my_oep/oep/bin:$PATH (UNIX)
    
  2. 更新するサーバーのconfigディレクトリに変更します。

    デフォルトでは、ドメイン・ディレクトリはOracle/Middleware/my_oep/user_projects/domains/<domainname>です。

  3. 元に戻す必要が生じた場合のために、既存のsecurity.xmlファイルのバックアップ・コピーを取っておきます。
  4. テキスト・エディタで、saml2.propertiesという名前のファイルを作成し、その中に次の例の内容をすべてコピーします。

    プロパティ・ファイルをカスタマイズできます。

    samlkey.mbean=com.bea.common.management.configuration.SAMLKeyServiceMBean
    samlkey.Type=JKS
    samlkey.Filename=security_files\\DemoIdentity.jks
    samlkey.Passphrase=keystore_passphrase
    samlkey.DefaultAlias=demoidentity
    samlkey.DefaultPassphrase=keystore_passphrase
    saml2.mbean=com.bea.common.management.configuration.SingleSignOnServicesMBean
    saml2.PublishedSiteURL=http://localhost:9002/saml2
    saml2.EntityID=http://localhost:9002/saml2
    saml2.ServiceProviderEnabled=true
    saml2.ServiceProviderPreferredBinding=HTTP/POST
    saml2.SignAuthnRequests=true
    saml2.WantAssertionsSigned=true
    saml2.SSOSigningKeyAlias=sp1
    saml2.SSOSigningKeyPassPhrase=password
    saml2.TransportLayerSecurityKeyAlias=sp1
    saml2.TransportLayerSecurityKeyPassPhrase=password
    saml2.BasicAuthUsername=spBasicAuth
    saml2.BasicAuthPassword=password
    saml2.WantArtifactRequestsSigned=true
    saml2.WantTransportLayerSecurityClientAuthentication=false
    atn.10.mbean=weblogic.security.providers.saml.SAMLAuthenticatorMBean
    atn.10.Name=saml2-atn-provider
    ia.4.mbean=com.bea.security.saml2.providers.SAML2IdentityAsserterMBean
    ia.4.Name=saml2-Identity-Asserter
    
  5. 次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。
    cssconfig -p saml2.properties -i security-key.dat -c security.xml
    

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

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

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

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

9.7.2 SAML2アイデンティティ・プロバイダ・オプションの構成

この構成では、SAML2 IDPオプションでOracle Event Processingサーバーを構成し、そのサーバーが次にそのオプションを使用して認証をSAML2準拠IDPに委任します。Oracle Event Processingサーバーのconfig.xmlファイルでSAML2 IDPオプションを構成します。

この手順では、Oracle WebLogic ServerをIDPの例として使用します。使用しているIDPに固有の構成詳細についてはIDPのドキュメントを参照し、この手順は参考として使用してください。

SAML2アイデンティティ・プロバイダ・オプションの構成

  1. IDPからIDPメタデータ・ファイルを取得します。

    Oracle WebLogic ServerがIDPである場合、次のようにIDPメタデータ・ファイルを生成できます。

    1. ブラウザを開き、Oracle WebLogic Serverコンソールにログインします。

      http://localhost:1010/console
      
    2. ドメインの下で、「環境」→「サーバー」→「SERVER_NAME」→「フェデレーション」→「サービス」→「SAML 2.0全般」を選択します。

      ここでSERVER_NAMEは使用しているOracle WebLogic Serverの名前です。

    3. 「メタ・データの公開」をクリックしてファイル名を指定します。

      この例では、myidp.xmlという名前です。

  2. 更新するサーバーのconfigディレクトリに変更します。

    デフォルトでは、ディレクトリはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configです。

  3. myidp.xmlファイルをOracle Event Processingサーバーのconfigディレクトリにコピーします。

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

  5. テキスト・エディタで、次の例に示すとおり、config.xmlファイルを編集してsaml2-identity-provider要素を追加します。

    Oracle Event Processingサーバーごとに1つのIDPのみを構成できます。

    <saml2-identity-provider>
        <meta-data-file-name>myidp.xml</meta-data-file-name>
        <partner-name>partnerIdP1</partner-name>
        <redirect-uris>
            <uri>/unleashed_saml/</uri>
            <uri>/unheardof_saml/</uri>
        </redirect-uris>
    </saml2-identity-provider>
    

    meta-data-file-name: partner-name: このIDPインスタンスの名前。redirect-uris: SAML2認証URI。

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

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

9.7.3 SAML2 Webアプリケーション・オプションの構成

SAML2 SPおよびIDPのオプションを構成した後、SPにアクセスするWebアプリケーションのweb.xmlファイルを構成する必要があります。

SAML2 Webアプリケーション・オプションの構成

  1. SPにアクセスする必要があるWebアプリケーションのweb.xmlファイルを含むディレクトリに変更します。
  2. テキスト・エディタで、web.xmlファイルを編集してfilter要素を追加します。
    <filter>
      <filter-name>SAML2Filter</filter-name>
      <filter-class>com.bea.core.saml2.SAML2Filter</filter-class>
    </filter>
    
  3. filter-mapping要素を追加します。
    <filter-mapping>
      <filter-name>SAML2Filter</filter-name>
      <url-pattern>/welcome.jsp</url-pattern>
    </filter-mapping>
    

    filter-mappingの子要素url-patternで定義されている保護リソースは、config.xmlファイルで構成したredirectUriと一致する必要があります。

  4. Webアプリケーションを再パッケージ化してデプロイします。

9.8 HTTPS専用接続

HTTPS接続のみを許可するようにサーバーをロック・ダウンできます。

サーバーのHTTPS専用接続の構成

  1. サーバーのSSLが構成されていることを確認します。
  2. config.xmlサーバー・ファイルからHTTPポート構成を削除します。

    デフォルトでは、このファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/config/にあります

    次の例は、HTTPとHTTPSの両方のポートが構成された標準構成のconfig.xmlエントリを示します。HTTPポートは9002、HTTPSポートは9003です。クライアントは両方のポートを介してJettyサーバーにアクセスできます。

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

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

    <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が構成されていることを確認します。

9.9 サーバー・サービスのセキュリティ

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

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

9.9.1 Jettyセキュリティの構成

Oracle Event Processingでは、HTTPサーブレットおよび静的リソースをデプロイするJava WebサーバーとしてJettyがサポートされています。http://mvnrepository.com/artifact/org.mortbay.jettyを参照してください。Jettyの詳細は、「Jetty」を参照してください。

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

9.9.2 JMXセキュリティの構成

JMXを使用してOracle Event Processingサーバーにアクセスするクライアントは、Oracle Event Processingのロールベースの認証によって処理されます。ロールの詳細は、「ユーザー、グループおよびロール」を参照してください。

JMXの詳細は、「JMX」を参照してください。

9.9.3 JDBCセキュリティの構成

構成ウィザードを使用してデータ・ソースを新しいパスワードで更新する場合、構成ウィザードによってパスワードの暗号化が実行されます。data-source要素を追加または変更することでconfig.xmlファイルを手動で更新する場合には、パスワードをプレーン・テキストで入力し、暗号化ユーティリティencryptMSAConfigを使用してそのパスワードを暗号化します。

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

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

次の例は、暗号化後の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の詳細は、「JDBC」を参照してください

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

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

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

9.10 ビジュアライザのクロスドメイン・セキュリティ

Oracle Event Processing Visualizerは、イベント処理ネットワークの作成および構成に使用できるAdobe Flashベースのユーザー・インタフェースを提供します。

ビジュアライザの最も柔軟性の高いデフォルトのパフォーマンスを提供するために、ソフトウェアはあらゆるドメインからビジュアライザ・データにアクセスできるように構成された信頼レベルでインストールされます。この信頼レベルがデプロイメントにとって適切でない場合、アクセスを制限するために、アプリケーションのFlashクロスドメイン・ポリシー・ファイルを編集できます。

Flashクロスドメイン・ポリシーにより許可されるドメインを確認し、それらのドメインの意図とセキュリティの姿勢の両方を、アプリケーションが完全に信頼するのが適切かどうかを判断します。クロスドメイン・ポリシーの編集の詳細な説明は、AdobeのWebサイトを参照してください。Adobeのクロスドメイン・ポリシー・ファイルの使用の詳細は、AdobeのセキュリティWebサイトを参照してください。

クロスドメイン・セキュリティの更新

  1. Oracle Event Processing Visualizer JARファイルを探します。

    デフォルトでは、ファイルはOracle/Middleware/my_oep/oep/modules/ com.bea.wlevs.visualizer.jmxhttpadapter_version.jarにあります。

  2. JARファイルを展開してcrossdomain.warファイルを探します。

  3. crossdomain.warファイルを展開してcrossdomain.xmlファイルを探します。

  4. crossdomain.xmlファイルを編集してクロスドメイン・セキュリティの要件を反映させます。

  5. crossdomain.warファイルおよびOracle Event Processing Visualizer JARファイルを再パッケージ化します。

9.11 セキュリティ監査プログラム

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

デフォルトでは、セキュリティ監査プログラムのロギング先は次のとおりです

Oracle/Middleware/my_oep/user_projects/domains/<domainname>/ <servername>/legacy-rootdir/servers/legacy-server-name/logs

デフォルトで、Oracle Event Processingセキュリティ監査プログラムはセキュリティ上のエラーまたは障害をロギングして、セキュリティ監査プログラムのログ・ファイルを管理可能なサイズに保持します。Oracle Event Processingセキュリティ監査プログラムが情報をロギングするレベルを構成できます。

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

  1. 構成するサーバーのconfigディレクトリに変更します。
  2. テキスト・エディタで、security.xmlファイルを開いて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>
  3. 必要に応じてsec:auditor要素を変更します。

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

    wls:severity: 次のリストからの、サーバーに適した重大度レベル。セキュリティ監査プログラムは、指定された重大度のセキュリティ・イベントと、それより高い重大度ランク値を持つイベントもすべて監査します。たとえば、重大度レベルをERRORに設定した場合、Oracle Event Processingのセキュリティ監査プログラムは、重大度レベルERRORSUCCESSおよびFAILUREのセキュリティ・イベントを監査します。

    INFORMATION: 1WARNING: 2ERROR: 3SUCCESS: 4FAILURE: 5

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

    • wls:information-audit-severity-enabled: severity値が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セキュリティ監査プログラムによって生成されます。

  4. security.xmlファイルを保存して閉じます。
  5. 変更を有効にするために、Oracle Event Processingサーバーを再起動します。

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

9.12 セキュリティの無効化

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

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

startwlevs.cmd -disablesecurity

注意:

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

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

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

9.14 コマンドライン・ユーティリティのユーザー資格証明

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

  • wlevs.Admin: Oracle Event Processingを管理し、特にOracle CQプロセッサのルールを動的に構成したり、アプリケーションのイベント待機時間やスループットを監視するためのコマンドライン・インタフェース。詳細は、「wlevs.Adminコマンドライン・リファレンスについて」を参照してください。

  • Deployer: Oracle Event Processingアプリケーションをデプロイするためのコマンドラインベースの操作を管理者および開発者に対して提供する、Javaベースのデプロイメント・ユーティリティ。詳細は、「デプロイヤ・コマンドライン・リファレンス」を参照してください。

  • cssconfig: パスワード・ポリシーを使用するセキュリティ構成ファイル(security.xml)を生成するためのコマンドライン・ユーティリティ。詳細は、「cssconfigコマンドライン・ユーティリティ」を参照してください。

  • encryptMSAConfig: XMLファイル内のpassword要素に指定されたクリアテキスト・パスワードを暗号化するための暗号化コマンドライン・ユーティリティ。詳細は、「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。

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

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

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

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

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

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

9.15 Oracle Event Processingの例およびドメインにおけるセキュリティ

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

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

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

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

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