WebLogic リソースのセキュリティ
セキュリティ ロール
この章では、セキュリティ ロールの特長と機能について説明します。
セキュリティ ロールの概要
セキュリティ ロールは、特定の条件に基づいてユーザまたはグループに付与される特権です。 グループと同様、セキュリティ ロールを使用すると、複数のユーザによる WebLogic リソースへのアクセスを一度に制限できます。ただし、セキュリティ ロールは以下の点でグループとは異なります。
セキュリティ ロールは、ユーザ名、グループ メンバシップ、または時刻などの条件に基づいて動的に計算されてユーザまたはグループに付与される。一方、グループは静的である。
セキュリティ ロールは、常に WebLogic Server ドメイン全体を対象とするグループとは異なり、WebLogic Server ドメインの単一のアプリケーションに属する特定の WebLogic リソースを対象にできる。
セキュリティ ロールをユーザまたはグループに付与すると、そのセキュリティ ロールを付与されている限り、そのユーザまたはグループには定義されたアクセス特権が与えられます。たとえば、管理者が AppAdmin
というセキュリティ ロールを定義するとします。このロールは、特定の Web アプリケーションのリソースに対する書き込みアクセスを持っています。この場合、AppAdmin
セキュリティ ロールを付与されたすべてのユーザまたはグループは、その URL (Web) リソースに対して書き込みアクセスを持つことになります。複数のユーザまたはグループに単一のセキュリティ ロールを付与することができます。ユーザとグループの詳細については、「ユーザとグループ」を参照してください。
注意 :WebLogic Server 6.x では、セキュリティ ロールは Web アプリケーションと EJB (エンタープライズ JavaBean) だけに適用されました。このバージョンの WebLogic Server では、セキュリティ ロールは、定義されているすべての WebLogic リソースに対して適用されます。詳細については、「WebLogic リソースのタイプ」を参照してください。
動的ロール マッピング
実行時に、WebLogic Security サービスはロール条件とユーザまたはグループを比較して、そのユーザまたはグループにセキュリティ ロールを動的に付与するかどうかを決定します。このプロセスをロール マッピングといいます。ロール マッピングは、WebLogic Security サービスが保護対象の WebLogic リソースに対するアクセス決定を下す直前に発生します。アクセス決定は、認可プロバイダのコンポーネントであり、WebLogic リソースに対して特定の操作を実行するパーミッションがサブジェクトにあるかどうかを判断します。
注意 :ロール条件とアクセス決定の詳細については、それぞれ「セキュリティ ロールの構成要素 : ロール条件、式、およびロール文」および『WebLogic Security サービスの開発』の「アクセス決定」を参照してください。
セキュリティ ロールの動的マッピングには、ビジネス ルールまたはリクエストのコンテキストに基づいてユーザまたはグループにセキュリティ ロールを付与できるという、非常に重要な利点があります。たとえば、本来の管理者が不在の間だけユーザに Manager
セキュリティ ロールを割り当てることができます。このセキュリティ ロールを動的に付与することで、そうした一時的な措置のためにアプリケーションを変更したり再デプロイしたりする必要はなくなります。一時的な管理者が特別な特権を持つ時間を指定するだけです。さらに、本来の管理者が戻ってきても、ユーザを一時的に管理者グループに追加した場合のように、特別な特権を取り消す必要はありません。
セキュリティ ロールのタイプ : グローバル ロールとスコープ ロール
WebLogic Server には、グローバル ロールとスコープ ロールの 2 種類のセキュリティ ロールがあります。セキュリティ レルム内にデプロイされるすべての WebLogic リソース (つまり WebLogic Server ドメイン全体) に適用されるセキュリティ ロールは、グローバル ロールと呼ばれます。セキュリティ レルム内にデプロイされる WebLogic リソースの特定のインスタンス (EJB のメソッドや JNDI ツリーのブランチなど) に適用されるセキュリティ ロールは、スコープ ロールと呼ばれます。WebLogic リソースのセキュリティ ポリシーを作成するために複数のロール (グローバルまたはスコープ) を使用できます。詳細については、「セキュリティ ポリシー」を参照してください。
WebLogic リソースを保護するために (ユーザまたはグループよりも) セキュリティ ロールを作成して使用することを強くお勧めしますが、必ずしも特定のタイプのセキュリティ ロールを使用する必要はありません。WebLogic リソースを保護するためにそのまま使用できる複数のデフォルト グローバル ロールが用意されています (「デフォルト グローバル ロール」を参照)。スコープ ロールはまず使用する必要はありません。スコープ ロールは柔軟性を高めるためのもので、高度なユーザ向けの特別な機能です。
Administration Console でのセキュリティ ロールの作成
セキュリティ ロールを作成するための WebLogic Server Administration Console の使い方は、グローバル ロールとスコープ ロールのどちらを作成するかによって異なります。
グローバル ロールはセキュリティ レルム内のすべての WebLogic リソースに適用されるため、セキュリティ レルム レベルで作成します。Administration Console の左ペインで、[セキュリティ|レルム|myrealm
(または作成したセキュリティ レルム名)] を展開します。次に、[グローバル ロール] をクリックしてグローバル ロールの作成ページを表示します。このナビゲーション パスを図 4-1 の左側に、表示されるページを右側に示します。
図 4-1 グローバル ロールの作成
スコープ ロールはセキュリティ レルム内の特定の WebLogic リソースだけに適用されるため、WebLogic リソース レベルで作成します。スコープ ロールを作成できるデプロイ済みモジュール (Web アプリケーション、EJB など) の場合、Administration Console のナビゲーション ツリーで、そのコンポーネントを右クリックすると、[ロール スコープを定義...] オプションが表示されます。次に、[ロール スコープを定義...] オプションをクリックしてスコープ ロールの作成ページを表示します。このナビゲーション パス (basic-ejbapp
JAR を WebLogic リソースとして使用) を図 4-2 の左側に、表示されるページを右側に示します。
図 4-2 スコープ ロールの作成
デフォルト グローバル ロール
WebLogic Server では、表 4-1 に示すグローバル ロールがデフォルトで定義されています。この表では、これらのセキュリティ ロールのユーザまたはグループに付与される特権についても説明します。
デフォルト グローバル ロールは、ほとんどのタイプの WebLogic リソースを保護するデフォルト セキュリティ ポリシーで使用されます。さらにデフォルト グローバル ロールは、MBean としてエクスポーズされるサーバ リソースに対する追加のセキュリティを提供するために使用されます。詳細については、「セキュリティ ポリシー」および「MBean の保護」を参照してください。
表 4-1 デフォルト グローバル ロールと特権
グローバル ロール
|
特権
|
Anonymous
|
すべてのユーザ (everyone グループ) にこのグローバル ロールが付与される。
注意 :このグローバル ロールは利便性のために用意されており、weblogic.xml および weblogic-ejb-jar.xml デプロイメント記述子で指定できる。
|
Admin
|
|
Deployer
|
|
Operator
|
|
Monitor
|
サーバ コンフィグレーション (暗号化された属性は除く) を表示する。
このセキュリティ ロールでは、WebLogic Server Administration Console、weblogic.Admin ユーティリティ、および MBean API への読み込み専用アクセスが効果的に提供される。
|
注意 : WebLogic Server MBean を直接操作する予定であり、表 4-1 より詳細なグローバル ロールとその特権に関する情報が必要な場合は、「「保護された MBean の属性と操作」を参照してください。
デフォルト グローバル ロールに追加する場合は、「グローバル ロールの作成」で説明するように、独自のセキュリティ ロール (グローバルまたはスコープ) を作成できます。
保護された MBean の属性と操作
表 4-2 は、さまざまな WebLogic Server MBean について、Admin
デフォルト グローバル ロールが付与されているユーザまたはグループに与えられる不変の特権を示しています。つまり、Admin
デフォルト グローバル ロールが付与されているユーザまたはグループは、表 4-2 に示された MBean 属性にアクセスするためのパーミッションを持っています。
注意 :Admin
デフォルト グローバル ロールが付与されているユーザまたはグループには、表 4-3 から表 4-5 に示されている特権も与えられます。
表 4-2 Admin デフォルト グローバル ロールの MBean 特権
MBean
|
アクセス可能な属性
|
BridgeDestinationCommonMBean
|
UserPassword
|
BridgeDestinationMBean
|
UserPassword
|
JDBCConnectionPoolMBean
|
Password、XAPassword
|
JDBCDataSourceFactoryMBean
|
Password
|
JMSBridgeDestinationMBean
|
UserPassword
|
NetworkChannelMBean
|
DefaultIIOPPassword
|
NodeManagerMBean
|
CertificatePassword
|
SecurityConfigurationMBean
|
Credential、EncryptedSecretKey、Salt
|
SecurityMBean
|
Salt、EncryptedSecretKey
|
ServerMBean
|
SystemPassword、DefaultIIOPPassword、DefaultTGIOPPassword、CustomIdentityKeyStorePassPhrase、CustomTrustKeyStorePassPhrase、JavaStandardTrustKeyStorePassPhrase
|
ServerStartMBean
|
Password
|
SSLMBean
|
ServerPrivateKeyPassPhrase
|
WLECConnectionPoolMBean
|
UserPassword、ApplicationPassword
|
表 4-2 で示されている MBean はすべて、weblogic.management.configuration
パッケージに含まれています。WebLogic Server のコンフィグレーションに使用される MBean の詳細については、『WebLogic Server のコンフィグレーションと管理』の「システム管理のインフラストラクチャ」を参照してください。
表 4-3 は、さまざまな WebLogic Server MBean について、Admin
デフォルト グローバル ロールまたは Deployer
デフォルト グローバル ロールが付与されているユーザまたはグループに与えられる不変の特権を示しています。つまり、Admin
デフォルト グローバル ロールまたは Deployer
デフォルト グローバル ロールが付与されているユーザまたはグループは、表 4-3 に示された MBean 操作にアクセスするためのパーミッションを持っています。
表 4-3 Admin または Deployer デフォルト グローバル ロールの特権
MBean
|
アクセス可能な操作
|
Application、ApplicationConfig
|
すべて
|
ConnectorComponent、ConnectorComponentConfig
|
すべて
|
DeployerRuntime、DeploymentTaskRuntime
|
すべて
|
EJBComponent、EJBComponentConfig
|
すべて
|
WebAppComponent、WebAppComponentConfig
|
すべて
|
WebServiceComponent、WebServiceComponentConfig
|
すべて
|
WebServer、WebServerConfig
|
すべて
|
JDBCConnectionPool、JDBCConnectionPoolConfig
|
すべて
|
JDBCDataSourceFactory、JDBCDataSourceFactoryConfig
|
すべて
|
JDBCMultiPool、JDBCMultipoolConfig
|
すべて
|
JDBCDataSource、JDBCDataSourceConfig
|
すべて
|
JDBCTxDataSource、JDBCTxDataSourceConfig
|
すべて
|
JDBCPoolComponent、JDBCPoolComponentConfig
|
すべて
|
JMSBridgeDestination、JMSBridgeDestinationConfig
|
すべて
|
JMSConnectionConsumer、JMSConnectionConsumerConfig
|
すべて
|
JMSConnectionFactory、JMSConnectionFactoryConfig
|
すべて
|
JMSDestination、JMSDestinationConfig
|
すべて
|
JMSDistributedDestination、JMSDistributedDestinationConfig
|
すべて
|
JMSDistributedDestinationMember、JMSDistributedDestinationMemberConfig
|
すべて
|
JMSDistributedTopic、JMSDistributedTopicConfig
|
すべて
|
JMSDistributedTopicMember、JMSDistributedTopicMemberConfig
|
すべて
|
JMSDistributedQueue、JMSDistributedQueueConfig
|
すべて
|
JMSDistributedQueueMember、JMSDistributedQueueMemberConfig
|
すべて
|
JMSFileStore、JMSFileStoreConfig
|
すべて
|
JMSDestinationKey、JMSDestinationKeyConfig
|
すべて
|
JMSServer、JMSServerConfig
|
すべて
|
JMSStore、JMSStoreConfig
|
すべて
|
JMSSessionPool、JMSSessionPoolConfig
|
すべて
|
JMSTemplate、JMSTemplateConfig
|
すべて
|
JMSQueue、JMSQueueConfig
|
すべて
|
JMSTopic、JMSTopicConfig
|
すべて
|
JMSJDBCStore、JMSJDBCStoreConfig
|
すべて
|
WTCServer、WTCServerConfig
|
すべて
|
WTCBridgeGlobal、WTCBridgeGlobalConfig
|
すべて
|
WTCResources、WTCResourcesConfig
|
すべて
|
WTCExport、WTCExportConfig
|
すべて
|
WTCImport、WTCImportConfig
|
すべて
|
WTCLocalTuxDom、WTCLocalTuxDomConfig
|
すべて
|
WTCRemoteTuxDom、WTCRemoteTuxDomConfig
|
すべて
|
WTCPassword、WTCPasswordConfig
|
すべて
|
WTCtBridgeGlobal、WTCtBridgeGlobalConfig
|
すべて
|
WTCtBridgeRedirect、WTCtBridgeRedirectConfig
|
すべて
|
EJBDescriptor、ConnectorDescriptor、WebDescriptor
|
すべて
|
Server
|
addDeployment、lookupServerLifeCycleRuntime、lookupServerRuntime、removeDeployment、sendNotification
|
ServerConfig
|
addDeployment、lookupServerLifeCycleRuntime、removeDeployment、sendNotification
|
表 4-4 は、さまざまな WebLogic Server MBean について、Admin
デフォルト グローバル ロールまたは Monitor
デフォルト グローバル ロールが付与されているユーザまたはグループに与えられる不変の特権を示しています。つまり、Admin
デフォルト グローバル ロールまたは Monitor
デフォルト グローバル ロールが付与されているユーザまたはグループは、表 4-4 に示された MBean 操作にアクセスするためのパーミッションを持っています。
表 4-4 Admin または Monitor デフォルト グローバル ロールの特権
MBean
|
アクセス可能な操作
|
Machine
|
lookupNodeManagerRuntime
|
NodeManagerRuntime
|
getStateForAll、register
|
Server
|
lookupServerLifeCycleRuntime、lookupServerRuntime
|
表 4-5 は、さまざまな WebLogic Server MBean について、Admin
デフォルト グローバル ロールまたは Operator
デフォルト グローバル ロールが付与されているユーザまたはグループに与えられる不変の特権を示しています。つまり、Admin
デフォルト グローバル ロールまたは Operator
デフォルト グローバル ロールが付与されているユーザまたはグループは、表 4-5 に示された MBean 操作にアクセスするためのパーミッションを持っています。
表 4-5 Admin または Operator デフォルト グローバル ロールの特権
MBean
|
アクセス可能な操作
|
ServerLifeCycleRuntime
|
すべて
|
ServerLifeCycleTaskRuntime
|
すべて
|
ServerStart
|
すべて
|
Server
|
ExpectedToRun、lookupServerLifeCycleRuntime、lookupServerRuntime、sendNotification、start、suspend
|
ServerConfig
|
ExpectedToRun、lookupServerLifeCycleRuntime、sendNotification
|
ServerRuntime
|
forceShutdown、resume、shutdown、start、stop
|
デフォルト グループの関連付け
デフォルトでは、WebLogic Server は 4 つのデフォルト グループに 4 つのデフォルト グローバル ロールを付与します。これらのグループのいずれかにユーザを追加すると、そのユーザにはグローバル ロールが自動的に付与されます。このデフォルト グループの関連付けを表 4-6 に示します。
表 4-6 デフォルト グループの関連付け
グループ
|
関連付けられるグローバル ロール
|
Administrators
|
Admin
|
Deployers
|
Deployer
|
Operators
|
Operator
|
Monitors
|
Monitor
|
セキュリティ ロールの構成要素 : ロール条件、式、およびロール文
ロール条件は、セキュリティ ロール (グローバルまたはスコープ) をユーザまたはグループに付与する条件です。このリリースの WebLogic Server で使用できるロール条件は以下のとおりです。
[呼び出し側のユーザ名は
] - ユーザ名に基づいてセキュリティ ロールの条件を作成します。たとえば、ユーザ John
だけが BankTeller
セキュリティ ロールを付与されるという条件を作成できます。
[呼び出し側をメンバーとするグループは
] - グループに基づいてセキュリティ ロールの条件を作成します。たとえば、グループ FullTimeBankEmployees
に属するユーザだけが BankTeller
セキュリティ ロールを付与されるという条件を作成できます。セキュリティ管理がより効率的になるため、このロール条件をお勧めします。
[アクセス可能な時間帯は
] - 指定した時間に基づいてセキュリティ ロールの条件を作成します。たとえば、銀行の営業時間中にのみ BankTeller
セキュリティ ロールをユーザに付与するという条件を作成できます。
[アクセス可能な時間帯は
] ロール条件を使用したときは、ユーザを制限する他のロール条件を追加しない限り、指定した時間帯はすべてのユーザにセキュリティ ロールが付与されます。
これらのロール条件に対して特定の情報 (実際のユーザ名、グループ名、開始/終了時間など) を指定したものは式と呼ばれます。WebLogic Server Administration Console に表示される式の例を図 4-3 に示します。
図 4-3 式の例
この式の例では、1 行目がロール条件、2 行目が条件に対して指定した特定の情報 (この場合は、FullTimeBankEmployees
というグループ) です。
ロール文は、セキュリティ ロールが付与される条件を定義した式の集合です。したがって、作成するセキュリティ ロールの主要部分となります。複数の式を使用できるため、企業のセキュリティ要件に合わせて複雑なセキュリティ ロールを作成できます。式の間の and
と or
の使い方、および式の順序も重要な機能です。
and
は、セキュリティ ロールが付与されるにはすべての式が true である必要があることを指定するために使用します。
or
は、セキュリティ ロールが付与されるには少なくとも 1 つの式が true である必要があることを指定するために使用します。
ユーザまたはグループにセキュリティ ロールが付与されるには、ロール文全体が true である必要があります。ロール文の中では、制約が厳しい式ほど後に指定します。
WebLogic Server Administration Console に表示されるロール文の例を図 4-4 に示します。
図 4-4 ロール文の例
このロール文の例には 2 つの式があります。1 行目と 2 行目は [呼び出し側をメンバーとするグループは
] ロール条件に基づく式、3 行目と 4 行目は [アクセス可能な時間帯は
] ロール条件に基づく別の式です。
グローバル ロールの操作
以下の節では、グローバル ロールを操作する手順について説明します。
注意 :この節では、グローバル ロールを作成、変更、および削除する方法について説明します。 常に WebLogic リソースを対象とするスコープ ロールを作成、変更、および削除する手順については、「スコープ ロールの操作」で説明します。
グローバル ロールの作成
注意 :セキュリティ ロールを作成する前に「Administration Console でのセキュリティ ロールの作成」を見直しておくとよいでしょう。サーバ リソースを保護するために使用されるグローバル ロールを作成する場合は、必ず「一貫性のあるセキュリティ方式の維持」にあるアドバイスに従ってください。
新しいグローバル ロールを作成するには、次の手順に従います。
WebLogic Server Administration Console の左ペインで [セキュリティ|レルム] を展開します。
グローバル ロールを作成するセキュリティ レルムの名前 (myrealm
など) を展開します。
[グローバル ロール] をクリックします。[グローバル ロール] ページに、現在定義されているすべてのグローバル ロールが表示されます。
[新しいグローバル ロールのコンフィグレーション] をクリックします。
注意 :セキュリティ レルムで複数の WebLogic ロール マッピング プロバイダがコンフィグレーションされている場合は、それらをリストする表が表示されます。その表で、新しいグローバル ロールの情報を格納する WebLogic ロール マッピング プロバイダのデータベースを選択してから手順 5 を実行してください。
[全般] タブで、グローバル ロールの名前を [名前] フィールドに入力します。
スペース、カンマ、ハイフン、\t、< >、#、|、&、~、?、( )、{ } を使用しないでください。セキュリティ ロール名では大文字/小文字が区別されます。BEA の命名規約では、セキュリティ ロール名は単数形であり、先頭の文字は大文字になります。
セキュリティ ロール名の正しい構文は、XML (Extensible Markup Language) 勧告の Nmtoken
に定義されています。
[条件] タブをクリックします。図 4-5 に示すようなロール エディタ ページが表示されます。
図 4-5 ロール エディタ ページ
[呼び出し側をメンバーとするグループ
] 条件を使用して式を作成することをお勧めします。グループを使用してセキュリティ ロールを作成すると、セキュリティ ロールはそのグループのすべてのメンバー (つまり複数のユーザ) に付与されます。
[追加] をクリックします。カスタマイズされたウィンドウが表示されます。 (図 4-6 を参照)。
図 4-6 [呼び出し側をメンバーとするグループ] のカスタマイズされたウィンドウ
[アクセス可能な時間帯は
] 条件を選択した場合は、[時間制約] ウィンドウを使用して開始時刻と終了時刻を選択し、[OK] をクリックします。ウィンドウが閉じて、[ロール文] リスト ボックスに式が表示されます。(図 4-7 を参照)。
他の条件のいずれかを選択した場合は、次の手順に従います。
[ユーザ] または [グループ] ウィンドウを使用してユーザまたはグループの名前を入力し、[追加] をクリックします。リスト ボックスに式が表示されます。
複数のユーザまたはグループを追加するには、この手順を複数回繰り返します。
必要に応じて、リスト ボックスの右側にあるボタンを使用して式を変更します。
[上へ移動] および [下へ移動] をクリックすると、強調表示されたユーザ名またはグループ名の順序を、評価される順序に変更できます。[変更] をクリックすると、式の間にある強調表示された and
文と or
文が切り替わります。[削除] をクリックすると、強調表示されたユーザ名またはグループ名が削除されます。
[OK] をクリックして、ロール文に式を追加します。ウィンドウが閉じて、[ロール文] リスト ボックスに式が表示されます。(図 4-7 を参照)。
図 4-7 [ロール文] リスト ボックスの式の例
必要に応じて、手順 8 から 10 を繰り返して、さまざまなロール条件に基づいて式を追加します。
必要に応じて、[ロール文] リスト ボックスの右側にあるボタンを使用して式を変更します。
[上へ移動] および [下へ移動] をクリックすると、強調表示された式の順序を、評価される順序に変更できます。
[変更] をクリックすると、式の間にある強調表示された and
文と or
文が切り替わります。
[編集] をクリックすると、強調表示された式のカスタマイズされたウィンドウが再び開き、式を変更できます。
[削除] をクリックすると、強調表示された式が削除されます。
[ロール文] リスト ボックスのすべての式が正しい場合は、[適用] をクリックします。
[全般] タブが表示されます。
注意 :ロール エディタ ページの最下部にある [リセット] をクリックして、ページを元の状態に戻すこともできます (つまり、変更を取り消すということ)。
グローバル ロールの変更
グローバル ロールを変更する手順は、新しいグローバル ロールの作成手順とほとんど同じです。
WebLogic Server Administration Console の左ペインで [セキュリティ|レルム] を展開します。
グローバル ロールを変更するセキュリティ レルムの名前 (myrealm
など) を展開します。
[グローバル ロール] ページに、WebLogic ロール マッピング プロバイダのデータベースで現在定義されているすべてのグローバル ロールが表示されます。
テーブルから、変更するグローバル ロールを選択します。
右ペインに、その WebLogic リソースを対象とするすべてのスコープ ロールを示すテーブルが表示されます。
[条件] タブをクリックします。ロール エディタ ページが表示されます。
グローバル ロールの削除
グローバル ロールを削除するには、次の手順に従います。
WebLogic Server Administration Console の左ペインで [セキュリティ|レルム] を展開します。
グローバル ロールを削除するセキュリティ レルムの名前 (myrealm
など) を展開します。
[グローバル ロール] ページに、WebLogic ロール マッピング プロバイダのデータベースで現在定義されているすべてのグローバル ロールが表示されます。
削除するグローバル ロールと同じ行にあるごみ箱アイコンをクリックします。
[グローバル ロール] ページのテーブルには、削除されたグローバル ロールは表示されなくなります。
スコープ ロールの操作
以下の節では、さまざまなタイプの WebLogic リソースを対象とするスコープ ロールを操作する手順について説明します。
スコープ ロールの作成
WebLogic リソースを対象とするスコープ ロールを作成するには、次の手順に従います。
注意 :スコープ ロールを操作する手順は、WebLogic リソースごとに若干異なります。必ず、この手順に記述されている、操作対象の WebLogic リソースのタイプに固有の手順に従ってください。詳細については、「WebLogic リソースのタイプ」を参照してください。
手順 1 : WebLogic リソースの選択
適切な節の手順に従って、スコープ ロールを作成する対象となる WebLogic リソースのタイプを選択してください。
管理リソース
WebLogic Server Administration Console の左ペインで WebLogic Server ドメインの名前 (examples
など) を右クリックして、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
アプリケーション リソース
WebLogic Server Administration Console の左ペインで [デプロイメント|アプリケーション] を展開します。
必要に応じて、スコープ ロールを作成する対象となるエンタープライズ アプリケーション (EAR) を展開して、そこに含まれている異なるタイプの WebLogic リソースを確認してください。
エンタープライズ アプリケーション (EAR) を右クリックして、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
COM リソース
EJB クラスのパッケージ (ejb20.basic.beanManaged.*
など) が COM クライアントによってアクセスされる場合は、次の手順を行います。
WebLogic Server Administration Console の左ペインで [デプロイメント|EJB モジュール] を展開します。
[EJB モジュール] ノードが展開され、現在デプロイされている EJB JAR が表示されます。
パッケージへのアクセスに使用される EJB を含む EJB JAR の名前を右クリックして、[個別の Bean のポリシーとロールを定義...] を選択します。EJB のリストが表示されます。
パッケージへのアクセスに使用される EJB と同じ行にある [jCOM ロールを定義] リンクをクリックします。
[全般] タブの [COM クラス] フィールドに、セキュリティ ロールの対象にするパッケージの名前が表示されます。
[COM クラス] フィールドの値は、jCOM ブリッジを介して COM にエクスポーズされる Java クラスまたはパッケージ名です。
[ロール スコープを定義] ボタンをクリックします。[スコープ指定ロール] ページが表示されます。
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
Java クラスのパッケージ (java.util.*
など) または個々のクラス (java.util.Collection
など) が COM クライアントによってアクセスされる場合は、次の手順を行います。
WebLogic Server Administration Console の左ペインで [サービス] を展開します。
[jCOM] ノードを右クリックして、[ロール スコープを定義] を選択します。
[全般] タブの [COM クラス] フィールドに、セキュリティ ロールの対象にする Java クラスまたはパッケージの名前を入力します。
[COM クラス] フィールドに入力する値は、jCOM ブリッジを介して COM にエクスポーズされる Java クラスまたはパッケージ名です。
[ロール スコープを定義] ボタンをクリックします。[スコープ指定ロール] ページが表示されます。
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
EIS リソース
WebLogic Server Administration Console の左ペインで [デプロイメント] を展開します。
[デプロイメント] ノードが展開されて、デプロイできる WebLogic リソースのタイプが表示されます。
作成するスコープ ロールの対象になる EIS リソースのレベルで右クリックし、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
すべてのコネクタを対象とするスコープ ロールを作成する場合は、ナビゲーション ツリーで [コネクタ モジュール] を右クリックします。特定のコネクタを対象とするスコープ ロールを作成する場合は、[コネクタ モジュール] を展開し、そのコネクタの名前を右クリックします。図 4-8 に、例として basic-connector
を使用して、クリックする場所を示します。
図 4-8 Administration Console ナビゲーション ツリーの [デプロイメント] の部分
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
EJB リソース
注意 :この手順は、メッセージ駆動型 Bean (MDB) にも適用できます。
WebLogic Server Administration Console の左ペインで [デプロイメント] を展開します。
[デプロイメント] ノードが展開されて、デプロイできる WebLogic リソースのタイプが表示されます。
作成するスコープ ロールの対象になる EJB リソースのレベルで右クリックします。
すべての EJB JAR を対象とするスコープ ロールを作成する場合は、ナビゲーション ツリーで [EJB モジュール] を右クリックします。特定の EJB JAR またはJAR 内での EJB を対象とするスコープ ロールを作成する場合は、[EJB モジュール] を展開し、その EJB JAR の名前を右クリックします。図 4-9 に、例として basic-ejbapp
JAR を使用して、クリックする場所を示します。
図 4-9 Administration Console ナビゲーション ツリーの [デプロイメント] の部分
すべての EJB JAR または特定の EJB JAR (JAR 内のすべての EJB) を対象とするスコープ ロールを作成する場合は、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
EJB JAR 内の特定の EJB を対象とするスコープ ロールを作成する場合は、次の手順に従います。
[個別の Bean のポリシーとロールを定義...] を選択します。EJB のリストが表示されます。
作成するスコープ ロールの対象になる EJB と同じ行にある [ロール スコープを定義] リンクをクリックします。
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
JDBC リソース
WebLogic Server Administration Console の左ペインで [サービス|JDBC] を展開します。
[JDBC] ノードが展開されて、さまざまな JDBC コンポーネント (接続プール、マルチプール、データソースなど) のノードが表示されます。
作成するスコープ ロールの対象になる JDBC リソースのレベルで右クリックし、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
すべての接続プールを対象とするスコープ ロールを作成する場合は、ナビゲーション ツリーで [接続プール] を右クリックします。特定の接続プールを対象とするスコープ ロールを作成する場合は、[接続プール] を展開し、その接続プールの名前を右クリックします。個別のマルチプールを対象とするスコープ ロールを作成する場合は、[マルチプール] を展開し、そのマルチプールの名前を右クリックします。
注意 :すべてのマルチプールを対象とするスコープ ロールは作成できません。
図 4-10 に、例としてさまざまな接続プールおよびマルチプールを使用して、クリックする場所を示します。
図 4-10 Administration Console ナビゲーション ツリーの [サービス] の部分
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
JMS リソース
WebLogic Server Administration Console の左ペインで [サービス|JMS] を展開します。
[JMS] ノードが展開されて、さまざまな JMS コンポーネント (接続ファクトリ、テンプレート、送り先キーなど) のノードが表示されます。
作成するスコープ ロールの対象になる JMS リソースのレベルで右クリックし、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
すべての JMS コンポーネントを対象とするスコープ ロールを作成する場合は、ナビゲーション ツリーで [JMS] を右クリックします。JMS サーバの特定の送り先を対象とするスコープ ロールを作成する場合は、[サーバ|(JMS サーバ)|送り先] ノードを展開し、その送り先の名前を右クリックします。図 4-11 に、例として examplesJMSServer
を使用して、クリックする場所を示します。
図 4-11 Administration Console ナビゲーション ツリーの [サービス] の部分
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
JNDI リソース
WebLogic Server Administration Console の左ペインで [サーバ] を展開します。
[サーバ] ノードが展開され、現在の WebLogic Server ドメインで利用可能なサーバが表示されます。
作成するスコープ ロールの対象になる JNDI リソースを保持しているサーバの名前を右クリックします (myserver
など)。
表示されるメニューから [JNDI ツリーを表示] オプションを選択します。
新しい Administration Console ウィンドウに、このサーバの JNDI ツリーが表示されます。
新しい Administration Console ウィンドウで、作成するスコープ ロールの対象になる JNDI リソースのレベルで右クリックし、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
オブジェクトのグループを対象とするスコープ ロールを作成する場合は、ナビゲーション ツリーでそのオブジェクト タイプを表すノードを右クリックします。特定のオブジェクトを対象とするスコープ ロールを作成する場合は、そのオブジェクトを表すノードを展開し、オブジェクトの名前を右クリックします。
図 4-12 に、例として examplesServer
JNDI ツリーを使用して、クリックする場所を示します。
図 4-12 examplesServer JNDI ツリーの新しい Administration Console ウィンドウ
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
サーバ リソース
WebLogic Server Administration Console の左ペインで [サーバ] を展開します。
[サーバ] ノードが展開されて、スコープ ロールを作成する対象となる、さまざまなサーバ リソースが表示されます。
作成するスコープ ロールの対象になるサーバ リソースのレベルで右クリックし、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
すべてのサーバを対象とするスコープ ロールを作成する場合は、ナビゲーション ツリーで [サーバ] を右クリックします。特定のサーバを対象とするスコープ ロールを作成する場合は、[サーバ] を展開し、そのサーバの名前を右クリックします。図 4-13 に、例として examplesServer
を使用して、クリックする場所を示します。
図 4-13 Administration Console ナビゲーション ツリーの [サーバ] の部分
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
URL リソース
WebLogic Server Administration Console の左ペインで [デプロイメント] を展開します。
[デプロイメント] ノードが展開されて、デプロイできる WebLogic リソースのタイプが表示されます。
作成するスコープ ロールの対象になる URL (Web) リソースのレベルで右クリックします。
すべての Web アプリケーション (WAR) を対象とするスコープ ロールを作成する場合は、ナビゲーション ツリーで [Web アプリケーション モジュール] を右クリックします。 特定の WAR または WAR 内のコンポーネント (特定のサーブレット、JSP など) を対象とするスコープ ロールを作成するには、[Web アプリケーション モジュール] を展開し、その Web アプリケーション (WAR) の名前を右クリックします。図 4-14 に、例として basic-webapp
を使用して、クリックする場所を示します。
図 4-14 Administration Console ナビゲーション ツリーの [デプロイメント] の部分
すべての Web アプリケーション (WAR) を対象とするスコープ ロールを作成する場合は、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
特定の WAR または WAR 内のコンポーネントを対象とするスコープ ロールを作成する場合は、次の手順に従います。
[ロール スコープを定義...] を選択します。[全般] タブが表示されます。
テキスト フィールドに URL パターンを入力します。
URL パターンは、Web アプリケーションに含まれる特定のコンポーネントのパスです。または、/*
を使用して、Web アプリケーション内のすべてのコンポーネント (サーブレット、JSP など) にスコープ ロールを関連付けることができます。
[ロール スコープを定義...] ボタンをクリックします。[スコープ指定ロール] ページが表示されます。
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
Web サービス リソース
WebLogic Server Administration Console の左ペインで [デプロイメント] を展開します。
Web サービスが EAR ファイルとしてパッケージ化されている場合は、[アプリケーション] を展開し、続いてその Web サービスを含むアプリケーションの名前を展開します。アプリケーションが展開されて、アプリケーションを構成するコンポーネント (Web サービス Web アプリケーションを含む) が表示されます。
Web サービスがスタンドアロンの Web アプリケーションとしてパッケージ化されている場合は、[Web アプリケーション モジュール] を展開します。
注意 : アイコンは Web サービスを示します。
Web サービスの名前を右クリックして、[ロール スコープを定義...] を選択します。[スコープ指定ロール] ページが表示されます。
使用可能な場合、右ペインに現在定義されているスコープ ロールを示すテーブルが表示されます。
手順 2 : スコープ ロールの作成
[スコープ指定ロール] ページで、[新しいスコープ指定ロールのコンフィグレーション] をクリックします。
注意 :セキュリティ レルムで複数の WebLogic ロール マッピング プロバイダがコンフィグレーションされている場合は、それらをリストする表が表示されます。その表で、新しいスコープ指定ロールの情報を格納する WebLogic ロール マッピング プロバイダのデータベースを選択してから手順 2 を実行してください。
[全般] タブで、スコープ ロールの名前を [名前] フィールドに入力します。
スペース、カンマ、ハイフン、\t、< >、#、|、&、~、?、( )、{ } を使用しないでください。セキュリティ ロール名では大文字/小文字が区別されます。BEA の命名規約では、セキュリティ ロール名は単数形であり、先頭の文字は大文字になります。
セキュリティ ロール名の正しい構文は、XML (Extensible Markup Language) 勧告の Nmtoken
に定義されています。
警告 :グローバル ロールと同名のスコープ ロールを作成する場合、スコープ ロールがグローバル ロールに優先します。
手順 3 : ロール条件の作成
[条件] タブをクリックします。図 4-15 に示すようなロール エディタ ページが表示されます。
図 4-15 ロール エディタ ページ
[呼び出し側をメンバーとするグループ
] 条件を使用して式を作成することをお勧めします。グループを使用してセキュリティ ロールを作成すると、セキュリティ ロールはそのグループのすべてのメンバー (つまり複数のユーザ) に付与されます。
JMS サブシステムではセキュリティ チェックは 1 回しか実行されませんが、[アクセス可能な時間帯は
] 条件では続くセキュリティ チェックが必要になります。そのため、JMS リソースを対象とするスコープ ロールを作成する場合には、[アクセス可能な時間帯は
] 条件を使用しないようにしてください。
[追加] をクリックします。カスタマイズされたウィンドウが表示されます。(図 4-16 を参照)。
図 4-16 [呼び出し側をメンバーとするグループ] のカスタマイズされたウィンドウ
[アクセス可能な時間帯は
] 条件を選択した場合は、[時間制約] ウィンドウを使用して開始時刻と終了時刻を選択し、[OK] をクリックします。ウィンドウが閉じて、[ロール文] リスト ボックスに式が表示されます。(図 4-17 を参照)。
他の条件のいずれかを選択した場合は、次の手順に従います。
[ユーザ] または [グループ] ウィンドウを使用してユーザまたはグループの名前を入力し、[追加] をクリックします。リスト ボックスに式が表示されます。
複数のユーザまたはグループを追加するには、この手順を複数回繰り返します。
必要に応じて、リスト ボックスの右側にあるボタンを使用して式を変更します。
[上へ移動] および [下へ移動] をクリックすると、強調表示されたユーザ名またはグループ名の順序を、評価される順序に変更できます。[変更] をクリックすると、式の間にある強調表示された and
文と or
文が切り替わります。[削除] をクリックすると、強調表示されたユーザ名またはグループ名が削除されます。
[OK] をクリックして、ロール文に式を追加します。ウィンドウが閉じて、[ロール文] リスト ボックスに式が表示されます。(図 4-17 を参照)。
図 4-17 [ロール文] リスト ボックスの式の例
必要に応じて、手順 2 から 4 を繰り返して、さまざまなロール条件に基づいて式を追加します。
必要に応じて、[ロール文] リスト ボックスの右側にあるボタンを使用して式を変更します。
[上へ移動] および [下へ移動] をクリックすると、強調表示された式の順序を、評価される順序に変更できます。
[変更] をクリックすると、式の間にある強調表示された and
文と or
文が切り替わります。
[編集] をクリックすると、強調表示された式のカスタマイズされたウィンドウが再び開き、式を変更できます。
[削除] をクリックすると、強調表示された式が削除されます。
[ロール文] リスト ボックスのすべての式が正しい場合は、[適用] をクリックします。
[全般] タブが表示されます。
注意 :ロール エディタ ページの最下部にある [リセット] をクリックして、ページを元の状態に戻すこともできます (つまり、変更を取り消すということ)。
スコープ ロールの変更
WebLogic リソースを対象とするスコープ ロールを変更するには、次の手順に従います。
テーブルから、変更するスコープ ロールを選択します。
右ペインに、その WebLogic リソースを対象とするすべてのスコープ ロールを示すテーブルが表示されます。
スコープ ロールの削除
WebLogic リソースを対象とするスコープ ロールを削除するには、次の手順に従います。
右ペインに、その WebLogic リソースを対象とするすべてのスコープ ロールを示すテーブルが表示されます。
削除するスコープ ロールと同じ行にあるごみ箱アイコンをクリックします。
[スコープ指定ロール] ページのテーブルには、削除されたスコープ ロールは表示されなくなります。