![]() ![]() ![]() ![]() |
この章では、ユーザ、グループ、およびセキュリティ ロールの特長と機能について説明します。
ユーザは認証可能なエンティティです。ユーザは、個人でも Java クライアントなどのソフトウェア エンティティでもかまいません。各ユーザには、セキュリティ レルム内でユニークな ID が与えられます。セキュリティ管理を効率化するには、ユーザをグループに追加することをお勧めします。グループは、通常、企業の同じ部門に所属しているなどの共通点を持つユーザの集合です。
表 6-1 に、WebLogic Server で設定されたセキュリティ レルムに定義されている、グループの一覧を示します。デフォルトでは、これらのグループの 1 つにユーザを追加すると、デフォルト グローバル セキュリティ ロールの 1 つにもユーザが設定されます (「デフォルト グローバル ロール」を参照)。
実行時には、すべてのユーザが以下のグループに入ることになります。
表 6-1 のグループ (または独自に作成した他のグループ) と違い、これらのグループに対して直接ユーザの追加または削除を行うことはできません。WebLogic Server によってユーザが動的に割り当てられます。これらのグループは Administration Console の [グループ] タブには表示されず、認証データベースでもエクスポートされません。
Administrators
グループには、インストール時に (コンフィグレーション ウィザードを使用して) 定義したユーザに加えて、少なくとも 1 人のユーザを追加することをお勧めします。常に 2 人以上の管理者がいることで、セキュリティ違反が起こった場合に 1 人しかいない管理ユーザがロックアウトされるという状況を防げます。また、「system」、「admin」、「Administrator」といった予測可能なユーザ名は避けるようにします。
セキュリティ ロールは、特定の条件に基いてユーザまたはグループに付与される ID です。複数のユーザまたはグループに同じセキュリティ ロールを付与することができます。また、ユーザまたはグループは複数のセキュリティ ロール内に存在できます。セキュリティ ロールは、ポリシーにおいて WebLogic リソースにアクセスできるユーザを決定するために使用されます (「セキュリティ ポリシー」を参照)。
ロールでは、セキュリティ グループと同様にユーザに ID が付与されます。ただし、セキュリティ ロールは以下の点でグループとは異なります。
ロールを計算して付与するプロセスをロール マッピングといいます。ロール マッピングは、WebLogic Security サービスが保護対象の WebLogic リソースに対するアクセス決定を下す直前に行われます。アクセス決定は、認可プロバイダのコンポーネントであり、WebLogic リソースに対して特定の操作を実行するパーミッションがサブジェクトにあるかどうかを判断します (『WebLogic セキュリティ プロバイダの開発』の「アクセス決定」を参照)。
WebLogic Server には 2 種類のセキュリティ ロールがあります。
注意 : | JSR 115 に定義されているように JACC (Java authorization Contract for Containers) を使用してセキュリティを実装している場合、セキュリティ ロールは使用できません。 |
表 6-2 に、WebLogic Server で設定されたセキュリティ レルムに定義されている、グローバル ロールの一覧を示します。この表ではさらに、デフォルト セキュリティ ポリシーによって各ロールに付与されるアクセスと、各ロールにデフォルトでどのグループが含まれるかについてもまとめます。
警告 : | これらのロールは削除しないでください。デフォルト グローバル ロールは、ほとんどの種類の WebLogic リソースを保護するデフォルト セキュリティ ポリシーで使用され、MBean セキュリティ レイヤでも使用されます。Admin ロールを削除すると、実行中のドメインのコンフィグレーションをどのユーザも変更できなくなります。「一貫性のあるセキュリティ方式の維持」を参照してください。
|
ロールには、実行時にセキュリティ ロールに含まれるユーザを決定するために 1 つまたは複数の条件が指定されます。もっとも基本的なロールは、たとえば「Administrator」グループのみが指定されているといった形になります。このポリシーは、WebLogic Security サービスによって実行時に「Administrator グループをこのロールに含める」と解釈されます。さらに複雑な条件を作成することも可能で、そうした条件を論理演算子 AND や OR (非排他的な OR) を使って組み合わせることもできます。また、どの条件も否定が可能で、それによってロールからユーザを除外できます。ユーザやグループにセキュリティ ロールが与えられるには、すべての条件が true である必要があります。ロール文の中では、制約が厳しい式ほど後に指定します。
Administration Console には、WebLogic Server ロール マッピング プロバイダに組み込まれている以下の 3 種類のロール条件が表示されます。
注意 : | 以下の節では、WebLogic ロール マッピング プロバイダまたは WebLogic XACML ロール マッピング プロバイダを使用するレルムで利用できる条件について説明します。お使いのセキュリティ レルムでサードパーティ製のロール マッピング プロバイダを使用する場合は、サードパーティのドキュメントでこの機能について参照してください。 |
このリリースの WebLogic Server で使用できる基本的なロール条件は以下のとおりです。
] - 指定したユーザをロールに追加します。たとえば、ユーザ John
だけが BankTeller
セキュリティ ロールを付与されるといった条件を作成できます。
] - 指定したグループをロールに追加します。たとえば、グループ FullTimeBankEmployees
に属するユーザだけが BankTeller
セキュリティ ロールを付与されるといった条件を作成できます。
セキュリティ管理がより効率的になるため、最低限の要件としてこのロール条件をお勧めします。
] - サーバが開発モードで動作している場合にのみプリンシパルをロールに追加します。『コンフィグレーション ウィザードを使用した WebLogic ドメインの作成』の「ドメイン起動モードの相違点」を参照してください。
] - すべてのユーザおよびグループをロールに追加します。
] - どのユーザやグループもロールに含まれないようにします。
任意の日付と時刻のロール条件を使用する場合、他のいずれかのロール条件を追加してさらにユーザを制限しない限り、セキュリティ ロールでは指定した日付または時刻のアクセスをすべてのユーザに対して許可します。このリリースの WebLogic Server で使用できる日付と時刻のロール条件は以下のとおりです。
] - 指定した時間帯にのみロールにプリンシパルを追加します。たとえば、銀行の営業時間中にのみ BankTeller
セキュリティ ロールをユーザに付与するといった条件を作成できます。
] - 現在時刻が指定した時刻より後の場合にのみ、ロールにプリンシパルを追加します。たとえば、銀行の営業開始時間より後など特定の日付や時刻の後にのみ BankTeller
セキュリティ ロールをユーザに付与するといった条件を作成できます。
] - 現在時刻が指定した時刻より前の場合にのみ、ロールにプリンシパルを追加します。たとえば、銀行の営業終了時間より前など特定の日付や時刻の前にのみ BankTeller
セキュリティ ロールをユーザに付与するといった条件を作成できます。
] - 指定した曜日にのみロールにプリンシパルを追加します。たとえば、平日にのみ BankTeller
セキュリティ ロールをユーザに付与するといった条件を作成できます。
] - 月の特定の日付にロールにプリンシパルを追加します。たとえば、毎月 1 日にのみ BankTeller
セキュリティ ロールをユーザに付与するといった条件を作成できます。
] - 月の特定の日付より後の時間であることを基準としたセキュリティ ロール条件を作成します。たとえば、毎月 15 日より後に BankTeller
セキュリティ ロールをユーザに付与するといった条件を作成できます。
] - 月の特定の日付より現在の日付が前の場合にのみ、ロールにプリンシパルを追加します。たとえば、毎月 15 日より前に BankTeller
セキュリティ ロールをユーザに付与するといった条件を作成できます。
コンテキスト要素の条件を使用すると、HTTP サーブレット リクエスト属性、HTTP セッション属性、EJB メソッドのパラメータの値に基づいてセキュリティ ロールを作成できます。この情報は WebLogic Server によって ContextHandler オブジェクトから取得され、その値に基づいてロール条件を定義できます。こうした条件を使用する場合、使用しているコンテキストに属性またはパラメータと値のペアが確実に適用するようにするのはユーザの役目です。詳細については、『WebLogic セキュリティ プロバイダの開発』の「ContextHandler と WebLogic リソース」を参照してください。
このリリースの WebLogic Server で使用できるコンテキスト要素のロール条件は以下のとおりです。
] - 指定した属性またはパラメータに基づいてロールにプリンシパルを追加します。
] - 指定した属性またはパラメータの数値 (または double 型の数値を表す文字列) が、指定した double
型の数値と等しいことに基づいて、ロールにプリンシパルを追加します。
] - 指定した属性またはパラメータの数値 (または double 型の数値を表す文字列) が、指定した double
型の数値よりも大きいことに基づいて、ロールにプリンシパルを追加します。
] - 指定した属性またはパラメータの数値 (または double 型の数値を表す文字列) が、指定した double
型の数値よりも小さいことに基づいて、ロールにプリンシパルを追加します。
] - 指定した属性またはパラメータの文字列値が指定した文字列と等しいことに基づいて、ロールにプリンシパルを追加します。
注意 : | この節では、WebLogic 認証プロバイダおよび WebLogic ロール マッピング プロバイダまたは WebLogic XACML ロール マッピング プロバイダを使用するレルムで利用できる機能について説明します。お使いのセキュリティ レルムでサードパーティ製の認証またはロール マッピング プロバイダを使用する場合は、サードパーティのドキュメントでその機能について参照してください。 |
セキュリティ レルムにユーザやグループを追加する方法については、Administration Console オンライン ヘルプの「ユーザとグループの管理」を参照してください。
セキュリティ ロールの作成については、Administration Console オンライン ヘルプの「セキュリティ ロールの管理」を参照してください。
![]() ![]() ![]() |