![]() |
![]() |
|
|
認可
認可の機能により、管理者は ATMI アプリケーションへのアクセスを制御できます。つまり、管理者は、認可の機能を使用して、ATMI アプリケーションのリソースまたは機能に対するアクセス権をプリンシパル (認証されたユーザ) に許可するかどうかを決定します。
認可プラグインのアーキテクチャ
ファンアウトとは、さまざまなプラグインのインプリメンテーションが接続された、アンブレラ (傘) 型のプラグインです。次の図に示すように、認可プラグインのインターフェイスは、ファンアウトの構成でインプリメントされます。
認可プラグインのアーキテクチャ
デフォルトの認可プラグインのインプリメンテーションは、ファンアウト・プラグインとデフォルトの認可プラグインで構成されます。カスタマイズされたプラグインのインプリメンテーションは、ファンアウト・プラグイン、デフォルトの認可プラグイン、および 1 つ以上のカスタム認可プラグインで構成されます。 ファンアウト・プラグイン・モデルでは、まず、呼び出し側がファンアウト・プラグインに要求を送信します。受信された要求は、下位のプラグインに渡され、各プラグインから応答が返されます。最後に、ファンアウト・プラグインは、受け取った複数の応答を 1 つの応答にまとめ (コンポジット応答)、呼び出し側に送信します。 認可要求の目的は、クライアント操作を許可するか、または操作の結果をそのまま残すかを決めることです。各認可プラグインは、permit、deny、abstain のいずれかの応答を返します。 abstain 応答が返されると、認可プラグインの作成者は、元のプラグインでは対応できないこと、たとえば、プラグインのインストール後にシステムに追加された操作名などに対処できます。 次の表は、認可のファンアウト・プラグインで作成されるコンポジット応答を示しています。デフォルトの認可の場合、コンポジット応答は、デフォルトの認可プラグインによってのみ決まります。
カスタマイズした認可として、銀行アプリケーションを例に取ります。この例では、ユーザを Customer グループのメンバとし、以下の条件が適用されるとします。
Customer グループのユーザは、月曜日の午前 10 時に 500 ドルを引き出すことはできます。ただし、同じユーザが、土曜日の午前中に同じ操作を行おうとしてもできません。
このほかにも、さまざまな状況が考えられます。色々な状況を想定し、ビジネス上のニーズに合った最適な状況を定義してください。
認可プラグインのしくみ
認可に関する一部の決定は、認可トークンに格納されているユーザ ID に基づいて行われます。認可トークンは、認証プラグインによって生成されるため、認証プラグインと認可プラグインのプロバイダは、これらのプラグインが協調動作することを保証する必要があります。
BEA Tuxedo システムのプロセスまたはサーバ (/Q サーバの TMQUEUE(5) またはイベント・ブローカ・サーバの TMUSREVT(5) など) は、クライアントからの要求を受け取ると認可プラグインを呼び出します。これに対し、認可プラグインは、操作前のチェックを行い、操作を許可するかどうかを示す応答を返します。
クライアント操作が許可されると、BEA Tuxedo システムのプロセスまたはサーバは、クライアント操作が完了した後で認可プラグインを呼び出すことができます。これに対し、認可プラグインは、操作後のチェックを行い、操作の結果を許可するかどうかを示す応答を返します。
これらの呼び出しは、アプリケーション・レベルの呼び出しではなく、システム・レベルの呼び出しです。ATMI アプリケーションは、認可プラグインを呼び出せません。
BEA Tuxedo システムに組み込まれているデフォルトの認可プラグインを使用する場合と、カスタマイズした認可プラグインを 1 つ以上使用する場合では、認可のプロセスが多少異なります。デフォルトのプラグインでは、操作後のチェックをサポートしていません。したがって、デフォルトの認可プラグインが、操作後のチェックを行う要求を受け取っても、要求は直ちに返され、何も実行されません。
カスタマイズしたプラグインでは、操作前と操作後の両方のチェックをサポートしています。
デフォルトの認可
クライアントから操作前のチェックの実行が要求され、それに対して ATMI のプロセスによってデフォルトの認可が呼び出されると、認可プラグインは、次のタスクを実行します。
認可トークンは、認証プラグインによって作成されるため、認可プラグインにはトークンの内容が記録されていません。ただし、認可プロセスではこの情報が必要です。
認可プラグインは、クライアントの認可トークン、アクセス制御リスト (ACL: Access Control List)、および ATMI アプリケーションのセキュリティ・レベル (ACL の設定 (オプションまたは必須)) を調べて、操作を許可するかどうかを決めます。
認可のファンアウト・プラグインは、デフォルトの認可プラグインの決定 (permit または deny) を受け取ると、その決定に従って動作します。
カスタマイズした認可
カスタマイズした 1 つ以上の認証プラグインを使用するユーザは、BEA Tuxedo 製品の ATMI 環境で提供される別の機能を利用できます。つまり、操作の実行後にさらにチェックを行うことができます。
クライアントから操作前のチェックの実行が要求され、それに対して ATMI のプロセスによってカスタマイズした認可が呼び出されると、認可プラグインは、次のタスクを実行します。
認可プラグインは、操作、クライアントの認可トークン、および関連するデータを調べて、操作を許可するかどうかを決めます。関連するデータには、ユーザ・データおよび ATMI アプリケーションのセキュリティ・レベルが含まれます。
認可プラグインは、認可の要件に合うよう、必要に応じてユーザ・データを変更してから操作を実行します。
認可のファンアウト・プラグインは、下位にある個々のプラグインの応答 (permit、deny、または abstain) をチェックして、最終的な決定を行います。
クライアント操作が許可されると、ATMI のプロセスは、クライアント操作が完了した後でカスタマイズした認可を呼び出すことができます。その場合、認可プラグインは次のタスクを実行します。
認可プラグインは、操作、クライアントの認可トークン、および関連するデータを調べて、操作の結果を許可するかどうかを決めます。関連するデータには、ユーザ・データおよび ATMI アプリケーションのセキュリティ・レベルが含まれます。
認可のファンアウト・プラグインは、下位にある個々のプラグインの応答 (permit、deny、または abstain) をチェックして、最終的な決定を行います。
操作後のチェック機能は、ラベル付けされた文書を扱うセキュリティ・モデルで便利です。たとえば、機密文書へのアクセスを許可されたユーザが、最高機密文書を取り出す操作を実行したとします(通常、文書を識別するラベルの内容は、その文書が取り出されるまでわかりません)。この場合、操作後のチェックにより、操作の拒否または出力データの変更 (機密情報の削除) を効率的に行うことができます。
カスタマイズした認可のインプリメント
ATMI アプリケーションで認可機能を実行するには、デフォルトのプラグインを使用するか、または 1 つ以上のプラグインをカスタマイズします。どちらのプラグインを使用するかは、BEA Tuxedo のレジストリを設定して決めます。これは、すべてのセキュリティ・プラグインを制御するツールです。
デフォルトの認可プラグインを使用する場合、レジストリを設定する必要はありません。ただし、カスタマイズした認可プラグインを使用する場合は、ブラグインをインストールする前に、プラグインに合わせてレジストリを設定する必要があります。レジストリの詳細については、「BEA Tuxedo レジストリの設定」を参照してください。
関連項目
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|