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