Oracle Stream Analyticsには、データ・ストリームとイベント・ストリーム、構成、ユーザー名とパスワードのデータ、セキュリティ・ポリシー情報、リモート資格証明、ネットワーク・トラフィックなどのサーバー・リソースを保護する様々な方法が用意されています。
この章の構成は、次のとおりです。
Oracle Stream Analyticsでは、ロール・ベースの認可制御を使用して、Oracle Stream Analytics Visualizerおよびwlevs.Adminコマンドライン・ユーティリティを保護します。
すぐに使用できるデフォルトのセキュリティ・グループが各種存在しています。ユーザーを様々なグループに追加することにより、ユーザーへの様々なロールの割当ができます。
Oracle Stream Analytics Visualizer、wlevs.AdminまたはJMXを使用するカスタム管理アプリケーションを使用してOracle Stream Analyticsサーバーに接続する管理者は、ロール・ベースの認可を使用してアクセス権を取得します。
また、ロール・ベースの認可を使用して、HTTPパブリッシュ/サブスクライブ・サーバーへのアクセス権を制御できます。
ロールには次の2種類が存在します。
アプリケーション・ロール: アプリケーション・ロールは、Oracle Stream Analyticsサーバーにデプロイ済の様々なOracle CQLアプリケーションにアクセスする権限をユーザーに付与します。アプリケーション・ロールを作成し、それらをOracle Stream Analyticsが提供するタスク・ロールに関連付けることができます。
デフォルトでは、管理者ユーザーは任意のアプリケーションへアクセスできますが、非管理者ユーザーはすべてのアプリケーションへはアクセスできません。ある非管理ユーザーがアプリケーションにアクセスできるようにするには、管理ユーザーが関連するアプリケーション・ロールをそのユーザーに付与する必要があります。
アプリケーション分離を使用すると、管理者は新しいロールを作成でき、指定したアプリケーションに新しいロールを関連付けて、このアプリケーションに対して選択したグループのアクセスのみを許可することができます。新しいロールが作成された後は、このロールを持たない非管理者ユーザーはビジュアライザでそのアプリケーションを表示できず、管理ツールでアプリケーション構成を表示または変更できません。
タスク・ロール: タスク・ロールは、自身のアプリケーション・ロールによってアクセスが認可されたアプリケーションで様々なタスクを実行する権限を、ユーザーに付与します。Oracle Stream Analyticsには、表9-1で説明するデフォルトのタスク・ロールが用意されています。
Oracle Stream Analytics Visualizerまたはwlevs.Adminの使用時に正常に認証されたユーザーには、そのグループ・メンバーシップに基づいてロールが割り当てられますが、その後の管理機能へのアクセスは、そのユーザーが保持するロールに従って制限されます。匿名ユーザー(認証されていないユーザー)は、Oracle Stream Analytics Visualizerまたはwlevs.Adminへのアクセス権を持ちません。
管理者が構成ウィザードを使用して新しいドメインを作成する際には、wlevsAdministratorsグループの一部である管理者ユーザーを入力します。デフォルトでは、この情報はファイルベースのプロバイダ・のファイルストア内に格納されます。パスワードは、SHA-256アルゴリズムを使用してハッシュされます。デフォルトの管理者ユーザーの名前はoepadminで、パスワードはwelcome1です。
表9-1は、新規ドメイン作成直後に使用可能なデフォルトのOracle Stream Analyticsタスク・ロールや、それらのロールに割り当てられるグループ名を説明しています。
表9-1 デフォルトのOracle Stream Analyticsタスク・ロールおよびグループ
| タスク・ロール | グループ | 権限 |
|---|---|---|
|
|
他のロールが持つすべての権限と、次の権限があります。
すべてのJMX 次のMBeanでのすべての
|
|
wlevsApplicationAdmins |
すべてのOperator権限と、デプロイ済アプリケーションの構成を更新する権限があります。
|
|
wlevsBusinessUsers |
すべてのOperator権限およびデプロイ済アプリケーションのプロセッサに関連付けられたOracle CQLルールを更新する権限を持ちます。 次のMBeanでのすべての
|
|
wlevsDeployers |
すべてのOperator権限およびデプロイ済アプリケーションをデプロイ、アンデプロイ、更新、一時停止、および再開する権限があります。 デプロイメントに関連するすべてのJMX |
|
wlevsMonitors |
すべてのOperator権限と、診断プロファイルの作成やイベントの記録(および再生)などの診断機能を有効または無効にする権限があります。イベントをインジェクトおよびトレースすることもできます。 すべてのJMX 次のMBeanでのすべての
|
|
wlevsOperators |
すべてのサーバー・リソース、サービス、およびデプロイされたアプリケーションへの読取り専用アクセスがあります。 |
ドメインが作成されると、管理者はOracle Stream Analytics Visualizerを使用してグループを作成し、それを1つ以上のロールに関連付けることが可能です。各ロールによってアプリケーションへのアクセス権が付与されます。ユーザーをグループに割り当てるとき、グループに関連付けるロールによって、ユーザーにはアプリケーションへアクセスする権限が付与されます。
Oracle Stream Analytics Visualizerを使用してユーザー、グループおよびロールを変更する手順は、『Oracle Stream Analyticsビジュアライザの使用』を参照してください
詳細は、次を参照してください。
Java SEプラットフォームには標準ベースで相互運用可能なセキュリティ・アーキテクチャが定義されていますが、これは動的で拡張可能なものとなっています。暗号化、認証および認可、公開鍵暗号化などの機能のセキュリティが組み込まれています。
詳細は、http://java.sun.com/javase/technologies/security/ を参照してください。
Oracle Stream Analyticsでは、次のセキュリティ・ポリシー・ファイルを使用したJava SEセキュリティがサポートされます。オラクル社では、製品のこれらのファイルのテンプレートを次のディレクトリで提供しています: /Oracle/Middleware/my_oep/oep/utils/security。
policy.xml: Oracle Stream Analyticsを構成するすべてのバンドルのセキュリティ・ポリシーを定義します。1番目のバンドル・セットはサーバー関連バンドルのポリシーを定義し、2番目のバンドル・セットはアプリケーション・バンドルのポリシーを定義します。
security.policy: サーバーの起動およびJetty HTTPサーバーにデプロイされたWebアプリケーションのセキュリティ・ポリシーを定義します。このファイルはOracle Stream Analytics Visualizer Webアプリケーションのポリシーも定義します。
次のOracle Stream Analytics機能に対してJava SEセキュリティ・ポリシーを定義できます。
Oracle Stream Analyticsを構成するすべてのバンドル
サーバーの起動
Oracle Stream AnalyticsサーバーのJetty HTTPサーバーにデプロイされたWebアプリケーション
Oracle Stream Analytics Visualizer
サーバーのJava SEセキュリティの構成:
Oracle Stream Analyticsサーバーが現在実行中である場合は、停止します。
「サーバーの起動と停止」を参照してください。
policy.xmlおよびsecurity.policyを次のようにコピーします。
コピー元: /Oracle/Middleware/my_oep/oep/utils/security/
コピー先:
/Oracle/Middleware/my_oep/user_projects/domains/ <domainname>/<servername>/config/
必要に応じて2つのセキュリティ・ポリシー・ファイルを編集します。
<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
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>
変更を有効にするために、Oracle Stream Analyticsサーバーを再起動します。
「サーバーの起動と停止」を参照してください。
Oracle Stream Analyticsは、認証、認可、ロール・マッピングおよび資格証明マッピング用のセキュリティ・プロバイダをサポートしています。
デフォルトはファイルベースのプロバイダです。デフォルトのファイルベースのセキュリティ・プロバイダを使用する場合、ドメインの追加構成は必要ありません。LDAPまたはDBMSプロバイダを使用する場合は、追加の構成を実行する必要があります。セキュリティ・プロバイダの構成が完了すると、新しいユーザーを追加したり、それらのユーザーをグループに割り当てたり、グループをロールにマッピングすることができます。「ユーザー、グループおよびロール」を参照してください。
ファイルベース: オペレーティング・システムのファイルを使用して、ユーザー、パスワード、グループ情報などのセキュリティ・データにアクセスするデフォルトのセキュリティ・プロバイダ。このプロバイダは、認証および認可を提供します。認証とは、ユーザーのIDを証明または検証するプロセスです。認可とは、ユーザーのセキュリティ・ロールとリクエストされたOracle Stream Analyticsリソースに割り当てられたセキュリティ・ポリシーに基づいて、Oracle Stream Analyticsリソースへのユーザーのアクセスを許可または拒否するプロセスです。認証では通常、ユーザー名とパスワードの組合せが必要となります。
LDAP: LDAP (Lightweight Data Access Protocol)サーバーを使用してユーザー、パスワード、およびグループ情報にアクセスします。認証のみを提供します。
LDAPを使用して認証を行う場合、Oracle Stream Analytics Visualizerを使用してユーザーのパスワードは変更できますが、ユーザーやグループの追加や削除を行うことはできません。
RDBMS: DBMSを使用してユーザー、パスワード、およびグループ情報にアクセスします。認証と認可の両方を提供します。
次の手順では、認証および認可の両方に使用するようにセキュリティ・プロバイダを構成する2つの異なる方法について説明します。
LDAPを使用した認証の構成と、DBMSプロバイダを使用した認可の構成
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)
構成するサーバーのconfigディレクトリに移動します。
デフォルトでは、configディレクトリは/Oracle/Middleware/my_oep/ user-Projects/domains/<domainname>/<servername>/config/にあります。
テキスト・エディタで、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
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ファイルのバックアップ・コピーを取っておきます。
次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。
cssconfig -p myLDAPandDBMS.properties -c security.xml -i security-key.dat
myLDAPandDBMS.properties: ステップ3で作成したプロパティ・ファイル。security.xml: 新しいセキュリティ構成ファイルの名前。security-key.dat: 構成ウィザードによって生成された既存のファイルで、アイデンティティ・キーを含んでいます。
追加情報は、「cssconfigコマンドライン・ユーティリティ」を参照してください。
/Oracle/Middleware/my_oep/oep/utils/security/sqlに移動します。
このディレクトリには、必要なセキュリティ関連データベース表を作成して初期データを設定するためのSQLスクリプトがあります。この手順ではDBMSプロバイダを認可のみに使用するので、関連するスクリプトは次のとおりです。
atz_create.sql: 認可で必要となるすべての表を作成します。
atz_drop.sql: 認可に関する表をすべてドロップします。
ステップ3でデータベース・ストアとして指定したデータベースに対し、atz_create.sql SQLスクリプトを実行します。
「ユーザー、グループおよびロール」で説明されているデフォルト・グループおよびドメイン作成時に指定した管理者ユーザーを追加して、LDAPサーバーを構成します。デフォルトでは、oepadminというユーザーです。
詳細は、LDAPサーバーのドキュメントを参照してください。
オプションで、新しいsecurity.xmlファイル内でパスワードの強度を構成します。
「パスワードの強度」を参照してください。
DBMSプロバイダを使用した認証と認可の構成
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)
構成するサーバーのconfigディレクトリに移動します。
デフォルトでは、configディレクトリは/Oracle/Middleware/my_oep/ user-Projects/domains/<domainname>/<servername>/config/にあります。
元に戻す必要が生じた場合のために、既存のsecurity.xmlファイルのバックアップ・コピーを取っておきます。
テキスト・エディタで、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
store.StorePropertiesプロパティを更新してデータベース・ドライバ情報、接続URL、およびデータベースに接続するユーザーのユーザー名/パスワードが反映されるようにして、プロパティ・ファイルをカスタマイズします。デフォルトのプロパティがどのように設定されるかを、次に示します。
store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver, ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs, Password=wlevs
その他すべてのプロパティはデフォルト値のままにします。
次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。
cssconfig -p myLDAPandDBMS.properties -c security.xml -i security-key.dat
myDBMS.properties: ステップ3で作成したプロパティ・ファイル。security.xml: 新しいセキュリティ構成ファイルの名前。security-key.dat: 構成ウィザードによって生成された既存のファイルで、アイデンティティ・キーを含んでいます。
追加情報は、「cssconfigコマンドライン・ユーティリティ」を参照してください。
/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: 認可に関する表をすべてドロップします。
構成ウィザードを使用してドメインを作成する際に、デフォルト以外の管理者ユーザーを指定した場合には、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');
ステップ3でデータベース・ストアとして指定したデータベースに対し、次のSQLスクリプト・ファイルを記載した順番で実行します。
atn_create.sql
atn_init.sql
atz_create.sql
オプションで、新しいsecurity.xmlファイル内でパスワードの強度を構成します。
「パスワードの強度」を参照してください。
パスワードの強度は、認証資格証明としてのパスワードの効果を測定します。パスワードの強度をどのように構成するかによって、パスワードにユーザー名を含めることができるかどうか、パスワードの最小限の長さ、パスワードに少なくとも何個の数字を含めるかなど、ユーザーが指定できるパスワードのタイプが決まります。
セキュリティ構成ファイル(security.xml)で<password-validator>要素を更新して、Oracle Stream Analyticsの認証に使用されるパスワードの強度を構成します。
デフォルトでは、セキュリティ構成ファイルは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 Stream Analyticsサーバー・インスタンスを再起動する必要があります。
表9-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 Stream Analyticsは、一方向のSecure Sockets Layer (SSL)を提供して特定の状況でネットワーク・トラフィックを保護します。
SSLは、次のものの間で機能します。
Oracle Stream Analytics Visualizerを実行しているブラウザと、Oracle Stream Analytics Visualizerが使用するデータサービス・アプリケーションをホストしているOracle Stream Analyticsサーバーとの間。
wlevs.Adminコマンドライン・ユーティリティとOracle Stream Analyticsインスタンスとの間。
「wlevs.AdminユーティリティをSSLモードで実行」を参照してください。
マルチサーバー・ドメインのメンバー・サーバー間。
Federal Information Processing Standards (FIPS)の認定を受けた擬似乱数ジェネレータをSSLで使用するように、Oracle Stream Analyticsを構成できます。SSLの構成後、HTTPSポート上でクライアント・リクエストのみを受信するようにOracle Stream Analyticsサーバーを構成できます。「HTTPS専用接続」を参照してください。
サーバーのconfig.xmlファイル内でSSLを構成します。Oracle Stream Analyticsサーバーを作成した場合、そのサーバーのconfig.xmlにはデフォルトのSSL構成が含められます。次の手順では、SSLおよびキー・ストアを構成する方法について説明します。
デフォルトでは、構成ウィザードはevsidentity.jksという名前のデフォルトのキー・ストア証明書ファイルを作成します。
デフォルトでは、evsidentity.jksファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/sslディレクトリにあります。
パスワードは、サーバーを作成したときに入力したパスワードと同じです。オプションで、キー・ストアを手動で作成できます。
マルチサーバー・ドメイン内で、Oracle Stream Analytics Visualizerのデータ・サービス・アプリケーションをホストしているサーバーと別のサーバーとの間で一方向のSSLを構成できます。次の手順で、データ・サービス・アプリケーションをホストしているサーバーはmyServer1、2つ目のサーバーはmyServer2です。両方のサーバーが/Oracle/Middleware/my_oep/user_projects/domains/myServer1ディレクトリにあります。必要であれば、ドメイン内の他のサーバーについてもこの手順を繰り返してください。
マルチサーバー・ドメイン内のサーバー間で送信されるメッセージを保護する方法については、次を参照してください。
Oracle Coherence: 「サーバー間で送信されるメッセージの保護」
ネイティブ・クラスタリング: 「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」
マルチサーバー・ドメインでのOracle Stream Analytics Visualizerの起動の詳細は、Oracle Stream Analyticsビジュアライザの使用を参照してください。
マルチサーバー・ドメインでビジュアライザが使用するSSLの構成
SSLを使用して、Oracle Stream Analyticsサーバーを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の構成
com.rsa.jsafe.provider.JsafeJCEセキュリティ・プロバイダを使用してFIPSをサポートします。このプロバイダを使用して、FIPSの認定を受けた擬似乱数ジェネレータをSSLで使用するようにOracle Stream Analyticsを構成します。
詳細は、次を参照してください。
FIPSの認定を受けた擬似乱数ジェネレータを使用するように、Oracle Stream Analyticsサーバーを構成できます。
Oracle Stream AnalyticsサーバーのFIPSの構成
SSOにより、ユーザーが一度アプリケーションにサインオンすると、他の様々なアプリケーション・コンポーネントに(それらが独自の認証方式を使用している場合でも)アクセスできるようになります。シングル・サインオンを使用すると、ユーザーはすべてのアプリケーションに1つのIDでセキュアにログインできます。
図9-1に示すとおり、SAML2 SSO環境には2つのロールがあります。
アイデンティティ・プロバイダ(IDP): 認証を実行するプロセスです。Oracle Stream Analyticsサーバーのconfig.xmlファイルでIDPのSAML2オプションを構成します。
サービス・プロバイダ(SP): 認証をIDPに委任するプロセスです。Oracle Stream Analyticsのsecurity.xmlファイルでSPのSAML2オプションを構成します。
Oracle Stream Analyticsのコンテキストにおいて、Oracle Stream Analyticsサーバーはサービス・プロバイダです。アイデンティティ・プロバイダは、Oracle WebLogic ServerやOracle Access Managerなどの任意のSAML2準拠システムです。
Oracle Stream Analytics Visualizerは、SAML2を使用するSSOをサポートしますが、Oracle Stream Analytics HTTPパブリッシュ/サブスクライブ・サーバー(HTTP pub-subサーバー)はSAML2を使用するSSOをサポートしないことに注意してください。
詳細は、次を参照してください。
Oracle WebLogic Server セキュリティの理解
WebLogicセキュリティ・サービスによるアプリケーションの開発
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security
次の手順では、Oracle Stream AnalyticsサーバーでSAML2を使用したSSOを構成する方法について説明します。
この構成では、Oracle Stream Analyticsサーバーがクライアント・リクエストを受信し、その認証をSAML2 IDPに委任します。cssconfigコマンドライン・ツールを使用して、security.xmlファイルでSAML2 SPオプションを構成します。
SAML2サービス・プロバイダ・オプションの構成
この構成では、SAML2 IDPオプションでOracle Stream Analyticsサーバーを構成し、そのサーバーが次にそのオプションを使用して認証をSAML2準拠IDPに委任します。Oracle Stream Analyticsサーバーのconfig.xmlファイルでSAML2 IDPオプションを構成します。
この手順では、Oracle WebLogic ServerをIDPの例として使用します。使用しているIDPに固有の構成詳細についてはIDPのドキュメントを参照し、この手順は参考として使用してください。
SAML2アイデンティティ・プロバイダ・オプションの構成
IDPからIDPメタデータ・ファイルを取得します。
Oracle WebLogic ServerがIDPである場合、次のようにIDPメタデータ・ファイルを生成できます。
ブラウザを開き、Oracle WebLogic Serverコンソールにログインします。
http://localhost:1010/console
ドメインの下で、「環境」→「サーバー」→「SERVER_NAME」→「フェデレーション」→「サービス」→「SAML 2.0全般」を選択します。
ここでSERVER_NAMEは使用しているOracle WebLogic Serverの名前です。
「メタ・データの公開」をクリックしてファイル名を指定します。
この例では、myidp.xmlという名前です。
更新するサーバーのconfigディレクトリに変更します。
デフォルトでは、ディレクトリはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configです。
myidp.xmlファイルをOracle Stream Analyticsサーバーのconfigディレクトリにコピーします。
元に戻す必要が生じた場合のために、既存のconfig.xmlファイルのバックアップ・コピーを取っておきます。
テキスト・エディタで、次の例に示すとおり、config.xmlファイルを編集してsaml2-identity-provider要素を追加します。
Oracle Stream Analyticsサーバーごとに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。
変更を有効にするために、Oracle Stream Analyticsサーバーを再起動します。
「サーバーの起動と停止」を参照してください。
基本的なセキュリティ・タスク(Java SEセキュリティ、セキュリティ・サービス・プロバイダ、SSLの構成など)が完了したら、Oracle Stream Analyticsサーバーが提供する様々なサービスに固有のセキュリティ詳細を構成できます。
この項では次の内容について説明します。
Oracle Stream Analyticsでは、HTTPサーブレットおよび静的リソースをデプロイするJava WebサーバーとしてJettyがサポートされています。http://mvnrepository.com/artifact/org.mortbay.jettyを参照してください。Jettyの詳細は、「Jetty」を参照してください。
次のセキュリティ・タスクはJettyの構成に影響を与えます。
JMXを使用してOracle Stream Analyticsサーバーにアクセスするクライアントは、Oracle Stream Analyticsのロールベースの認証によって処理されます。ロールの詳細は、ユーザー、グループおよびロールを参照してください。
JMXの詳細は、「JMX」を参照してください。
構成ウィザードを使用してデータ・ソースを新しいパスワードで更新する場合、構成ウィザードによってパスワードの暗号化が実行されます。data-source要素を追加または変更することでconfig.xmlファイルを手動で更新する場合には、パスワードをプレーン・テキストで入力し、暗号化ユーティリティencryptMSAConfigを使用してそのパスワードを暗号化します。
次の例は、config.xmlファイルのdata-source要素を示し、ここでは、properties要素内で新しいプレーン・テキスト・パスワードのsecretがpasswordという名前で指定されています。
<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」を参照してください
Oracle Stream Analytics Visualizerは、イベント処理ネットワークの作成および構成に使用できるAdobe Flashベースのユーザー・インタフェースを提供します。
ビジュアライザの最も柔軟性の高いデフォルトのパフォーマンスを提供するために、ソフトウェアはあらゆるドメインからビジュアライザ・データにアクセスできるように構成された信頼レベルでインストールされます。この信頼レベルがデプロイメントにとって適切でない場合、アクセスを制限するために、アプリケーションのFlashクロスドメイン・ポリシー・ファイルを編集できます。
Flashクロスドメイン・ポリシーにより許可されるドメインを確認し、それらのドメインの意図とセキュリティの姿勢の両方を、アプリケーションが完全に信頼するのが適切かどうかを判断します。クロスドメイン・ポリシーの編集の詳細な説明は、AdobeのWebサイトを参照してください。Adobeのクロスドメイン・ポリシー・ファイルの使用の詳細は、AdobeのセキュリティWebサイトを参照してください。
クロスドメイン・セキュリティの更新
Oracle Stream Analytics Visualizer JARファイルを見つけます。
デフォルトでは、ファイルはOracle/Middleware/my_oep/oep/modules/ com.bea.wlevs.visualizer.jmxhttpadapter_version.jarにあります。
JARファイルを展開してcrossdomain.warファイルを探します。
crossdomain.warファイルを展開してcrossdomain.xmlファイルを探します。
crossdomain.xmlファイルを編集してクロスドメイン・セキュリティの要件を反映させます。
crossdomain.warファイルおよびOracle Stream Analytics Visualizer JARファイルを再パッケージ化します。
Oracle Stream Analyticsには、セキュリティ関連のアクティビティをロギングするセキュリティ監査プログラムが提供されています。
デフォルトでは、セキュリティ監査プログラムのロギング先は次のとおりです
Oracle/Middleware/my_oep/user_projects/domains/<domainname>/ <servername>/legacy-rootdir/servers/legacy-server-name/logs
デフォルトで、Oracle Stream Analyticsセキュリティ監査プログラムはセキュリティ上のエラーまたは障害をロギングして、セキュリティ監査プログラムのログ・ファイルを管理可能なサイズに保持します。Oracle Stream Analyticsセキュリティ監査プログラムが情報をロギングするレベルを構成できます。
セキュリティ監査プログラムのロギングを構成するには:
Oracle Stream Analyticsサーバーのセキュリティを完全に無効化できます。開発環境ではこの構成が適切である可能性もありますが、本番環境でセキュリティを無効化することはお薦めしません。
セキュリティを一時的に無効化するには、コマンドラインからstartwlevs.cmdまたはstartwlevs.shスクリプトを-disablesecurity引数付きで実行します。次に例を示します。
startwlevs.cmd -disablesecurity
注意:
サンプル・ドメインの一部では、startwlevs.cmdおよびstartwlevs.shのスクリプトにはすでに-disablesecurity引数が含まれています。そのようなスクリプトをコマンドライン上で-disablesecurityを使用して実行すると、「無効な引数」エラーによって失敗します。
Oracle Stream Analyticsには、セキュリティ管理を単純化するためのコマンドライン・ユーティリティが各種用意されています。コマンドライン・ユーティリティに加え、Oracle Stream Analytics Visualizerを使用して多くのセキュリティ・タスクを実行できます。
詳細は、次を参照してください。
Oracle Stream Analyticsには、様々なタスクを実行するコマンドライン・ユーティリティが用意されています。
wlevs.Admin: Oracle Stream Analyticsを管理し、特にOracle CQプロセッサのルールを動的に構成したり、アプリケーションのイベント待機時間やスループットを監視するためのコマンドライン・インタフェース。詳細は、「wlevs.Adminコマンドライン・リファレンスについて」を参照してください。
Deployer: 管理者や開発者がOracle Stream Analyticsアプリケーションのデプロイ操作をコマンドラインで実行するためのJavaベースのデプロイメント・ユーティリティ。詳細は、「デプロイヤ・コマンドライン・リファレンス」を参照してください。
cssconfig: パスワード・ポリシーを使用するセキュリティ構成ファイル(security.xml)を生成するためのコマンドライン・ユーティリティ。詳細は、「cssconfigコマンドライン・ユーティリティ」を参照してください。
encryptMSAConfig: XMLファイル内のpassword要素に指定されたクリアテキスト・パスワードを暗号化するための暗号化コマンドライン・ユーティリティ。詳細は、「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。
各ユーティリティで、次の3つの方法を使用してユーザー資格証明(ユーザー名とパスワード)を指定できます。
コマンドライン上で-userや-passwordなどのオプションを使用します。
対話形式を使用して、常にコマンド・ライン・ユーティリティで資格証明のプロンプトが表示されるようにします。
ユーザー資格証明が格納されているファイル・ストアを指定します。ファイル・ストア自体もパスワードで保護します。
本番環境では、1番目のオプション(コマンドライン上でユーザーの資格証明を指定する方法)は決して使用せず、2番目および3番目のオプションのみを使用します。
対話モード(コマンドライン・ユーティリティが資格証明の入力を求める方法)を使用する場合には、ローカル・コンピュータに適したterminalioネイティブ・ライブラリがCLASSPATHに含まれていることを必ず確認し、ユーザーの資格証明の入力時にその情報が画面上にエコーされないようにしてください。Oracle Stream Analyticsにはこの目的のために一連の標準ネイティブ・ライブラリが含まれていますが、ユーザーが必要とするライブラリが含まれていない可能性があります。
wlevsAdministratorsグループに追加されます。 デフォルトでは、セキュリティ構成はすべて、ファイルベースのプロバイダを使用して格納されます。 Oracle Stream Analyticsの例はすべて、ユーザー名oepadminおよびパスワードwelcome1を持つ管理者を使用するように構成されます。新しいドメインを作成する場合には、この管理者の名前とパスワードを指定します。
HelloWorld例ではデフォルトで、セキュリティは無効化されます。これは、任意のユーザーがパスワードを入力しなくてもサーバーを起動したり、アプリケーションをデプロイしたり、管理ツール(wlevs.Admin)のすべてのコマンドを実行したりできることを意味します。
FX例およびAlgoTrading例ではセキュリティが有効化されます。どちらの例でも、パスワードがwelcome1のユーザーoepadminが、完全な管理者権限を持つOracle Stream Analytics管理者として構成されます。これらの例に対するサーバーを起動するスクリプトは、適切な引数を使用してこのユーザー名およびパスワードをjavaコマンドに渡します。デプロイヤまたはwlevs.Adminユーティリティを使用する場合も、適切な引数を使用してこのユーザー名/パスワードのペアを渡す必要があります。
詳細は、「コマンドライン・ユーティリティのユーザー資格証明」を参照してください。