データベース ロールの作成と編集

提供: ER/Studio Data Architect
移動先: 案内検索

データベースのセキュリティの確立 への移動

ロールは、権限のセットに名前を付けたものです。業務におけるロールは、作業の管轄、権限、および責任によって定義されます。データベース ロールを作成する第一の目的は、組織の各メンバーが果たすロールに基づいて最適なセキュリティ管理を確立することです。

ロールを効果的に作成および適用することで、次のような利点が得られます。

  • 各ユーザーに最適なロールを割り当てます。
  • 通常のパターンから外れた操作を行うユーザーを特定します。
  • 冗長で不要なロールおよびユーザー権限を検出して除去します。
  • ロールの定義とユーザー権限を最新の状態に保ちます。
  • 潜在的なセキュリティ上の抜け道を排除し、結果として生じるリスクを最小限にします。

特定のユーザー グループ向けのデータベース ロールを作成すると、各オブジェクトに各ユーザーに対するアクセス許可を個別に割り当てる代わりに、作成したロールをユーザーに割り当てるだけで済みます。データベース ロールを使用すると、論理モデルのユーザーに付与されるアクセス許可を管理して、論理データベース内のエンティティ、テーブル、およびビューの操作(INSERT、SELECT、UPDATE、DELETE、REFERENCES、および ALTER)を制限できます。データベース プラットフォームの種類によっては、この機能は物理データ モデルのテーブルおよびビューでもサポートされます。さらに、ロールを特定の物理モデルに適用してシステム権限を管理することもできます。システム権限は、データベースやログのバックアップ、またはデータベース、デフォルト、プロシージャ、ルール、テーブル、およびビューの作成などを実行する際に必要になります。使用できるシステム権限はデータベースの種類によって異なり、ロール ウィザードのステップ 2、およびロール エディタの[システム権限]タブに一覧表示されます。

データベース ロールは、論理モデル、および次の物理データベース プラットフォームでサポートされます。

  • Microsoft SQL Server 4.x、6.x、7.x、2000 ~ 2014
  • Oracle 7.x、8.x、9i、10g、11g、および 12c
  1. モデル エクスプローラで、論理[メイン モデル]を展開するか、またはデータベース ロールをサポートする物理[メイン モデル]を展開します。次に、[ロール]ノードを右クリックし、ショートカット メニューの[データベース ロールの作成]をクリックします。
  2. [ロール ウィザード]で、必要なアクセス許可を割り当てて、[完了]をクリックします。
  3. 使用できるオプションとアクセス許可の種類は、プラットフォームによって異なります。

次に、一部のオプションについて補足説明します。

[全般]ページ/タブ

[システム権限]ページ/タブ

[オブジェクト権限]ページ/タブ

[依存関係]ページ/タブ

[定義]ページ/タブ

[DDL]タブ

[アタッチメントのバインド]タブ

メモ


[全般]ページ/タブ

  • [ロール名]:  ロール名を定義するときに許可される文字数の制限は、データベース プラットフォームによって異なります。

次のオプションを使用して、SET ROLE 文によってロールを有効化する際のユーザー認証の方法を指定します。

  • [パスワード]:  ユーザーはローカル ユーザーです。ロールを有効化する際にパスワードを指定する必要があります。
  • [外部]:  ユーザーは外部ユーザーです。ロールを有効化する際に外部サービス(オペレーティング システムやサードパーティのサービスなど)によって認証される必要があります。
  • [グローバル]:  ユーザーはグローバル ユーザーです。ロールを有効化する際、またはログイン時に、ロールの使用をエンタープライズ ディレクトリ サービスによって認証される必要があります。
  • [Not Identified]:  このロールはデータベースによって認証されており、ロールの有効化にパスワードは不要です。
  • [追加]:  [ユーザーの選択]ダイアログ ボックスが開き、ロールを割り当てるユーザーを選択できます。複数のユーザーを選択するには、Ctrl キーを押しながらクリックします。定義済みのユーザーがない場合、一覧は空白になります。

[システム権限]ページ/タブ

カラム名をクリックすると、そのカラム全体が選択されます。複数のオブジェクトを選択するには、Ctrl キーを押しながらクリックします。使用できるシステム権限は、選択された物理プラットフォームによって異なります。

[オブジェクト権限]ページ/タブ

テーブルやビューなどのオブジェクトに、ユーザーのアクセス許可を設定します。一部のデータベース プラットフォームでは、プロシージャ、パッケージ、マテリアライズド ビュー、シーケンス、およびファンクションなどのデータベース オブジェクトにも詳細なアクセス許可を設定できます。カラム名をクリックすると、そのカラム全体が選択されます。複数のオブジェクトを選択するには、Ctrl キーを押しながらクリックします。

[依存関係]ページ/タブ

割り当てられたアクセス許可に関連するオブジェクトに依存関係がある場合、その情報が表示されます。依存関係を持つのは、ファンクション、トリガー、およびプロシージャのような SQL コードです。詳細は、「ファンクションの作成と編集」、「トリガーの作成と編集」、「プロシージャの作成と編集」を参照してください。

[定義]ページ/タブ

ロールの定義を入力または編集します。通常は、ロールの作成理由を記述します。対象データベースでサポートされる場合、SQL コードの生成時に、この定義がコメントとして追加されます。

[DDL]タブ

ロールを作成する CREATE ROLE 文、またはデータベースへの接続時にユーザー権限を確立する GRANT ... ON CONNECT 文が表示されます。物理モデルでは、モデルで選択されたデータベース プラットフォームに固有のパーサーを使用して、ビューを生成します。論理データ モデルにビューを追加する場合は、デフォルト パーサーである ANSI SQL が使用されます。ただし、[論理モデル オプション]ダイアログ ボックスの[全般]タブにある[ビュー パーサー]で、他のパーサーを選択することもできます。詳細は、「 選択したモデルのモデル オプションの定義」を参照してください。

[アタッチメントのバインド]タブ

アタッチメント(外部情報)をロールにバインドします。また、オブジェクトからアタッチメントを削除したり、アタッチメントのバインドのデフォルト値を上書きしたり、バインドされたアタッチメントの位置を変更することもできます。選択したアタッチメントのグリッド(画面の右側)に移動したアタッチメントの値をオーバーライドするには、対象となるアタッチメントの[値]フィールドをダブルクリックします。アタッチメントのデータ型に応じて、[上書き値エディタ]またはリスト ボックスが表示されます。アタッチメントは[データ ディクショナリ]タブの[アタッチメント]フォルダで作成されます。その際、アタッチメント タイプ エディタの[アタッチメント タイプの使用]タブで[ロール/スキーマ]チェック ボックスをオンにする必要があります(デフォルトでオンになっています)。そうでない場合、ロール エディタの[アタッチメントのバインド]タブにそのアタッチメント タイプが表示されません。詳細は、「データ モデルへの外部ドキュメントの関連付け」を参照してください。

メモ

  • 作成したロールをモデル ウィンドウに表示するには、[表示|ダイアグラムとオブジェクトの表示オプション|セキュリティ オブジェクト]タブの[すべてのセキュリティ オブジェクトの表示]チェック ボックスをオンにします。リバース エンジニアリングしたダイアグラムでは、デフォルトでセキュリティ オブジェクトが表示されません。ただし、ゼロから作成したモデルでは、デフォルトでセキュリティ オブジェクトが表示されます。
  • 作成したロールは、ユーザー エディタまたはユーザー ウィザードで、特定のユーザーに割り当てることができます。
  • ロールに割り当てられたアクセス許可を変更するには、ロール エディタ、またはエンティティ/テーブル エディタの[アクセス許可]タブを使用します。詳細は、「エンティティの作成と編集」および「テーブルの作成と編集」を参照してください。
  • 論理モデルで作成されたデータベース ロールは、データベース ロールをサポートする物理モデルの生成時に、物理モデルに移行されます。
  • データベース プラットフォームの種類によっては、データベース ロールを使用して、エンティティ、テーブル、ファンクション、マテリアライズド ビュー、パッケージ、プロシージャ、およびシーケンスのセキュリティを設定できます。


関連項目