組み込み Tivoli Access Manager によるロール・ベースのセキュリティー
Java™ Platform、Enterprise Edition (Java EE) ロール・ベースの許可モデルでは、ロールおよびリソースの概念が使用されています。 ここに例を提供します。
ロール | getBalance | deposit | closeAccount |
---|---|---|---|
テラー | 認可 | 認可 | |
レジ係り | 認可 | ||
スーパーバイザー | 認可 |
上記の表で概念が説明されているバンキング・アプリケーションの例では 、次の 3 つのロールが定義されています。 テラー、レジ係り、スーパーバイザーです。getBalance、deposit および closeAccount のアプリケーション・メソッドを実行する 許可は、これらのロールにマップされています。 その例から、スーパーバイザーのロールに割り当てられたユーザーが closeAccount メソッドを実行できるのに対し、 他の 2 つのロールではこのメソッドを実行できないことがわかります。
WebSphere® Application Sever セキュリティーにおいて、プリンシパルという用語は、アクティビティーを実行する人またはプロセスを意味します。 グループ は、WebSphere Application Server 内に構成されているプリンシパルの論理コレクションであり、セキュリティーの適用を容易にします。 ロールはプリンシパルまたはグループ、あるいはその両方にマップすることができます。
プリンシパル/グループ | テラー | レジ係り | スーパーバイザー |
---|---|---|---|
TellerGroup | 呼び出す | ||
CashierGroup | 呼び出す | ||
SupervisorGroup | |||
Frank: 上記のグループのメンバーではないプリンシパル | 呼び出す | 呼び出す |
アプリケーションのデプロイメント時に、Tivoli Access Manager の Java Authorization Contract for Container (JACC) プロバイダーは、そのアプリケーションのデプロイメント記述子やアノテーションに含まれるセキュリティー・ポリシー情報とともに、Tivoli Access Manager で保護されたオブジェクト・スペースを取り込みます。 WebSphere Application Server リソースが要求されると、このセキュリティー情報を使用してアクセスが決定されます。
デフォルトでは、Tivoli Access Manager のアクセス検査は、ロール名、セル名、アプリケーション名、およびモジュール名を使用して実行されます。
Tivoli Access Manager アクセス・コントロール・リスト (ACL) は、どのアプリケーション・ロールがプリンシパルに割り当てられているかを判別します。 ACL は、アプリケーションのデプロイメント時に、Tivoli Access Manager で保護されたオブジェクト・スペース内のアプリケーションに関連付けられます。
プリンシパルからロールへのマッピングは、WebSphere Application Server 管理コンソールから管理され、Tivoli Access Manager を使用して変更されることはありません。 ACL への直接更新は、管理セキュリティー・ユーザーに対してのみ実行されます。
- アプリケーションのデプロイメント中に、ポリシー情報が Tivoli Access Manager の JACC プロバイダーに送信されます。 このポリシー情報には、許可からロールへのマッピング、ロールからプリンシパルへのマッピング、およびロールからグループへのマッピングの各情報が含まれています。
- Tivoli Access Manager の JACC プロバイダーは、その情報を必要なフォーマットに変換し、 変換された情報を Tivoli Access Manager ポリシー・サーバーに渡します。
- ポリシー・サーバーは、エントリーを Tivoli Access Manager で保護されたオブジェクト・スペースに追加し、アプリケーション、および許可からロールへのマッピングに対して定義されたロールを表します。 許可は Tivoli Access Manager で保護されたオブジェクトとして表され、 そのオブジェクトに認可されたロールは拡張属性として付加されます。