6 ユーザー、グループ、セキュリティ・ロール

WebLogic Serverのセキュリティ・レルム内のユーザー、グループ、およびセキュリティ・ロールの特長と機能について理解してください。

この章の内容は以下のとおりです。

ユーザーとグループの概要

ユーザーは認証可能なエンティティです。ユーザーは、個人でもJavaクライアントなどのソフトウェア・エンティティでもかまいません。各ユーザーには、セキュリティ・レルム内でユニークなIDが与えられます。セキュリティ管理を効率化するには、ユーザーをグループに追加することをお薦めします。グループは、通常、企業の同じ部門に所属しているなどの共通点を持つユーザーの集合です。

デフォルト・ユーザー

WebLogic Serverドメインを作成すると、セキュリティ・レルム内にデフォルトで3つのユーザー・アカウント(ドメイン作成時に定義する管理ユーザー・アカウント、OracleSystemUserおよびLCMUser)が作成されます。

  • デフォルトのWebLogic管理者ユーザー・アカウントは、ドメインの管理サーバーの起動および接続に使用されます。このアカウントのユーザー名とパスワードは、ドメインの作成時に指定します。これらの資格証明は、管理サーバーの起動とアクセスおよび管理コンソールへのログイン時に必要になるため、ノートにとっておいてください。

    ノート:

    • セキュリティを強化するために、システム管理者のユーザー・アカウントにsystemadminadministratorweblogicのようなわかりやすい名前を選択しないでください。保護された本番モードを有効にした場合、管理者グループのユーザーにこれらのわかりやすいユーザー名が付いていると、WebLogic Serverにより警告がログに記録されます。

    • 少なくとも1人の追加ユーザーを作成して、その人に管理者セキュリティ・ロールを割り当てる必要があります。必ず、推測しにくい一意の名前を使用してください。少なくとも2つのシステム管理者のユーザー・アカウントがあれば、1つのユーザーが辞書攻撃や総当り攻撃でロックアウトになった場合でも、もう1つのユーザーでアカウント・アクセスを保持できます。

  • OracleSystemUserを使用すると、WebLogic Serverで実行されるFusion Middlewareコンポーネント(Oracle SOA Suiteなど)のインストールが容易になります。これは、Oracle Web Services ManagerなどのFusion Middlewareコンポーネントのデフォルト・ユーザーです。

    ノート:

    • OracleSystemUserには、ドメインの作成時にデフォルト管理ユーザーに指定したパスワードと同じパスワードが割り当てられます。必要な場合、このパスワードは管理コンソールで変更できます。

    • OracleSystemUserOracleSystemGroupに割り当てられ、デフォルトで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 デフォルト・グループ

グループ名 メンバーシップ

Administrators

デフォルトでは、このグループにはインストール・プロセス(つまり、「構成」ウィザード)の一部として入力されたユーザー情報が含まれます。Administratorsグループに割り当てられているユーザーには、デフォルトでAdminセキュリティ・ロールが付与されています。

「ベスト・プラクティス: Administratorsグループにユーザーの追加」を参照してください

Deployers

デフォルトでは、このグループは空。Deployersグループに割り当てられたユーザーは、デフォルトではDeployerセキュリティ・ロールを与えられます。

Operators

デフォルトでは、このグループは空。Operatorsグループに割り当てられたユーザーは、デフォルトではOperatorセキュリティ・ロールを与えられます。

Monitors

デフォルトでは、このグループは空。Monitorsグループに割り当てられたユーザーは、デフォルトではMonitorセキュリティ・ロールを与えられます。

AppTesters

デフォルトでは、このグループは空。AppTestersグループに割り当てられたユーザーは、デフォルトではAppTesterセキュリティ・ロールを与えられます。

CrossDomainConnectors

デフォルトでは、このグループは空。CrossDomainConnectorsグループに割り当てられたユーザーは、デフォルトではCrossDomainConnectorセキュリティ・ロールを与えられます。

AdminChannelUsers

デフォルトでは、このグループは空。AdminChannelUsersグループに割り当てられたユーザーは、デフォルトではAdminChannelUserセキュリティ・ロールを与えられます。

OracleSystemGroup

デフォルトでは、このグループにはOracleSystemUserのユーザーが含まれ、OracleSystemRoleのロールを与えられます。

実行時のグループ

実行時には、すべてのユーザーが次のグループに入ることになります。

  • users。このグループには、認証されたすべてのユーザーが含まれます。

  • everyone。このグループにはすべての匿名ユーザーと、(usersグループも匿名ユーザーであることから)認証されたすべてのユーザーが含まれます。

表6-1のグループ(または独自に作成した他のグループ)と違い、これらのグループに対して直接ユーザーの追加または削除を行うことはできません。これらのグループはWebLogic Server管理コンソールの「グループ」タブには表示されず、認証データベースでもエクスポートされません。

ベスト・プラクティス: Administratorsグループにユーザーの追加

Administratorsグループには、インストール時に(構成ウィザードを使用して)定義したユーザーに加えて、少なくとも1人のユーザーを追加することをお薦めします。少なくとも2人の管理者が常に存在することで、セキュリティ違反が起こった場合に1人しかいない管理ユーザーがロックアウトされるという状況を防ぐことができます。また、system、admin、Administratorといったありきたりなユーザー名は避けるようにします。

セキュリティ・ロールの概要

セキュリティ・ロールは、特定の条件に基いてユーザーまたはグループに付与される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 デフォルト・グローバル・ロール、特権、および割り当てられるデフォルト・グループ

グローバル・ロール デフォルト・ポリシーで付与されるアクセス デフォルトの条件に含まれるグループ

Admin

  • サーバー構成(一部の暗号化された属性の暗号化された値を含む)を表示します。

  • サーバー構成全体を変更します。

  • エンタープライズ・アプリケーション、Webアプリケーション、EJB、Java EEコネクタ、およびWebサービス・モジュールをデプロイします。

  • サーバーを起動、再起動、および停止します。

Administrators

AdminChannelUser

管理チャネルAdminChannelにアクセスします。

AdminChannelUsersAdministratorsDeployersOperatorsMonitorsおよびAppTesters

Anonymous

すべてのユーザー(everyoneグループ)にこのグローバル・ロールが付与されます。

ノート:このグローバル・ロールは利便性のために用意されており、weblogic.xmlおよびweblogic-ejb-jar.xmlデプロイメント記述子で指定できます。『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』weblogic.xmlデプロイメント記述子の要素に関する項、および『Oracle WebLogic Server Enterprise JavaBeansバージョン2.1の開発』ejb-jarデプロイメント記述子のリファレンスに関する項を参照してください。

everyone

Deployer

  • サーバー構成(デプロイメント・アクティビティに関連する一部の暗号化された属性を含む)を表示します。

  • 起動および停止クラス、Webアプリケーション、JDBCデータ・プール接続、EJB、Java EEコネクタ、Webサービス、およびWebLogic Tuxedo Connectorコンポーネントを変更します。必要に応じて、デプロイメント記述子を編集します。

  • Java EEデプロイメントの実装(JSR-88)のデプロイメント操作にアクセスします。『Oracle WebLogic Serverへのアプリケーションのデプロイ』WebLogic Serverデプロイメントの理解に関する項を参照してください。

Deployers

Operator

  • サーバー構成(暗号化された属性は除く)を表示します。

  • サーバーを起動、再起動、および停止します。

  • MBean APIおよびWLSTを使用して、アプリケーションを起動および停止します。WebLogic Server管理コンソールでは、アプリケーションの起動および停止はできません。表6-3を参照してください。

Operators

Monitor

サーバー構成(暗号化された属性は除く)を表示します。

このセキュリティ・ロールでは、WebLogic Server管理コンソール、WLST、およびMBean APIへの読取り専用アクセスが効果的に提供されます。

Monitors

AppTester

管理モードで動作しているアプリケーションにテスト目的でアクセスします。『Oracle WebLogic Serverへのアプリケーションのデプロイ』プロダクション・アプリケーションを分離するための管理モードに関する項を参照してください。

AppTesters

CrossDomainConnector

外部ドメインからドメイン間呼出しを実行します。『Oracle WebLogic Serverセキュリティの管理』WebLogic Serverドメイン間の信頼の有効化に関する項を参照してください。

CrossDomainConnectors

OracleSystemRole

WS-Securityトークンが認証されたユーザーのかわりのIDアサーション。

ノート: このグローバル・ロールはOracle Web Services Managerで使用するために提供されています。

OracleSystemGroup

表6-3は、AdminDeployerOperatorおよび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管理コンソール・オンライン・ヘルプセキュリティ・ロールの管理に関する項を参照してください。