この特集のトップページへ
>
Chapter 4:データストア層の構築
4.3.2 ロールの有効化
COM+アプリケーションを作成した直後は,ロールの設定は無効になっている。そのため,ロールの機能を使うには,まずロールの設定を有効にしなければならない。
ロールの設定を有効にするためには,COM+アプリケーションを右クリックし,表示されたメニューから[プロパティ]を選択する(Fig.4-25)。
Fig.4-25 COM+アプリケーションのプロパティを開く
プロパティウィンドウが表示されるので,[セキュリティ]ページを開く(Fig.4-26)。
Fig.4-26 [セキュリティ]ページ
○[このアプリケーションへのアクセスチェックを行う]
[認証]の部分にある,[このアプリケーションへのアクセスチェックを行う]を有効にすると,COM+のロールによるアクセス制御が機能するようになる。COM+アプリケーションの作成直後は,このオプションが無効になっているので,有効にする。このオプションが無効になっている場合は,COMサーバーとなっているdllファイルに設定された実行可能権限で認証される。
○[セキュリティレベル]
どのようにして認証するかを設定する。通常は,[プロセスおよびコンポーネントレベルでのアクセスチェックを実行する]を選択する。もし[プロセスレベルでのみアクセスチェックを実行する]を選択すると,COMコンポーネント側でどのロールに属するユーザーから呼び出されたのかを知ることはできなくなる。
○[呼び出しの認証レベル]
COM+で管理されたCOMコンポーネントは,DCOMプロトコルをサポートし,ほかのコンピュータからネットワーク経由で呼び出すことができるようになる(リモート呼び出しの詳細は,「4.4 リモートの呼び出し機能」で説明する)。この機能を利用してネットワーク経由で呼び出された場合の認証レベルを決めるのが,このオプションである。Table 4-3に示すなかから,いずれかを選択する。
Table 4-3 呼び出しの認証レベル
呼び出しの認証レベル |
解説 |
なし |
認証しない。誰でも呼び出すことができる |
接続 |
ネットワーク接続時に認証する |
呼び出し |
各メソッドを呼び出す最初のパケットに対して認証する |
パケット |
メソッドを呼び出す全パケットごとに認証する |
パケットの整合性 |
メソッドを呼び出す全パケットごとに認証し,さらに暗号化したチェックサムを用いて不正なパケットでないかを調べる |
パケットのプライバシ |
パケット全体を暗号化して認証する |
Table 4-3で示した各設定は,下にあるものほど安全性は高くなるが,処理が複雑化して負荷が重くなる分だけ速度は低下する。一般的には,COM+のデフォルトである[パケット]を選択しておけば十分だろう。
○[偽装レベル]
偽装レベルは,接続されたCOMクライアント(COMオブジェクトを呼び出した側)の権限をCOMオブジェクトから利用できるようにするかどうかを設定するオプションである。Table 4-4に示すいずれかを選択する。
Table 4-4 偽装レベル
偽装レベル |
解説 |
匿名 |
匿名での接続。サーバー側ではどのユーザーが接続したのかを知ることはできない |
識別する |
サーバー側で,どのユーザーが接続したのかを知ることができる |
偽装する |
サーバーは,クライアントと同じセキュリティ情報を利用して(接続されたユーザーに成り代わって)ローカルのリソースにアクセスできる |
委任する |
サーバーは,クライアントと同じセキュリティ情報を利用して(接続されたユーザーに成り代わって)ローカルとリモートのリソースにアクセスできる |
ビジネスロジックを構築する場合,データベースにアクセスしてデータを返すだけなので,クライアントの権限を使うことはまずない。よって,普通は[識別する]を選択すればよいだろう。
Chapter 4 7/16 |