パブリッシュ リソースのセキュリティと 権限
パブリッシュされたリソースを使用するには、パブリッシュされたリソースと元のリソースの両方に対する適切なアクセス権限が必要です。パブリッシュされたリソースには、Studio でリソースを操作するための独自の読み取りおよび書き込み権限がありますが、独自の実行時権限 (実行、選択、挿入、更新、削除) はありません。環境のニーズと制限に合わせて、Studio のパブリッシュ領域と共有領域の権限を設定できます。さまざまな権限を設定する方法の詳細については、『TDV 管理ガイド』を参照してください。
データ ソース内のオブジェクトに対する権限は、イントロスペクション時、またはステートメントの実行中に FETCH が呼び出された後にのみ評価されます。したがって、イントロスペクション後にデータ ソース内のオブジェクトに対する権限が低下した場合、実際のステートメントが実行されるまでエラーはキャッチされません。
カラム・ベースのセキュリティ権限は、TDV を通じてパブリッシュされる他のオブジェクトと同じ方法で設定されます。パブリッシュされたレイヤー、共有領域、およびイントロスペクションされたデータ ソースのビューへのアクセスを制限すると、カラムにも同じ制限が適用されます。同様に、ビューのカラムのデータをマスクすると、そのデータはパブリッシュされたデータと同じ方法でマスクされます。
リソースのセキュリティと権限が特定の TDV 環境でどのように機能するかはさまざまです。いくつかのシナリオをテストして、期待どおりにリソースにアクセスできることを確認することをお勧めします。テーブルは、データベースとして、Web サービスを介したビューとして、または従来の Web サービスを介したビューとしてパブリッシュできるため、すべてのシナリオを確認する必要があります。
外部クライアントから SELECT * を実行すると、次のような結果になる可能性があります。
| • | クエリのカラムに対する適切な権限がないことを示すエラー メッセージが表示されます。 |
| • | 表示する権限があるカラムのみを含む結果が得られます。 |
| • | 権限を持たないカラムはすべて NULL 値です。 |
構成パラメーターを使用すると、これらのどの結果が発生するかを制御できます。
権限なしでカラムにアクセスしようとした場合の結果の制御
構成パラメーターを使用すると、どの結果が発生するかを制御できます。
ユーザーに適切な権限がないカラムに対して返される内容を制御するには
| 1. | Studio のメイン メニューから、[管理] > [構成] を選択します。 |
| 2. | [構成] ウィンドウで、[サーバー] > [構成] > [セキュリティ] > [カラムのアクセス許可拒否の例外を有効にする] に移動します。 |
| 3. | カラム レベルのアクセス許可がない場合に例外を発生させたい場合は、このパラメーターを true に設定します。 |
| 4. | ユーザーが許可を持たないカラムに NULL を含めるか、まったく返さないようにする場合は、このパラメーターを false に設定するか、false のままにします。 |