WebLogic リソースのセキュリティ
ユーザ、グループ、セキュリティ ロール
この章では、ユーザ、グループ、およびセキュリティ ロールの特長と機能について説明します。
ユーザとグループの概要
ユーザは認証可能なエンティティです。ユーザは、個人でも Java クライアントなどのソフトウェア エンティティでもかまいません。各ユーザには、セキュリティ レルム内でユニークな ID が与えられます。セキュリティ管理を効率化するには、ユーザをグループに追加することをお勧めします。グループは、通常、企業の同じ部門に所属しているなどの共通点を持つユーザの集合です。
デフォルト グループ
WebLogic Server には表 5-1 に示すグループが定義されています。これらのグループの中には、対応するグローバル セキュリティ ロールにデフォルトで割り当てられているものもあります。「デフォルト グローバル ロール」を参照してください。
表 5-1 デフォルト グループ
グループ名
|
メンバシップ
|
users
|
ログインしたときのユーザ (たとえば、Web ページから)。
users グループには <anonymous> ユーザを除くすべてのユーザが含まれる。
|
everyone
|
すべてのユーザは、このグループのメンバーである。
users グループは、everyone グループにネストされる。
|
Administrators
|
デフォルトでは、グループにはインストール プロセスの一部 (つまり、コンフィグレーション ウィザード) で入力されたユーザ情報、および system ユーザ (WebLogic Server インスタンスが互換性セキュリティを実行している場合) が含まれる。Administrators グループに割り当てられているユーザには、デフォルトで Admin セキュリティ ロールが付与されている。
「Administrators グループへのユーザの追加」を参照。
|
Deployers
|
デフォルトでは、このグループは空。Deployers グループに割り当てられたユーザは、デフォルトでは Deployer セキュリティ ロールを与えられる。
|
Operators
|
デフォルトでは、このグループは空。Operators グループに割り当てられたユーザは、デフォルトでは Operator セキュリティ ロールを与えられる。
|
Monitors
|
デフォルトでは、このグループは空。Monitors グループに割り当てられたユーザは、デフォルトでは Monitor セキュリティ ロールを与えられる。
|
AppTesters
|
デフォルトでは、このグループは空。AppTesters グループに割り当てられたユーザは、デフォルトでは AppTester セキュリティ ロールを与えられる。
|
Administrators グループへのユーザの追加
Administrators
グループには、インストール時に (コンフィグレーション ウィザードを使用して) 定義したユーザに加えて、少なくとも 1 人のユーザを追加する必要があります。常に 2 人以上の管理者がいることで、セキュリティ違反が起こった場合に 1 人しかいない管理ユーザがロックアウトされるという状況を防げます。また、「system」、「admin」、「Administrator」といった予測可能なユーザ名は避けるようにします。
Administration Console でのユーザとグループの管理
WebLogic Administration Console では、セキュリティ レルムに対して WebLogic 認証プロバイダを使用してユーザおよびグループを追加したり管理したりできます。詳細については、Administration Console オンライン ヘルプの「ユーザとグループの管理」を参照してください。
注意 : Administration Console を使用する手順は、WebLogic 認証プロバイダのユーザとグループにのみ適用されます。デフォルト セキュリティ コンフィグレーションをカスタマイズしてカスタム認証プロバイダを使用している場合、ユーザを作成するにはそのセキュリティ プロバイダの管理ツールを使用します。
WebLogic 認証プロバイダにアップグレードする場合、既存のユーザとグループを WebLogic 認証プロバイダのデータベースにロードできます。詳細については、『WebLogic Server のセキュリティ』の「セキュリティ データの移行」を参照してください。
セキュリティ ロールの概要
セキュリティ ロールは、特定の条件に基づいてユーザまたはグループに付与される特権です。グループと同様、セキュリティ ロールを使用すると、複数のユーザによる WebLogic リソースへのアクセスを一度に制限できます。ただし、セキュリティ ロールは以下の点でグループとは異なります。
セキュリティ ロールは、ユーザ名、グループ メンバシップ、または時刻などの条件に基づいて動的に計算されてユーザまたはグループに付与される。一方、グループは静的です。
セキュリティ ロールは、WebLogic Server ドメインの 1 つのアプリケーション内にある特定の WebLogic リソースをスコープとして指定できる。一方、グループは常に WebLogic Server ドメイン全体をスコープとします。「セキュリティ ロールのタイプ : グローバル ロールとスコープ ロール」を参照してください。
セキュリティ ロールをユーザまたはグループに付与すると、そのセキュリティ ロールを付与されている限り、そのユーザまたはグループには定義されたアクセス特権が与えられます。たとえば、管理者が AppAdmin
というセキュリティ ロールを定義するとします。このロールには、特定の Web アプリケーションのリソースに対する書き込みアクセスがあります。この場合、AppAdmin
セキュリティ ロールを付与されたすべてのユーザまたはグループは、その Web アプリケーション リソースに対して書き込みアクセスできるようになります。複数のユーザまたはグループに単一のセキュリティ ロールを付与することができます。
動的ロール マッピング
実行時に、WebLogic Security サービスはロール条件とユーザまたはグループを比較して、そのユーザまたはグループにセキュリティ ロールを動的に付与するかどうかを決定します。このプロセスをロール マッピングといいます。ロール マッピングは、WebLogic Security サービスが保護対象の WebLogic リソースに対するアクセス決定を下す直前に行われます。アクセス決定は、認可プロバイダのコンポーネントであり、WebLogic リソースに対して特定の操作を実行するパーミッションがサブジェクトにあるかどうかを判断します。
注意 : ロール条件とアクセス決定の詳細については、それぞれ「セキュリティ ロールの構成要素 : 条件、式、文」および『WebLogic セキュリティ プロバイダの開発』の「Access Decisions」を参照してください。
セキュリティ ロールの動的マッピングには、ビジネス ルールまたはリクエストのコンテキストに基づいてユーザまたはグループにセキュリティ ロールを付与できるという、非常に重要な利点があります。たとえば、本来の管理者が不在の間だけユーザに Manager
セキュリティ ロールを割り当てることができます。このセキュリティ ロールを動的に付与することで、そうした一時的な措置のためにアプリケーションを変更したり再デプロイしたりする必要はなくなります。一時的な管理者が特別な特権を持つ時間を指定するだけです。さらに、本来の管理者が戻ってきても、ユーザを一時的に管理者グループに追加した場合のように、特別な特権を取り消す必要はありません。
動的ロール マッピングとセキュリティ ポリシー
セキュリティ ポリシーも、認可判定が実行時に行われるため、動的に機能します (「セキュリティ ポリシー」を参照)。動的なロール マッピングをセキュリティ ポリシーと併用することでさらに柔軟性が高まります。一般的には、リソースにアクセスするエンティティ (ロール) ではなくリソースに基づいている認可判定の場合、セキュリティ ポリシーにセキュリティの式を追加します。リソースにアクセスするのが誰かということに焦点を置いた認可の場合、セキュリティ ロールに式を追加します。
セキュリティ ロールのタイプ : グローバル ロールとスコープ ロール
WebLogic Server には、グローバル ロールとスコープ ロールの 2 種類のセキュリティ ロールがあります。
セキュリティ レルム内 (したがって WebLogic Server ドメイン全体) にデプロイされているすべての WebLogic リソースに適用されるセキュリティ ロールはグローバル ロールと呼ばれる。
注意 : JSR 115 に定義されているように JACC (Java authorization Contract for Containers) を使用してセキュリティを実装している場合、セキュリティ ロールは使用できません。
セキュリティ レルムにデプロイされている WebLogic リソースの特定のインスタンス (EJB のメソッドや JNDI ツリーのブランチなど) に適用されるセキュリティ ロールはスコープ ロールと呼ばれる。「WebLogic リソースのタイプ」で説明したように、スコープ セキュリティ ロールはあらゆる WebLogic リソースに指定できます。
WebLogic リソースにセキュリティ ポリシーを作成する場合、ロールのタイプ (グローバルまたはスコープ) を組み合わせて使用できます。詳細については、「セキュリティ ポリシー」を参照してください。
WebLogic リソースを保護するためには (ユーザまたはグループよりも) セキュリティ ロールを作成して使用することをお勧めしますが、必ずしも特定のタイプのセキュリティ ロールを使用する必要はありません。WebLogic リソースを保護するためにそのまま使用できる複数のデフォルト グローバル ロールが用意されています (「デフォルト グローバル ロール」を参照)。
スコープ ロールはまず使用する必要はありません。スコープ ロールは柔軟性を高めるためのもので、高度なユーザ向けの特別な機能です。
デフォルト グローバル ロール
WebLogic Server には、表 5-2 に示すグローバル ロールがデフォルトで定義されています。この表に、こうしたセキュリティ ロールのユーザまたはグループに付与される特権と、各ロールへのデフォルト グループの割り当てについてまとめます。これらのグループのいずれかにユーザを追加すると、そのユーザにはグローバル ロールが自動的に付与されます。
デフォルト グローバル ロールは、ほとんどのタイプの WebLogic リソースを保護するデフォルト セキュリティ ポリシーで使用されます。さらにデフォルト グローバル ロールは、MBean として公開されるサーバ リソースに対する追加のセキュリティを提供するために使用されます。詳細については、「保護された MBean の属性と操作」を参照してください。
関連する情報については、「セキュリティ ポリシー」および「MBean の保護」を参照してください。
保護された MBean の属性と操作
この節の表では、「デフォルト グローバル ロール」で説明したデフォルト グローバル ロールに付与されている MBean の特権について示します。
以下の点に留意します。
Admin グローバル ロールにはすべての MBean および MBean 属性への完全なアクセス権がある。このため、Admin ロールは表には記載されていません。
表のカラムの表記に関する説明は以下のとおり。
暗号化されていないすべての属性には、誰でも (Everyone) 読み取りのアクセス権を持つ。
この表に記載されていないあらゆる MBean タイプには以下が適用される。
Admin ロールのみが属性に書き込める。
Admin ロールのみが操作 (userExists
を除く) を呼び出せる。
セキュリティ プロバイダ MBean の userExists
メソッドは誰でも (Everyone) 呼び出せる。
この節では以下の MBean の保護について説明します。
詳細については、『WebLogic Server MBean リファレンス』を参照してください。
コンフィグレーションと実行時 MBean の保護
表 5-3 に WebLogic コンフィグレーションおよび実行時 MBean へのグローバル ロールのアクセスを示します。
注意 : Admin グローバル ロールはすべての MBean および MBean 属性にアクセスできるので、ここでの説明には含まれていません。
表 5-3 Weblogic コンフィグレーションおよび実行時 MBean の保護
MBean のタイプ
|
Deployer
|
Operator
|
Monitor
|
Everyone
|
AppDeployment
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
AppDeploymentConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
AppRuntimeStateRuntime
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
Application
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
ApplicationConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
ApplicationRuntime
|
注 1 を参照。
|
完全アクセス
|
読み取り可
|
読み取り可
|
ConnectorComponent
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
ConnectorComponentConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
ConnectorServiceRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
DeployerRuntime
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
DeploymentTaskRuntime
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
Domain
|
注 2 を参照。
|
読み取り可
|
読み取り可
|
読み取り可
|
DomainConfig
|
注 3 を参照。
|
読み取り可
|
読み取り可
|
読み取り可
|
DomainRuntime
|
読み取り可
|
注 4 を参照。
|
読み取り可
|
読み取り可
|
EJBComponent
|
完全アクセス
|
読み取り可
|
読み取り可
|
注 5 を参照。
|
EJBComponentConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
EJBComponentRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
EJBPoolRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
EJBTransactionRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
JDBCConnectionPool
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCConnectionPoolConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCConnectionPoolRuntime
|
注 6 を参照。
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCDataSource
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCDataSourceConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCDataSourceFactory
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCDataSourceFactoryConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCMultiPool
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCMultipoolConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCPoolComponent
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCPoolComponentConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCSystemResource
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCSystemResourceConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCTxDataSource
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCTxDataSourceConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSBridgeDestination
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSBridgeDestinationConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSConnectionConsumer
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSConnectionConsumerConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSConnectionFactory
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSConnectionFactoryConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDestination
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDestinationConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDestinationKey
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDestinationKeyConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedDestination
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedDestinationConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedDestinationMember
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedDestinationMemberConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedQueue
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedQueueConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedQueueMember
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedQueueMemberConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedTopic
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedTopicConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedTopicMember
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSDistributedTopicMemberConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSFileStore
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSFileStoreConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSInteropModule
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSInteropModuleConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSJDBCStore
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSJDBCStoreConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSQueue
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSQueueConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSServer
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSServerConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSSessionPool
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSSessionPoolConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSStore
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSStoreConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSSystemResource
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSSystemResourceConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSTemplate
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSTemplateConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSTopic
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSTopicConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JTARuntime
|
読み取り可
|
読み取り可
|
読み取り可
|
注 7 を参照。
|
JoltConnectionPool
|
注 8 を参照。
|
読み取り可
|
読み取り可
|
読み取り可
|
Library
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
LibraryConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
NetworkChannel
|
注 9 を参照。
|
読み取り可
|
読み取り可
|
読み取り可
|
NodeManagerConfig
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
RequestClassRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
SAFAgentRuntime
|
読み取り可
|
注 10 を参照。
|
読み取り可
|
読み取り可
|
SAFRemoteEndpointRuntime
|
読み取り可
|
注 11 を参照。
|
注 11 を参照。
|
読み取り可
|
SecurityConfiguration
|
読み取り可
|
読み取り可
|
読み取り可
|
注 12 を参照。
|
SecurityConfigurationConfig
|
読み取り可
|
読み取り可
|
読み取り可
|
注 13 を参照。
|
Server
|
注 14 を参照。
|
注 14 を参照。
|
注 14 を参照。
|
読み取り可
|
ServerConfig
|
注 15 を参照。
|
注 15 を参照。
|
読み取り可
|
読み取り可
|
ServerLifeCycleRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
ServerLifeCycleTaskRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
ServerRuntime
|
注 16 を参照。
|
注 16 を参照。
|
読み取り可
|
読み取り可
|
ServerStart
|
注 17 を参照。
|
完全アクセス
|
読み取り可
|
読み取り可
|
ServletRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
StatelessEJBRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
SubDeployment
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
SubDeploymentConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
TargetInfo
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
TargetInfoConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
VirtualHost
|
注 18 を参照。
|
読み取り可
|
読み取り可
|
読み取り可
|
VirtualHostConfig
|
注 19 を参照。
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFSystemResource
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFSystemResourceConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLECConnectionPool
|
注 20 を参照。
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCBridgeGlobal
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCBridgeGlobalConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCExport
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCExportConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCImport
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCImportConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCLocalTuxDom
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCLocalTuxDomConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCPassword
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCPasswordConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCRemoteTuxDom
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCRemoteTuxDomConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCResources
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCResourcesConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCServer
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCServerConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCtBridgeGlobal
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCtBridgeGlobalConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCtBridgeRedirect
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WTCtBridgeRedirectConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WebAppComponent
|
完全アクセス
|
読み取り可
|
読み取り可
|
注 21 を参照。
|
WebAppComponentConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WebAppComponentRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
WebServer
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WebServerConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WebServerRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
WebServiceComponent
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WebServiceComponentConfig
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WorkManagerRuntime
|
読み取り可
|
完全アクセス
|
読み取り可
|
読み取り可
|
コンフィグレーションおよび実行時 MBean のメソッドの保護
この節では、表 5-3 で説明したグローバル ロールでアクセスできる個別の MBean メソッドを示します。以下の点に留意します。
Read(
attr
)
は、そのロールで属性 attr
を読み取れることを示す。
Write(
attr
)
は、そのロールで属性
attr
に書き込めることを示す。
注 1
ApplicationRuntime
Deployer は lookupComponents
にアクセスできます。
注 2
Domain
Deployer は lookupSystemResource
、lookupApplication
、lookupLibrary
、および lookupAppDeployment
にアクセスできます。
注 3
DomainConfig
Deployer は lookupApplication
、lookupLibrary
、および lookupAppDeployment
にアクセスできます。
注 4
DomainRuntime
Operator は lookupServerLifeCycleRuntime
および restartSystemResource
にアクセスできます。
注 5
EJBComponent
Everyone は findOrCreateEJBDescriptor
にアクセスできます。
注 6
JDBCConnectionPoolRuntime
Deployer は shrink
、disableDroppingUsers
、clearStatementCache
、suspend
、reset
、forceSuspend
、resume
、testPool
、shutdown
、および enable
にアクセスできます。
注 7
JTARuntime
Everyone は getTransactionsOlderThan
にアクセスできます。
注 8
JoltConnectionPool
Deployer は Read(UserPassword)
および Read(ApplicationPassword)
にアクセスできます。
注 9
NetworkChannel
Deployer は Read(DefaultIIOPPassword)
にアクセスできます。
注 10
SAFAgentRuntime
Operator は pauseForwarding
、pauseIncoming
、resumeForwarding
、pauseReceiving
、resumeReceiving
、および resumeIncoming
にアクセスできます。
注 11
SAFRemoteEndpointRuntime
Operator は pauseIncoming
、pauseForwarding
、resumeForwarding
、sort
、resumeIncoming
、および getMessages
にアクセスできます。
Monitor は sort
および getMessages
にアクセスできます。
注 12
SecurityConfiguration
Everyone は findRealms
、findDefaultRealm
、および findRealm
にアクセスできます。
注 13
SecurityConfigurationConfig
Everyone は findDefaultRealm
にアクセスできます。
注 14
Server
Deployer は Write(ExpectedToRun)
および lookupServerLifeCycleRuntime
にアクセスできます。
Operator は ExpectedToRun
、start
、sendNotification
、および JavaStandardTrustKeyStorePassPhrase
にアクセスできます。
Monitor は lookupServerLifeCycleRuntime
にアクセスできます。
注 15
ServerConfig
Deployer は Write(ExpectedToRun)
および lookupServerLifeCycleRuntime
にアクセスできます。
Operator は lookupServerLifeCycleRuntime
および ExpectedToRun
にアクセスできます。
注 16
ServerRuntime
Deployer は lookupApplicationRuntime
にアクセスできます。
Operator は start
、resume
、forceShutdown
、および shutdown
にアクセスできます。
注 17
ServerStart
Deployer は Write(OutputFile)
にアクセスできます。
注 18
VirtualHost
Deployer は addWebDeployment
および removeWebDeployment
にアクセスできます。
注 19
VirtualHostConfig
Deployer は addWebDeployment
および removeWebDeployment
にアクセスできます。
注 20
WLECConnectionPool
Deployer は Read(UserPassword)
および Read(ApplicationPassword)
にアクセスできます。
注 21
Everyone は findOrCreateWebDescriptor
にアクセスできます。
診断 MBean の保護
表 5-4 に、weblogic.diagnostics.descriptor
パッケージの MBean に対するグローバル ロールのアクセスを示します。
注意 : Admin グローバル ロールはすべての MBean および MBean 属性にアクセスできるので、ここでの説明には含まれていません。
表 5-4 Weblogic 診断 MBean の保護
MBean のタイプ
|
Deployer
|
Operator
|
Monitor
|
Everyone
|
WLDFHarvestedTypeBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFHarvesterBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFImageNotificationBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFInstrumentationBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFInstrumentationMonitorBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFJMSNotificationBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFJMXNotificationBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFNotificationBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFResourceBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFSMTPNotificationBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFSNMPNotificationBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFWatchBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
WLDFWatchNotificationBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
.
J2EE 記述子 MBean の保護
表 5-5 に、weblogic.j2ee.descriptor.wl
パッケージの MBean に対するグローバル ロールのアクセスを示します。
注意 : Admin グローバル ロールはすべての MBean および MBean 属性にアクセスできるので、ここでの説明には含まれていません。
表 5-5 WebLogic J2EE 記述子 MBean の保護
MBean のタイプ
|
Deployer
|
Operator
|
Monitor
|
Everyone
|
ClientParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
DefaultDeliveryParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
DeliveryFailureParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
DeliveryParamsOverridesBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
DestinationKeyBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
DistributedDestinationMemberBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
DistributedQueueBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
DistributedTopicBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
FlowControlParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
ForeignConnectionFactoryBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
ForeignDestinationBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
ForeignServerBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
GroupParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCConnectionPoolParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCDataSourceBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCDataSourceParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCDriverParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCDriverPropertiesBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCDriverPropertyBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JDBCXAParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
JMSConnectionFactoryBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
LoadBalancingParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
MessageLoggingParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
MulticastParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
PropertyBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
QueueBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
QuotaBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
SAFErrorHandlingBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
SAFImportedDestinations
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
SAFLoginContextBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
SAFQueueBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
SAFRemoteContextBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
SAFTopicBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
SecurityParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
TemplateBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
ThresholdParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
TopicBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
TransactionParamsBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
UniformDistributedQueueBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
UniformDistributedTopicBean
|
完全アクセス
|
読み取り可
|
読み取り可
|
読み取り可
|
MBean サーバの保護
表 5-6 に、weblogic.management.mbeanservers.domainruntime
パッケージの MBean に対するグローバル ロールのアクセスを示します。
注意 : Admin グローバル ロールはすべての MBean および MBean 属性にアクセスできるので、この表には含まれていません。
表 5-6 ドメインの実行時 MBean サーバの WebLogic MBean の保護
MBean のタイプ
|
Deployer
|
Operator
|
Monitor
|
Everyone
|
DomainRuntimeserviceMBean
|
読み取り可
|
読み取り可
|
読み取り可
|
完全アクセス
|
表 5-7 に、weblogic.management.mbeanservers.edit
パッケージの MBean に対するグローバル ロールのアクセスを示します。
注意 : Admin グローバル ロールはすべての MBean および MBean 属性にアクセスできるので、この表には含まれていません。
表 5-7 MBean サーバの WebLogic 編集 MBean の保護
MBean のタイプ
|
Deployer
|
Operator
|
Monitor
|
Everyone
|
ActivationTaskMBean
|
完全アクセス
|
完全アクセス
|
読み取り可
|
読み取り可
|
ConfigurationManagerMBean
|
完全アクセス
|
完全アクセス
|
読み取り可
|
読み取り可
|
EditServiceMBean
|
完全アクセス
|
完全アクセス
|
読み取り可
|
読み取り可
|
表 5-8 に、weblogic.management.mbeanservers.runtime
パッケージに対するグローバル ロールのアクセスを示します。
注意 : Admin グローバル ロールはすべての MBean および MBean 属性にアクセスできるので、この表には含まれていません。
表 5-8 実行時 MBean サーバの WebLogic MBean の保護
MBean のタイプ
|
Deployer
|
Operator
|
Monitor
|
Everyone
|
RuntimeServiceMBean
|
読み取り可
|
読み取り可
|
読み取り可
|
完全アクセス
|
セキュリティ ロールの構成要素 : 条件、式、文
ロール条件
ロール条件は、セキュリティ ロール (グローバルまたはスコープ) を実行時にユーザまたはグループに付与する条件です。WebLogic には、3 種類の組み込みロール条件が用意されています。こうした条件をあらゆる論理的な組み合わせで使用できます。
基本的なロール条件
このリリースの WebLogic Server で使用できる基本的なロール条件は以下のとおりです。
[グループ]
- グループに基づいてセキュリティ ロール条件を作成します。たとえば、グループ FullTimeBankEmployees
に属するユーザだけが BankTeller
セキュリティ ロールを付与されるという条件を作成できます。
セキュリティ管理がより効率的になるため、最低限の要件としてこのロール条件をお勧めします。
[ユーザ]
- ユーザ名に基づいてセキュリティ ロール条件を作成します。たとえば、ユーザ John
だけが BankTeller
セキュリティ ロールを付与されるという条件を作成できます。
[Server is in development mode]
- サーバが開発モードで実行されているかどうかに基づいてセキュリティ ロール条件を作成します。
[Allow access to everyone]
- すべてのユーザおよびグループを含むセキュリティ ロール条件を作成します。
[Deny access to everyone]
- ユーザおよびグループのどれも含まないセキュリティ ロール条件を作成します。
日付と時刻のロール条件
任意の日付と時刻のロール条件を使用する場合、他のいずれかのロール条件を追加してさらにユーザを制限しない限り、セキュリティ ロールでは指定した日付または時刻のアクセスをすべてのユーザに対して許可します。このリリースの WebLogic Server で使用できる日付と時刻のロール条件は以下のとおりです。
[Access occurs between specified hours]
- 指定した時間に基づいてセキュリティ ロール条件を作成します。たとえば、銀行の営業時間中にのみ BankTeller
セキュリティ ロールをユーザに付与するという条件を作成できます。
[Access occurs after]
- 指定した時刻より後の時間に基づくセキュリティ ロール条件を作成します。たとえば、銀行の営業開始時間より後など特定の日付や時刻の後にのみ BankTeller
セキュリティ ロールをユーザに付与するという条件を作成できます。
[Access occurs before]
- 指定した時刻より前の時間に基づくセキュリティ ロール条件を作成します。たとえば、銀行の営業終了時間より前など特定の日付や時刻の前にのみ BankTeller
セキュリティ ロールをユーザに付与するという条件を作成できます。
[Access occurs on specified days of the week]
- 特定の曜日に基づくセキュリティ ロール条件を作成します。たとえば、平日にのみ BankTeller
セキュリティ ロールをユーザに付与するという条件を作成できます。
[Access occurs on the specified day of the month]
- 月の日付 (序数) に基づくセキュリティ ロール条件を作成します。たとえば、毎月 1 日にのみ BankTeller
セキュリティ ロールをユーザに付与するという条件を作成できます。
[Access occurs after the specified day of the month]
- 月の日付 (序数) より後の時間に基づくセキュリティ ロール条件を作成します。たとえば、毎月 15 日より後に BankTeller
セキュリティ ロールをユーザに付与するという条件を作成できます。
[Access occurs before the specified day of the month]
- 月の日付 (序数) より前の時間に基づくセキュリティ ロール条件を作成します。たとえば、毎月 15 日より前に BankTeller
セキュリティ ロールをユーザに付与するという条件を作成できます。
コンテキスト要素のロール条件
コンテキスト要素の条件を使用すると、HTTP サーブレット リクエスト属性、HTTP セッション属性、EJB メソッドのパラメータの値に基づいてセキュリティ ロールを作成できます。この情報は WebLogic Server によって ContextHandler オブジェクトから取得され、その値に基づいてロール条件を定義できます。こうした条件を使用する場合、使用しているコンテキストに属性またはパラメータと値のペアが確実に適用するようにするのはユーザの役目です。詳細については、『WebLogic セキュリティ プロバイダの開発』の「ContextHandlers and WebLogic Resources」を参照してください。
このリリースの WebLogic Server で使用できるコンテキスト要素のロール条件は以下のとおりです。
[Context element defined]
- 指定した属性またはパラメータの存在に基づくセキュリティ ロール条件を作成します。
[Context element's value equals a numeric constant]
- 指定した属性やパラメータの数値 (または double 型の数値を表す文字列) で、指定した double
型の数値と等しいものに基づく、セキュリティ ロール条件を作成します。
[Context element's value is greater than a numeric constant]
- 指定した属性やパラメータの数値 (または double 型の数値を表す文字列) で、指定した double
型の数値より大きいものに基づく、セキュリティ ロール条件を作成します。
[Context element's value is less than a numeric constant]
- 指定した属性やパラメータの数値 (または double 型の数値を表す文字列) で、指定した double
型の数値より小さいものに基づく、セキュリティ ロール条件を作成します。
[Context element's value equals a string constant]
- 指定した属性やパラメータの文字列値で、指定した文字列と等しいものに基づく、セキュリティ ロール条件を作成します。
ロール式
ロール条件に対して特定の情報 (実際のユーザ名、グループ、開始/終了時間など) を組み合わせたものは式と呼ばれます。ロールを定義する 1 つまたは複数の式は集合的にロール文と呼ばれています (「ロール文」を参照)。もっとも単純なロール文はロール式が 1 つ含まれるものです。たとえば、ロール条件が 1 つのみのグループを保持できます。
ロール文
ロール文は、セキュリティ ロールがどのように与えられるかを定義した式の集合です。複数の式を使用できるため、企業のセキュリティ要件に合わせて複雑なセキュリティ ロールを作成できます。式の間には and
演算子や or
演算子も使用でき、式の順序を変更したり式を否定したりすることもできます。詳細については、Administration Console オンライン ヘルプの「スコープ指定セキュリティ ロールの作成」を参照してください。
ユーザまたはグループにセキュリティ ロールが付与されるには、ロール文全体が true である必要があります。ロール文の中では、制約が厳しい式ほど後に指定します。
Administration Console でのセキュリティ ロールの管理
WebLogic Administration Console を使用して、グローバル セキュリティ ロールを作成したり、スコープ セキュリティ ロールの作成、変更、削除のために WebLogic リソースにアクセスしたりできます。詳細については、Administration Console オンライン ヘルプの「セキュリティ ロールの管理」を参照してください。