データベース サーバ権限の概要
データベース サーバ上のジオデータベースおよびデータセットを操作する権限は、カタログ内の定義済みロールにユーザとグループを割り当てることによって制御されます。この場合のユーザまたはグループは、ユーザを識別する Windows 認証のログイン アカウントであり、割り当てられたロールによってユーザが実行できる操作が決まります。
ユーザおよびグループに割り当てることができる定義済みのロールと権限は次のとおりです。
- なし - ユーザにはジオデータベースまたはジオデータベースのデータセットへの特定のアクセス権がありません。
- 読み取り専用 - ユーザはデータの表示および選択のみを許可されます。
- 読み取り/書き込み - ユーザはジオデータベース内の新規データセットの読み取り/書き込み、新規データセットの作成、既存のデータセットの読み取り/書き込みを許可されます。
- 管理 - ユーザは特定のジオデータベースでの管理タスクの実行を許可されます。
- サーバ管理者 - このユーザがデータベース サーバを管理します。
権限は累積されます。上位レベルの権限は下位レベルの権限を含むため、データベース サーバ レベルで管理者になると、ジオデータベース管理者にもなります。ジオデータベース管理者であれば、そのジオデータベース内のすべてのデータセットに対する読み取り/書き込み権限が自動的に付与されます。
権限の割り当てが可能な各レベルについて、以下に説明します。
データベース サーバの権限
データベース サーバ レベルで設定できる唯一の権限は、サーバ管理者です。ユーザはサーバ管理者かそうでないかのどちらかです。
ポストインストール セットアップ プロセスで、SQL Server Express インスタンスでのジオデータベース格納が有効になり、ユーザ ログインがデータベース サーバに追加されます。この時点で、そのユーザにはサーバ管理者ロールが割り当てられます。割り当て後は、カタログ ウィンドウのデータベース サーバ ショートカット メニューからデータベース サーバ権限の設定画面にアクセスできます。
サーバ管理者は、次のタスクを実行できます。
- データベース サーバに対するユーザの追加と削除
- ジオデータベースとユーザ セキュリティの管理
- ジオデータベースの作成と削除
- ジオデータベースのアタッチとデタッチ
- ジオデータベースのバックアップと復元
- ジオデータベースのアップグレード
- ジオデータベースの圧縮
- ジオデータベース内の統計情報とインデックスの更新
- ジオデータベースの縮小
- データベース サーバの開始、停止、一時停止
データベース サーバ管理者は通常 1 人だけです。
次に、データベース サーバの [権限] ダイアログ ボックスの例を示します。ユーザ「har」はサーバ管理者ロールに追加されています。
ジオデータベースの権限
カタログ ウィンドウで [Database Servers] ノードを介してジオデータベースにアクセスする場合は、ジオデータベースのショートカット メニューからジオデータベースレベルの権限の管理メニューにアクセスします。
このレベルの権限は、最初にサーバ管理者によって割り当てられ、役割(ロール)に基づいて管理されます。ユーザに割り当てることができるロールは、次のとおりです。
- 読み取り専用 - ユーザはジオデータベース内のすべてのテーブルからの選択を許可されます。
- 読み取り/書き込み - 読み取り/書き込みロールに割り当てられたユーザは、既存のすべてのデータの選択と編集、およびフィーチャクラスなどのジオデータベース オブジェクトの新規作成を許可されます。ジオデータベース レベルの読み取り/書き込み権限をユーザに割り当てた場合、そのユーザのデータセット レベルでの権限を変更することはできません(自動的に「読み取り/書き込み」になります)。
- 管理 - 管理ロールに割り当てられたユーザは、そのジオデータベース上でのみ管理者になります。つまり、ジオデータベース内のすべてのデータセットに対して読み取り/書き込みの権限を持つことになります。この権限をデータセット レベルで削除することはできません。たとえば、データセット レベルで [権限] ダイアログ ボックスを開き、そのデータセットに対するユーザの権限として [読み取り専用] を選択することはできません。
ジオデータベースのデータセットに対する読み取り/書き込みの接続に加えて、ジオデータベース管理者はそのジオデータベースで管理タスクを実行することができます。これには、ジオデータベースのバックアップの作成、ジオデータベースの圧縮、アップグレード、他のユーザの権限の管理が含まれます(権限を管理するユーザはデータベース サーバの既存ユーザでなければなりません。ジオデータベース管理者がデータベース サーバにユーザを追加することはできません)。
- ユーザ ロールのもう 1 つのオプションは [なし] です。この場合、ユーザはジオデータベース レベルの権限を持ちませんが、以下の「データセット権限」のセクションで説明するように、特定のデータセットに対する読み取り専用または読み取り/書き込みの権限を割り当てることが可能です。[なし] は、ユーザをデータベース サーバに追加するときにデフォルトで割り当てられるジオデータベース レベルの権限です。
次に、ジオデータベース レベルの [権限] ダイアログ ボックスを示します。ユーザ pllama が、ジオデータベース historical の読み取り/書き込みロールに追加されています。
サーバ管理者とジオデータベース管理者の詳細については、「データベース サーバ管理者ユーザ」をご参照ください。
データセットの権限
データセットの権限は、データセットのショートカットメニューに表示される [権限] コマンドからアクセスできます。このコマンドにより [権限] ダイアログ ボックスが表示されます。[権限] ダイアログ ボックスから設定できるデータセット レベルの権限は、[読み取り専用]、[読み取り/書き込み]、[なし] の 3 つです。
ジオデータベース レベルの権限を割り当てずに([なし])、ジオデータベースの特定のフィーチャ データセットに対する読み取り専用または読み取り/書き込みの権限を割り当てることができます。たとえば、解析グループのユーザにジオデータベースへの読み取り専用の権限を割り当てると同時に、ジオデータベースのある特定のフィーチャクラスに対する読み取り/書き込みの権限を割り当てることができます。
ユーザがテーブルなどのデータセットを作成すると、そのデータセットはそのユーザによって所有され、そのユーザのスキーマの一部と見なされます。ジオデータベース内のデータセットのユーザ権限を設定できるのは、そのデータセットの所有者だけです。
サーバ管理者の場合、作成したデータセットは dbo によって所有され、dbo のスキーマに格納されます。したがって、サーバ管理者は、dbo スキーマのすべてのデータセットの権限を割り当てることができますが、dbo スキーマ以外のオブジェクトに関しては権限を割り当てることができません。つまり、サーバ管理者は、非管理者ユーザが所有するデータへの権限を割り当てることはできません。
次に、「firestations(消防署)」という名前のデータセットの、データセットの [権限] ダイアログ ボックスの例を示します。
これらのロールにユーザを割り当て、権限を付与または取り消す方法については、「SQL Server Express Edition 用の ArcSDE ジオデータベースのデータセット権限の変更」をご参照ください。