リソース特権
特権は、TDV製品スイートを使用して、定義されたリソースからのデータを表示または操作できるグループとユーザーを決定します。特権仕様は、TDV内で定義されたリソースへのアクセスを保護するための包括的なセキュリティレイヤーを提供します。
管理者、リソース所有者、およびすべてのリソースの変更権限を持つユーザーを除いて、新しく定義されたリソースにはデフォルトの権限は付与されないため、権限を付与するオブジェクトの所有権は、選択したユーザーのみが制御できます。
特権は、ドメイン全体、選択したグループ、または個々のユーザーに割り当てることができます。特権は、TDVを介して公開される任意のオブジェクト(コンテナー(フォルダーまたは親オブジェクト)および個々のリソースから、個々のテーブル列まで)に設定できます。特権は、従属オブジェクト(子オブジェクトまたは依存オブジェクト)に伝搬できます。
公開されたレイヤー、共有領域、およびイントロスペクトされたデータソースのビューへのアクセスを制限する場合、列にも同じ制限があります。
このセクションの内容は次のとおりです。
Studioでの初期のデフォルトのリソース権限
デフォルトでは、Studioで定義されたすべてのオブジェクトリソースは、最初はオブジェクト作成者の完全な権限で作成されます。管理ユーザーと[すべてのリソースの変更]権限を持つユーザーを除いて、他のユーザーには、後でユーザーまたはユーザーが属するグループに追加された特権が追加されない限り、新しいリソースに対する特権が付与されません。
デフォルトの読み取り権限は、すべてのサンプルリソース、システムリソース、およびそれらのリソースの親コンテナの複合ドメイン内のすべてのグループのメンバーに付与されます。
LDAPドメインの一部であるすべてのユーザーには、複合ドメイン内のすべてのグループに属するオブジェクトへのアクセス権が自動的に付与されます。
デフォルトでは、匿名ユーザーと動的ドメインのユーザーはTDVインストールで無効になっています。それらは明示的に有効にする必要があります。
以下は、システムリソースに割り当てられたデフォルトの特権の概要です。
Studioツリーカテゴリ |
デフォルトのリソース特権 |
グループ:すべて |
匿名 |
動的 |
localhost |
読む |
サービス |
読む |
データベース |
読み書き |
読む |
読む |
データベース>システム |
読む |
データベース>システム> <テーブル> |
選択する |
ウェブサービス |
読み書き |
読む |
読む |
webservices>システム |
読む |
lib |
読む |
lib>デバッグ |
読む |
lib>リソース |
読む |
lib>サービス |
読む |
lib>サービス> <specific_service> |
読み取り、実行 |
lib>ソース |
読む |
lib>ユーザー |
読む |
lib > util |
読む |
共有 |
読み書き |
読む |
読む |
共有>の例 |
読み取り、実行、選択 |
ユーザー |
読む |
なし |
なし |
ユーザー>コンポジット |
読む |
なし |
なし |
リソースの所有権と付与特権
TDVの各リソースには所有者がいます。リソースを作成するユーザーは、最初はデフォルトの所有者です。リソースの所有者は、そのリソースに対するすべての特権を自動的に持ちます。
リソースの所有者は、リソースを表示、アクセス、および使用する必要があるグループおよびユーザーの特権を定義できます。特権は、TDVディレクトリ内の親オブジェクトに対して定義でき、子リソースとサブフォルダーに再帰的に適用できます。子オブジェクトリソースは利用できないか、リソースのすべての親コンテナに対する読み取り権限を持たないユーザーには表示されません。所有者または管理者は、所有するリソースに対する特権をいつでも付与または取り消すことができます。所有者は、(たとえば、データの誤った削除を防ぐために)自分の特権を取り消し、後でそれらの特権を再付与することができます。リソースの所有権を付与されたユーザーは、他のユーザーまたはグループにGrant特権を付与することにより、所有権のすべての特権を共有できます。リソースの管理者または所有者ではないユーザーは、これらの特権を変更できません。
[すべてのリソースを変更]権限を持つ管理者、ユーザー、またはグループは、次のことができます。
•すべてのリソース定義と関連する特権を表示します。
•グループとユーザーの権限を割り当てるか削除します。
•Studioの[管理]メニューからリソースの所有者を変更します。
•表示にアクセスできるすべてのリソースの権限を変更しますが、すべてのリソースを読み取るにはアクセスできない場合があります。
注:他のリソースによって呼び出されて呼び出される可能性のあるリソースについては、Grant特権を付与して、他の開発者にアクセスを分散させることができます。
特権の割り当て
個々のユーザーではなく、グループごとに特権を割り当てることをお勧めします。このスタイルのアクセス制御により、将来の開発者は、簡単に理解できる役割ベースの特権のセットを組み合わせたグループにユーザーを追加またはグループから削除することにより、多数のユーザーを管理できます。
LDAPドメインの場合、ドメインの個々のメンバーはシステムに初めてログインするまで表示されないため、グループ内のすべてのメンバーに同時に特権を設定します。
複合ドメインまたは動的ドメインの場合、Managerからの権限と特権のサブセットを管理するための追加のグループを作成することにより、制御を強化できます。 LDAPドメインの場合、LDAPツールを使用してグループとその権限を変更する必要があります。
以下に、暗黙的な特権(グループ定義によって割り当てられた特権)と明示的な特権(ユーザーまたはグループに直接割り当てられた特権)の両方を持つリソースの一般的な特権ダイアログを示します。明示的に割り当てられた特権は、緑色のチェックマークで示されます。オレンジ色のチェックマークは、暗黙的に割り当てられた特権を示します(グループメンバーシップまたはすべてのリソースの変更などの権利の所有によって取得されます)。
コンテナとリソースの権限
特権は、設計時と実行時の2つのグループに分類されます。読み取り特権は両方のグループに属し、ユーザーがアクセスまたは操作するリソースのすべての囲んでいるコンテナー(親オブジェクトまたはフォルダーオブジェクト)に対してユーザーに付与する必要があります。
読み取り、書き込み、および付与は、TDVおよびその他のTDVコンポーネントのユーザーのオブジェクトへのアクセスを決定する設計時の特権です。
読み取り、実行、選択、挿入、更新、および削除は、TDVを介したデータへのクライアントインターフェイスアクセスのリソースセキュリティを決定する実行時のデータ操作特権です。
次の表は、特権のさまざまな組み合わせで実行できることと実行できないことを示しています。この表で、Xはリソースに特権が付与されていることを意味し、N/A は特権がリソースに適用されないことを意味します。
特権とリソース |
ユーザーがリソースまたはコンテナーでできること |
読む |
書く |
実行する |
選択する |
アップデート |
入れる |
消去 |
許す |
すべてのリソース |
|
|
|
|
|
|
|
|
リソースを表示、変更、または追加しないでください。 |
バツ |
|
|
|
|
|
|
|
表示しますが、変更はしません。 |
バツ |
バツ |
|
|
|
|
|
|
その中のリソースを表示、変更、削除、移動、再構成、名前変更、または作成します。 |
フォルダー、データソース、公開されたデータベース、カタログ、スキーマ、TDV Webサービス(およびそれらのサービス、操作、ポート) |
バツ |
バツ |
バツ |
バツ |
バツ |
バツ |
バツ |
バツ |
表示、変更、クエリ、削除、移動、再構成、名前変更、および実行。 |
テーブル、ソース権限(公開されたデータベースリソースの2番目のタブ)、ビュー |
バツ |
バツ |
該当なし |
バツ |
バツ |
バツ |
バツ |
バツ |
表示、変更、削除、移動、名前変更、再構成、またはクエリを実行します。 |
列 |
バツ |
バツ |
該当なし |
バツ |
バツ |
該当なし |
該当なし |
バツ |
表示、変更、選択の実行、更新の実行。 |
SQLスクリプトプロシージャ、Javaプロシージャ、パッケージクエリ、XSLTおよびXQueryプロシージャ、パラメータ化されたクエリ、変換 |
バツ |
バツ |
バツ |
該当なし |
該当なし |
該当なし |
該当なし |
バツ |
表示、変更、削除、移動、再構成、名前変更、および実行。 |
公開されたデータベースリソース(ソース特権用の2番目のタブがあります)、Webサービス定義、トリガー、定義セット、モデル |
バツ |
バツ |
該当なし |
該当なし |
該当なし |
該当なし |
該当なし |
バツ |
|
特権の列レベルの制限
TDV(テーブルまたはビュー)で設定された列レベルの制限により、制限された列とメタデータがクライアントインターフェイスに表示されず、アクセスエラーが生成されます。
依存関係特権の管理について
多くのデータリソースがリソースの出力に寄与する場合、リソースの特権設定の管理は複雑になる可能性があります。リソースが別のリソースを使用する場合、すべての見込みユーザーとグループは、それらの依存関係にアクセスして呼び出すための適切な特権を持っている必要があります。
Studio開発者が依存関係リソースを使用および表示する特権を持っている場合でも、そのユーザーはリソース依存関係に関する特権を他のユーザーおよびグループに割り当てることができない場合があります。
実行時に、他のリソースに含まれるリソースを使用する場合、読み取り特権がすべての親コンテナーに存在する必要があります。
リソースの依存関係に必要な特権
リソースに依存関係がある場合、ビューを要求するかプロシージャを呼び出すユーザーは、依存関係を表示し、依存リソースからデータを取得するために選択または実行する権限を持っている必要があります。
注: Studioの系統機能を使用して、リソースの関係、依存関係、および参照について学習できます。 TDVユーザーガイドの「データリネージの調査」を参照してください。
たとえば、ユーザーはView_Aのデータを表示したい場合があります。ここで、View_AはProcedure_B(物理ソースTable_Dからのデータを利用)を実行し、物理ソースTable_Cからも選択します。 View_AでSELECTを実行するには、ユーザーはこれらの特権を必要とします。
リソースについて |
必要な特権 |
View_A、Procedure_B、Table_C、Table_Dのすべての親コンテナー |
読む |
View_A、Table_C、Table_D |
選択する |
Procedure_B |
実行する |
権限の設定と表示
特権は、選択したグループまたは個々のユーザーに割り当てることができます。特権は、すべての子オブジェクトを含むフォルダー全体に設定できます。権限を使用すると、データへのアクセスと変更を個々のテーブル列に制限できます。
ユーザーに特権が付与されると、パネルで対応する特権チェックボックスが選択されます。
コンテナとリソースの権限を参照してください。
•リソースがビューの場合、選択は提供されますが、実行は提供されません。リソースがプロシージャの場合、実行は提供されますが、選択は提供されません。
•コンテナーに関連するのは読み取りと書き込みのみですが、コンテナーの特権を編集すると、Studioはすべての特権を表示します。
•公開されたリソースのプロパティウィンドウには、権限(公開されたオブジェクト用)という名前のタブと別のタブがありますソース権限という名前(対応する未公開オブジェクト用)。未公開のオブジェクトのみに実行権限を付与できます。
個々のLDAPユーザーには、任意のリソースに対する権限と特権を直接割り当てることができますが、TDVシステムに表示された後でのみです。
クライアントインターフェイスアプリケーションを設計するときに、必要な読み取り権限がない場合、リソースの可用性とアクセス権限で問題が発生する可能性があります。クライアントがリソースを表示および使用できるようにするには、リソースツリーのすべてのレベルに対する読み取り権限が必要です。開発者、リソース所有者、および管理者は協力して、適切なグループとユーザーが含まれているリソースを表示およびアクセスできるようにする必要があります。
リソースに特権を設定するには
1. 次のいずれかの特権条件があることを確認してください。
— あなたはリソースを所有しています。
— リソースに対する付与権限があります。
— すべてのリソースを変更する権利があります。
2. リソース名を右クリックして権限を選択するか、リソースを選択してリソース>権限を選択します。たとえば、データソースリソースから特権を選択すると、次の画面が表示されます。
パネルのリソースとあなたの特権の部分は情報提供のみを目的としています。
3. [すべて表示]ラジオボタンを選択して、表示されていないユーザーに特権を明示的に表示または設定します。
オレンジ色のチェックマークが付いているボックスの場合、特権設定を変更できない場合があります。明示的に割り当てられた特権は、緑色のチェックマークで示されます。琥珀色のチェックは、暗黙的に(グループメンバーシップによって、またはすべてのリソースの変更などの権利の所有を通じて)取得された特権を示します。
4. 読み取りボックスと書き込みボックスを選択して、Studioのデザイン時の権限を設定します。リソースに対する読み取り権限により、ユーザーはリソースが存在するかどうかを確認できます。書き込み権限により、ユーザーはTDVリソース定義を変更できます。これにより、使用できるネイティブリソースと、その使用方法が決まります。
グループとユーザーが次のことを確認してください。
— リソースに対する新しい権限が付与されたユーザーには、そのリソースのパスにあるすべての親コンテナに対する読み取り権限もあります。
— 読み取り権限を持っている人は、オブジェクトデザイン、プロジェクション、スキーマ、SQL、および注釈を表示できます。
— 読み取りおよび選択権限を持つユーザーは、依存関係の表示、実行プランの表示、およびビューに含まれるSQLの実行を行うことができます。
— 読み取り、書き込み、および選択の権限を持つユーザーは、ビューを保存、キャッシュ、および公開できます。
— 既存のリソース定義を変更する必要がある人は、そのリソースに対する書き込み権限を持っています。
— 別のビューの作成に使用されるビューまたはビューに対する読み取り権限があります。
5. 実行、選択、更新、挿入、または削除ボックスを選択して、実行時特権を設定します。
— Select権限により、ユーザーはSQLSELECTステートメントを送信してデータを取得できます。
— 実行権限により、ユーザーはプロシージャを実行できます。
— 挿入、更新、および削除の権限により、ユーザーはテーブルデータを変更できます。
実行時に、読み取り特権はフォルダーとその内容に使用されますが、テーブルやプロシージャーには使用されません。ただし、テーブルに対する選択権限はあるが読み取り権限がないユーザーは、引き続きそのテーブルから選択できます。
6. 所有権の特権を共有するリソースについては、[付与]チェックボックスをオンにします。
Grant権限は、他のStudioユーザーに元のリソース所有者と同じ権限を与えます。
7. 次のフィールドとボタンを使用して、権限パネルに表示されるユーザーとグループをフィルタリングします。
フィールドまたはボタン |
説明 |
明示的な権限のないユーザーを非表示にする |
ディフォルト。ユーザーインターフェイスウィンドウからリソースに対する特権が付与されていないユーザーは表示されません。 |
明示的な権限なしでユーザーとグループを非表示にする |
ユーザーインターフェイスウィンドウからリソースに対する特権が付与されていないユーザーまたはグループは表示されません。 |
すべて表示する |
明示的な権限があるかどうかに関係なく、すべてのユーザーとグループを表示します。 |
フィルター |
ユーザー名とグループ名に適用するフィルター文字列を入力できます。文字列の前後にワイルドカードが追加されます。たとえば、「ea」はユーザーのJeanとBeaを検索し、ミネアポリスをグループ化します。 |
8. [依存関係に再帰的に適用]チェックボックスをオンにして、このリソースが依存するすべてのリソースに設定の選択を適用します。
このリソースが依存するリソースは、どこにでも存在できます。
9. [扶養家族に再帰的に適用]チェックボックスをオンにすると、このリソースに依存するすべてのリソースに設定の選択が適用されます。
依存リソースはどこにでも存在できます。
10. [子リソースとフォルダに再帰的に適用する]チェックボックスをオンにすると、この親リソースが所有するすべての子リソースに設定の選択が適用されます。 。
子リソースは親コンテナ内にあります。
注:プロシージャ、クエリ、変換などの多くのリソースでは、子リソースとフォルダに再帰的に適用を選択できません。
11. ラジオボタンの1つを選択して、特権設定に変更を適用するか、特権設定に変更を適用します。およびのすべての子および/または依存オブジェクトに、ユーザーおよびグループの特権を複製します。選択したリソース。
ラジオボタン |
説明 |
変更のみを適用 |
選択したリソースの特権設定に加えられた特定の変更を保存しますが、子および/または依存リソースの他のすべての特権設定を保持します。 |
子リソースをこのリソースのように見せます |
選択したリソースの特権設定に加えられた変更を保存し、オブジェクトのすべての特権設定を子リソースや依存リソースに伝達します。
このラジオボタンを使用して適用された変更は、子および/または依存リソース特権を追加および削除することができます。 |
12. [OK]をクリックします。
リソースが依存するソースに特権を付与する方法については、
リソースの依存に必要な特権を参照してください。
特権の伝播
権限Insert、Update、Deleteは、トップレベルビュー(仮想データベースに公開されるビュー)に対してのみ設定する必要があります。これらの特権は、依存関係系統の他のビューに対して個別に設定する必要はありません。
ビューに対して選択、挿入、更新、および削除の権限を持っているが、そのビューに対する読み取りアクセス権を持っていないユーザーは、Studioにサインインしたときにビューを表示できますが、ビューを表示すると、エラーメッセージが表示されます。エラーメッセージボックスで[OK]をクリックすると、Studioでビューを開いて実行できますが、ビューへの変更を保存することはできません。
Studio以外のTDVユーザーの権限
このトピックでは、Studioを使用してTDVに接続しないユーザーの特権について説明します。このようなユーザーの1つのカテゴリは、JDBC、ODBC、またはADO.NETを介してTDVに接続するユーザーです。もちろん、そのようなユーザーがこれらのアクションを実行するには、挿入、更新、および削除の特権が必要ですが、これらのアクションの他の条件はそれほど明白ではない場合があります。
•公開されたリソースとそのビューおよびテーブルの系統には、読み取り権限は必要ありません。
•公開されたリソースにはSelect権限が必要です。
•中級のビューとテーブルでは、ユーザーがそのようなアクションを実行するために、挿入、更新、および削除の権限は必要ありません。
特権のコピー
リソースに対するGrant特権を持つユーザーまたは管理者は、選択したリソースから1つ以上の他のリソースに特権設定をコピーできます。
特権をコピーするには
1. 特権を複製するリソースを右クリックします。
2. コピー権限を選択します。
3. 特権のコピー先となる1つ以上のターゲットオブジェクトを選択します。
ターゲットリソースを慎重に選択してください。初期リソースのすべての特権設定は、選択したターゲットリソースのすべての特権設定を上書きします。
4. ターゲットオブジェクトの子孫に特権をコピーする場合は、ターゲットの子孫に特権をコピーを選択します。
5. [OK]をクリックします。
リソース特権の依存関係の検索と編集
依存関係特権分析は、TDV Serverによって定義されたすべてのリソースに対してユーザーとグループをチェックします。具体的には、Select特権またはExecute特権を持つユーザーが、依存関係リソースが存在する場合にそれらにアクセスして使用するための適切な特権も持っているかどうかを確認します。 依存関係列には、依存関係の特権設定を確認および修正する必要があるかどうかを示す集約ステータスアイコンが表示されます。
[すべてのリソースの変更]権限を持つ管理ユーザーは、任意のボックスをクリックして、選択したすべてのユーザーとグループに特権を割り当てることができます。いずれかのボックスをもう一度クリックすると、特権が以前の状態に戻ります。 権限の追加ボタンをクリックして明示的な権限を割り当て、すべてのリソース依存関係の権限の欠陥を修正できます。
現在Managerを使用している管理者が[すべてのリソースの変更]権限を持っていない場合、特権の変更は、管理者が所有者であるか、Grant特権を持っているリソースとコンテナーでのみ可能です。
Manager Resourcesページは、リソースの特権セットと、グループおよびユーザーの依存関係を自動的に分析するツールを提供します。 TDV管理者は、ボタンを1回クリックするだけで特権を追加または削除できます。依存関係の特権を分析または編集し、リソース、ユーザー、またはグループごとに特権を表示、編集、または削除できます。
Manager Resourcesページでは、次のことができます。
•任意のグループまたはユーザーのリソースごとに不足している特権を検索します。
•依存リソースの特権の不整合を確認します。
•リソースまたは依存関係に対する特権を追加または削除します。
•改訂されたリソースへの新しい依存関係の特権を見つけて割り当てます。
•リソースベースの特権セキュリティ監査を実行します。
Manager Resourcesページは、次の管理者権限で使用するのが最適です。
•アクセスツール-マネージャを起動して使用します。
•すべての構成を読み取る-Managerのリソースページを表示します。
•すべてのユーザーを読む—自分のサインインIDとグループの特権を超える特権を表示します。
•すべてのリソースの変更-依存関係の特権設定を追加、削除、または自動的に修正します(ユーザーが所有者であるか、付与特権を持っているリソースを除く)。
注: IE8互換モードで表示されるManagerは低速です。また、IE8は、JavaScriptによってコンピューターが応答しなくなる可能性があることを警告しています。この警告は無視してかまいません。 IE8を使用する場合は、リフレッシュレートを変更してください。
リソースの依存関係を見つけるには
1. 次を使用してManagerを起動します:
— Studio Administration メニューのLaunchManagerオプション
— http://<hostname>:9400/manager/login
2. セキュリティタブメニューからリソース管理を選択し、リソースページを開きます。
リソースページには、公開されたユーザーアクセス可能なフォルダとリソースが表示されます。
3. ラジオボタンを選択し、依存関係特権の分析をクリックします(最初の列のラジオボタンはどちらが選択されているかを示します)。
依存関係列には次のように表示されます。
アイコン |
を示します |
疑問符 |
依存関係の分析は実行されていません。 |
時計 |
分析が進行中です。 |
チェックマーク |
リソースの呼び出し権限を持つすべてのユーザーとグループには、すべてのリソース依存関係(存在する場合)の呼び出し権限もあります。 |
赤い丸x |
このリソースの呼び出し権限を持つ1つ以上のユーザーまたはグループに、1つ以上の依存関係に対する適切な呼び出し権限がありません。
権限の割り当てに一貫性がないリソースには、親リソースの呼び出しを許可するSelectまたはExecute権限を持つユーザーまたはグループがありますが、実行に必要な依存関係にアクセス/使用するために必要な権限はありません。 |
黄色の三角形 |
このリソースに対する部分的な特権を持つ1つ以上のユーザーまたはグループには、このリソースまたは依存リソースを呼び出すための適切な特権がありません。
特権設定が通常の使用パターンと一致しない場合、依存関係分析は黄色の警告三角形でそれらをマークします。たとえば、読み取りまたは書き込み特権はあるが、そのリソースまたはその依存関係のいずれかで選択または実行する特権がないユーザー。 |
依存関係特権の分析は、特権設定についてページ上のすべてのリソースを分析します。
4. [特権の表示]をクリックして、リソース特権の設定を確認するために使用できる詳細なリソース特権レポートを表示します。
特権の表示ボタンには、最大100人のユーザーとグループの特権を含む[<リソース>のリソース特権]ページと、選択したユーザーとグループの各ユーザーとグループの依存関係分析ステータスインジケーターが表示されます。資源。この表示は、特定のリソースにアクセスできるユーザーとアクセスできないユーザーを表示するリソースベースのセキュリティ監査に適しています。
5. オプションで、Managerホームページの右上にあるリフレッシュレートを変更して、ページ上の情報が更新される頻度を制御します。
6. 権限を編集、削除、または変更する行のチェックボックスを選択します。以下のアクションを実行できます。
アクション |
説明 |
編集権限 |
1人以上のユーザーおよびグループに対して、選択したリソースの特権を直接変更します。複数のユーザーまたはグループを選択すると、特権設定には特権設定の集計値が表示されます。 |
依存関係の権限を編集する |
依存関係リソース(およびその親コンテナー)と、アクセスおよび呼び出しに必要な特権を分析します。また、リソースの依存関係の編集ウィンドウを開きます。このウィンドウには、集約された特権設定の詳細が表示されます。
依存関係の特権エラーまたは不整合を示すユーザーとグループを選択します。 |
権限を削除する |
選択したユーザーまたはグループから明示的に割り当てられた特権を削除します。この関数は、ユーザー権限を暗黙的に付与するグループからユーザーを削除したり、管理者権限を削除して権限を削除したりすることはできません。暗黙的な特権を削除するには、それらの特権を付与するグループからユーザーを削除するか、グループに割り当てられた特権を変更するか、ユーザー権限を削除する必要があります。 |
リソースページをリセット |
[セキュリティ]タブ> [リソース管理]の選択をクリックします。 |
特権設定を修正するには
1. [セキュリティ] > [リソース管理]を選択します。
2. [依存関係の特権の分析]をクリックします。
3. [権限の表示]をクリックします。
4. [依存関係の特権の編集]をクリックします。
5. いずれかのアイコンをクリックして、選択したすべてのユーザーとグループの権限を変更します。
6. [権限の追加]をクリックします。
権限の追加は、すべての特権の欠陥を識別し、リソースとその依存関係にアクセスして呼び出すために必要なすべての欠落している特権を明示的に付与します。
7. 完了したら、[OK]または[キャンセル]をクリックします。