6 ユーザー、グループ、セキュリティ・ロール
この章の内容は以下のとおりです。
ユーザーとグループの概要
ユーザーは認証可能なエンティティです。ユーザーは、個人でもJavaクライアントなどのソフトウェア・エンティティでもかまいません。各ユーザーには、セキュリティ・レルム内でユニークなIDが与えられます。セキュリティ管理を効率化するには、ユーザーをグループに追加することをお薦めします。グループは、通常、企業の同じ部門に所属しているなどの共通点を持つユーザーの集合です。
デフォルト・ユーザー
WebLogic Serverドメインを作成すると、セキュリティ・レルム内にデフォルトで3つのユーザー・アカウント(ドメイン作成時に定義する管理ユーザー・アカウント、OracleSystemUser
およびLCMUser
)が作成されます。
-
デフォルトのWebLogic管理者ユーザー・アカウントは、ドメインの管理サーバーの起動および接続に使用されます。このアカウントのユーザー名とパスワードは、ドメインの作成時に指定します。これらの資格証明は、管理サーバーの起動とアクセスおよび管理コンソールへのログイン時に必要になるため、ノートにとっておいてください。
ノート:
-
セキュリティを強化するために、システム管理者のユーザー・アカウントに
system
、admin
、administrator
、weblogic
のようなわかりやすい名前を選択しないでください。保護された本番モードを有効にした場合、管理者グループのユーザーにこれらのわかりやすいユーザー名が付いていると、WebLogic Serverにより警告がログに記録されます。 -
少なくとも1人の追加ユーザーを作成して、その人に管理者セキュリティ・ロールを割り当てる必要があります。必ず、推測しにくい一意の名前を使用してください。少なくとも2つのシステム管理者のユーザー・アカウントがあれば、1つのユーザーが辞書攻撃や総当り攻撃でロックアウトになった場合でも、もう1つのユーザーでアカウント・アクセスを保持できます。
-
-
OracleSystemUser
を使用すると、WebLogic Serverで実行されるFusion Middlewareコンポーネント(Oracle SOA Suiteなど)のインストールが容易になります。これは、Oracle Web Services ManagerなどのFusion Middlewareコンポーネントのデフォルト・ユーザーです。ノート:
-
OracleSystemUser
には、ドメインの作成時にデフォルト管理ユーザーに指定したパスワードと同じパスワードが割り当てられます。必要な場合、このパスワードは管理コンソールで変更できます。 -
OracleSystemUser
はOracleSystemGroup
に割り当てられ、デフォルトでOracleSystemRole
が付与されます。このユーザーは、デフォルトのWebLogic Serverグループまたはグローバル・ロールのメンバーではありません。このため、WebLogic Serverのリソースにはアクセスできず、セキュリティの問題は発生しません。 -
スタンドアロンWebLogic Serverをインストールした場合、
OracleSystemUser
を問題なく削除できますが、削除した場合、後でWebLogic ServerにFusion Middlewareコンポーネントをインストールしようとしたり、Oracle Web Services Managerを使用しようとすると問題が発生します。
-
-
LCMUser
は、ライフサイクル・マネージャ、RESTful管理サービス、Fusion Middleware Controlなどのソフトウェア機能に必要な内部WebLogicアカウントです。ノート:
-
LCMUser
のパスワードはランダムに生成されるため、このユーザーとして管理コンソールにログインすることはできません。このパスワードを変更することはお薦めしません。 -
LCMUser
アカウントは削除しないでください。WebLogicセキュリティ・レルムからLCMUser
を削除した場合、ライフサイクル・マネージャ・ツールのメンテナンス機能が無効になり、後でインストールをアップグレードをしようとするとエラーが発生することがあります。 -
組込みLDAPを外部プロバイダに置き換えて、WebLogic Serverライフサイクル・マネージャ機能を使用する場合は、新しいプロバイダでこのユーザーを再作成する必要があります。『Oracle WebLogic Serverセキュリティの管理』の認証プロバイダの構成に関する項を参照してください。
-
デフォルト・グループ
表6-1に、WebLogic Serverで設定されたセキュリティ・レルムに定義されている、グループの一覧を示します。デフォルトでは、これらのグループの1つにユーザーを追加すると、デフォルト・グローバル・セキュリティ・ロールの1つにもユーザーが設定されます(「デフォルト・グローバル・ロール」を参照)。
表6-1 デフォルト・グループ
グループ名 | メンバーシップ |
---|---|
|
デフォルトでは、このグループにはインストール・プロセス(つまり、「構成」ウィザード)の一部として入力されたユーザー情報が含まれます。 |
|
デフォルトでは、このグループは空。 |
|
デフォルトでは、このグループは空。 |
|
デフォルトでは、このグループは空。 |
|
デフォルトでは、このグループは空。 |
|
デフォルトでは、このグループは空。 |
|
デフォルトでは、このグループは空。 |
|
デフォルトでは、このグループには |
実行時のグループ
実行時には、すべてのユーザーが次のグループに入ることになります。
-
users
。このグループには、認証されたすべてのユーザーが含まれます。 -
everyone
。このグループにはすべての匿名ユーザーと、(users
グループも匿名ユーザーであることから)認証されたすべてのユーザーが含まれます。
表6-1のグループ(または独自に作成した他のグループ)と違い、これらのグループに対して直接ユーザーの追加または削除を行うことはできません。これらのグループはWebLogic Server管理コンソールの「グループ」タブには表示されず、認証データベースでもエクスポートされません。
セキュリティ・ロールの概要
セキュリティ・ロールは、特定の条件に基いてユーザーまたはグループに付与されるIDです。複数のユーザーまたはグループに同じセキュリティ・ロールを付与することができます。また、ユーザーまたはグループは複数のセキュリティ・ロール内に存在できます。セキュリティ・ロールは、ポリシーにおいてWebLogicリソースにアクセスできるユーザーを決定するために使用されます。(「セキュリティ・ポリシー」を参照してください。)
ロールでは、セキュリティ・グループと同様にユーザーにIDが付与されます。ただし、セキュリティ・ロールは以下の点でグループとは異なります。
-
セキュリティ・ロールは、WebLogic Serverドメインの1つのアプリケーション内にある特定のWebLogicリソースをスコープとして指定できます。一方、グループは常にWebLogic Serverドメイン全体をスコープとします。「セキュリティ・ロールのタイプ:グローバル・ロールとスコープ指定ロール」を参照してください
-
セキュリティ・ロールは、ユーザー名、グループ・メンバーシップ、または時刻などの条件に基づいて動的に計算されてユーザーまたはグループに付与されます。一方、グループは静的です。
ロールを計算して付与するプロセスをロール・マッピングといいます。ロール・マッピングは、WebLogicセキュリティ・サービスが保護対象のWebLogicリソースに対するアクセス決定を下す直前に行われます。アクセス決定は、認可プロバイダのコンポーネントであり、WebLogicリソースに対して特定の操作を実行するパーミッションがサブジェクトにあるかどうかを判断します。(『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のアクセス決定に関する項を参照)
セキュリティ・ロールのタイプ:グローバル・ロールとスコープ指定ロール
WebLogic Serverには2種類のセキュリティ・ロールがあります。
-
グローバルセキュリティ・ロール。すべてのセキュリティ・ポリシーで使用できるロールです。WebLogicリソースを保護するためにそのまま使用できる複数のデフォルト・グローバル・ロールが用意されています(「デフォルト・グローバル・ロール」を参照)。
ノート:
JSR 115に定義されているようにJACC (Java Authorization Contract for Containers)を使用してセキュリティを実装している場合、セキュリティ・ロールは使用できません。
-
スコープ指定ロール。WebLogicリソースの特定のインスタンス(EJBのメソッド、JNDIツリーのブランチなど)用に定義されたポリシーにのみ使用できるロールです。スコープ指定ロールはまず使用する必要はありません。スコープ・ロールは柔軟性を高めるためのもので、高度なユーザー向けの特別な機能です。
デフォルト・グローバル・ロール
表6-2に、WebLogic Serverで設定されたセキュリティ・レルムに定義されている、グローバル・ロールの一覧を示します。この表ではさらに、デフォルト・セキュリティ・ポリシーによって各ロールに付与されるアクセスと、各ロールにデフォルトでどのグループが含まれるかについてもまとめます。表6-3は、管理者、デプロイヤ、オペレータおよびモニターのグローバル・ロールに対するWebLogic Server管理コンソールにおける権限をまとめたものです。
ノート:
これらのロールは削除しないでください。これらは、ほとんどの種類のWebLogicリソースを保護するデフォルト・セキュリティ・ポリシーで使用されます。また、MBeanセキュリティ・レイヤーでも使用されます。Adminロールを削除すると、実行中のドメインの構成をどのユーザーも変更できなくなります。「一貫性のあるセキュリティ方式の維持」を参照してください
表6-2 デフォルト・グローバル・ロール、特権、および割り当てられるデフォルト・グループ
グローバル・ロール | デフォルト・ポリシーで付与されるアクセス | デフォルトの条件に含まれるグループ |
---|---|---|
|
|
|
|
管理チャネル |
|
|
すべてのユーザー( ノート:このグローバル・ロールは利便性のために用意されており、weblogic.xmlおよびweblogic-ejb-jar.xmlデプロイメント記述子で指定できます。『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』のweblogic.xmlデプロイメント記述子の要素に関する項、および『Oracle WebLogic Server Enterprise JavaBeansバージョン2.1の開発』のejb-jarデプロイメント記述子のリファレンスに関する項を参照してください。 |
|
|
|
|
|
|
|
|
サーバー構成(暗号化された属性は除く)を表示します。 このセキュリティ・ロールでは、WebLogic Server管理コンソール、WLST、およびMBean APIへの読取り専用アクセスが効果的に提供されます。 |
|
|
管理モードで動作しているアプリケーションにテスト目的でアクセスします。『Oracle WebLogic Serverへのアプリケーションのデプロイ』のプロダクション・アプリケーションを分離するための管理モードに関する項を参照してください。 |
|
|
外部ドメインからドメイン間呼出しを実行します。『Oracle WebLogic Serverセキュリティの管理』のWebLogic Serverドメイン間の信頼の有効化に関する項を参照してください。 |
|
|
WS-Securityトークンが認証されたユーザーのかわりのIDアサーション。 ノート: このグローバル・ロールはOracle Web Services Managerで使用するために提供されています。 |
|
表6-3は、Admin
、Deployer
、Operator
およびMonitor
のグローバル・ロールに対してWebLogic Server管理コンソールで提供される権限をまとめたものです。表に示された情報は、WebLogicリソースおよびMBean用のデフォルトの即時利用可能なセキュリティ・ポリシーを基にしています。『Oracle WebLogic Server Administration Consoleオンライン・ヘルプ』のロールおよびポリシーを使用したリソースの保護に関する項で説明されているように、デフォルトのセキュリティ・ポリシーは管理コンソールで管理できます。
表6-3 デフォルトのグローバル・ロールに対するWebLogic Server管理コンソールの権限
権限 | 管理者 | デプロイヤ | オペレータ | モニター |
---|---|---|---|---|
セッション操作の編集(セッションの起動または解放、変更のアクティブ化または元に戻す) |
はい |
はい |
いいえ |
いいえ |
サーバー、クラスタ、テンプレートまたはマシン |
||||
ライフサイクル操作(作成、削除) |
はい |
いいえ |
いいえ |
いいえ |
構成の変更 |
はい |
いいえ |
いいえ |
いいえ |
操作の制御(起動、停止、再開) |
はい |
いいえ |
はい |
いいえ |
構成の表示 |
はい |
はい |
はい |
はい |
アプリケーション・デプロイメント |
||||
ライフサイクル操作(デプロイ、アンデプロイ、再デプロイ) |
はい |
はい |
いいえ |
いいえ |
構成の変更 |
はい |
はい |
いいえ |
いいえ |
操作の制御(起動、停止) |
はい |
はい |
いいえ |
いいえ |
JDBCおよびJMSリソース |
||||
ライフサイクル操作(作成、削除) |
はい |
はい |
いいえ |
いいえ |
構成の変更 |
はい |
はい |
いいえ |
いいえ |
操作の制御(起動、停止) |
はい |
いいえ |
いいえ |
いいえ |
構成の表示 |
はい |
はい |
はい |
はい |
クラス、Coherenceクラスタの起動と停止 |
||||
ライフサイクル操作(作成、削除) |
はい |
いいえ |
いいえ |
いいえ |
構成の変更 |
はい |
はい |
いいえ |
いいえ |
構成の表示 |
はい |
はい |
はい |
はい |
セキュリティ・ロール条件
ロールには、実行時にセキュリティ・ロールに含まれるユーザーを決定するために1つまたは複数の条件が指定されます。たとえば、基本的なロールは、Administratorグループのみになる場合があります。このポリシーは、WebLogicセキュリティ・サービスによって実行時に「Administratorグループをこのロールに含める」と解釈されます。さらに複雑な条件を作成することも可能で、そうした条件を論理演算子ANDやOR (非排他的なOR)で組み合せることもできます。また、どの条件も否定が可能で、それによってロールからユーザーを除外できます。ユーザーやグループにセキュリティ・ロールが与えられるには、すべての条件がtrueである必要があります。ロール文の中では、制約が厳しい式ほど後に指定します。
WebLogic Server管理コンソールには、次の項で説明する3つの組込みロール条件が、WebLogic Serverロール・マッピング・プロバイダにより表示されます。
ノート:
次の項では、WebLogicロール・マッピング・プロバイダまたはWebLogic XACMLロール・マッピング・プロバイダを使用するレルムで利用できる条件について説明します。セキュリティ・レルムでサード・パーティ製のロール・マッピング・プロバイダを使用する場合は、サード・パーティのドキュメントでこの機能について参照してください。
基本的なロール条件
このリリースのWebLogic Serverで使用できる基本的なロール条件は以下のとおりです。
-
ユーザー
- 指定したユーザーをロールに追加します。たとえば、ユーザーJohn
だけがBankTeller
セキュリティ・ロールを付与されるといった条件を作成できます。ノート:
Oracleでは、「ユーザー」条件のかわりに、ユーザーをグループに追加し、セキュリティ・ロールで「グループ」条件を使用することをお薦めします。「ユーザー」条件を使用する場合は、ユーザーが認証ストアから削除されたときに、既存のロールを更新してください。 -
グループ
- 指定したグループをロールに追加します。たとえば、グループFullTimeBankEmployees
に属するユーザーだけがBankTeller
セキュリティ・ロールを付与されるといった条件を作成できます。セキュリティ管理がより効率的になるため、最低限の要件としてこのロール条件をお薦めします。
-
サーバーが開発モードである
- サーバーが開発モードで動作している場合にのみプリンシパルをロールに追加します。『構成ウィザードによるWebLogicドメインの作成』のWebLogicドメインの作成に関する項を参照してください。 -
全員に対してアクセスを許可
- すべてのユーザーおよびグループをロールに追加します。 -
全員に対してアクセスを拒否
- どのユーザーやグループもロールに含まれないようにします。
日付と時刻のロール条件
任意の日付と時刻のロール条件を使用する場合、他のいずれかのロール条件を追加してさらにユーザーを制限しない限り、セキュリティ・ロールでは指定した日付または時刻のアクセスをすべてのユーザーに対して許可します。このリリースのWebLogic Serverで使用できる日付と時刻のロール条件は以下のとおりです。
-
指定した時間帯にアクセスが発生
- 指定した時間帯にのみロールにプリンシパルを追加します。たとえば、銀行の営業時間中にのみBankTeller
セキュリティ・ロールをユーザーに付与するといった条件を作成できます。 -
次の日時より後にアクセスが発生
- 現在時刻が指定した時刻より後の場合にのみ、ロールにプリンシパルを追加します。たとえば、銀行の営業開始時間より後など特定の日付や時刻の後にのみBankTeller
セキュリティ・ロールをユーザーに付与するといった条件を作成できます。 -
次の日時より前にアクセスが発生
- 現在時刻が指定した時刻より前の場合にのみ、ロールにプリンシパルを追加します。たとえば、銀行の営業終了時間より前など特定の日付や時刻の前にのみBankTeller
セキュリティ・ロールをユーザーに付与するといった条件を作成できます。 -
指定した曜日にアクセスが発生
- 指定した曜日にのみロールにプリンシパルを追加します。たとえば、平日にのみBankTeller
セキュリティ・ロールをユーザーに付与するといった条件を作成できます。 -
指定した日にアクセスが発生
- 月の特定の日付にロールにプリンシパルを追加します。たとえば、毎月1日にのみBankTeller
セキュリティ・ロールをユーザーに付与するといった条件を作成できます。 -
指定した日より後にアクセスが発生
- 月の特定の日付より後の時間であることを基準としたセキュリティ・ロール条件を作成します。たとえば、毎月15日より後にBankTeller
セキュリティ・ロールをユーザーに付与するといった条件を作成できます。 -
指定した日より前にアクセスが発生
- 月の特定の日付より現在の日付が前の場合にのみ、ロールにプリンシパルを追加します。たとえば、毎月15日より前にBankTeller
セキュリティ・ロールをユーザーに付与するといった条件を作成できます。
コンテキスト要素のロール条件
コンテキスト要素の条件を使用すると、HTTPサーブレット・リクエスト属性、HTTPセッション属性、EJBメソッドのパラメータの値に基づいてセキュリティ・ロールを作成できます。この情報はWebLogic ServerによってContextHandlerオブジェクトから取得され、その値に基づいてロール条件を定義できます。こうした条件を使用する場合、使用しているコンテキストに属性またはパラメータと値のペアが確実に適用するようにするのはユーザーの役目です。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のContextHandlerとWebLogicリソースに関する項を参照してください。
このリリースのWebLogic Serverで使用できるコンテキスト要素のロール条件は以下のとおりです。
-
コンテキスト要素が定義されている
- 指定した属性またはパラメータに基づいてロールにプリンシパルを追加します。 -
コンテキスト要素の値が数値定数と等しい
- 指定した属性またはパラメータの数値(またはdouble型の数値を表す文字列)が、指定したdouble
型の数値と等しいことに基づいて、ロールにプリンシパルを追加します。 -
コンテキスト要素の値が数値定数より大きい
- 指定した属性またはパラメータの数値(またはdouble型の数値を表す文字列)が、指定したdouble
型の数値よりも大きいことに基づいて、ロールにプリンシパルを追加します。 -
コンテキスト要素の値が数値定数より小さい
- 指定した属性またはパラメータの数値(またはdouble型の数値を表す文字列)が、指定したdouble
型の数値よりも小さいことに基づいて、ロールにプリンシパルを追加します。 -
コンテキスト要素の値が文字列定数と等しい
- 指定した属性またはパラメータの文字列値が指定した文字列と等しいことに基づいて、ロールにプリンシパルを追加します。
管理コンソールでのユーザー、グループ、ロールの管理
ノート:
この節では、WebLogic認証プロバイダおよびWebLogicロール・マッピング・プロバイダまたはWebLogic XACMLロール・マッピング・プロバイダを使用するレルムで利用できる機能について説明します。お使いのセキュリティ・レルムでサード・パーティ製の認証またはロール・マッピング・プロバイダを使用する場合は、サード・パーティのドキュメントでその機能について参照してください。
セキュリティ・レルムにユーザーやグループを追加する方法については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザーとグループの管理に関する項を参照してください。
セキュリティ・ロールの作成については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのセキュリティ・ロールの管理に関する項を参照してください。