1. SQL Serverのユーザーロール
(1).ユーザー確認のステップ
SQLServerのユーザーの確認は次の3つの段階に分かれています。
①SQLServerのデータベースを利用するユーザーログインアカウント(認証)を持っているか確認
②データベースユーザーとして登録がされているか確認
③データベースの何らかの操作の許可(権限)をもっているか確認
(2)ログインアカウント種類
①標準アカウント
②Windowsユーザーアカウント
③windowsグループアカウント
(3)ログイン認証
①windows認証モード
SQLServerのログインアカウントによるログインはできず、WINDOWSユーザーはSQLServerのユーザーとして登録する必要があります。
②混合モード
SQLServer認証とWINDOWS認証のうちどちらかで認証が行われるモードです。
(4).データベースユーザー
ログインアカウントとは別に利用するデータベースごとにデータベースユーザーとして登録が必要です。また、ユーザー別にそのユーザーのユーザーアカウントを登録するデータベース、登録しないデータベースに分けることができます。
2.権限とロール
権限とはデータベースのデータに対して何らかの操作に対する許可のことであります。
(1).権限の種類
権限にはオブジェクト権限、ステートメント権限の二種類があります。データベースのオブジェクト(テーブル、列、ビュー、ストアドプロシージャ、関数)を操作するための権限です。権限の種類には次の種類があります。
①SELECT:テーブルやビューのデータを抽出するための権限
②INSERT:テーブルやビューに行を挿入するための権限
③UPDATEテーブルやビューの行を更新するための権限
④DELETE:テーブルやビューの行を削除する為の権限
⑤REFERENCES:テーブルの中の列を外部キーの参照先にする為の権限
⑥EXECUTE:ストアドプロシージャを実行する為の権限
(2)ステートメント権限
データベースやテーブルなどのオブジェクトを作成するための権限です。ステートメント権限は通常システム管理者や開発者にのみ与えられ権限です。
①Create table:テーブルを作成するための権限
②Create View:ビューを作成する為の権限
(3)ロール
ロールは権限ユーザーのグループであり、SQLServer管理者より与えられる。ロールには固定サーバーロール、固定データベースロール、ユーザーデータベースロールの三種類があります。
①継承
ロール権限がそのまま所属ユーザー権限になること
(4)固定サーバーロール
固定データベースロールもインストールと同時に作成されるロールであり、このロールにはサーバーレベルの管理者となるユーザーのログインアカウントとして使用します。固定サーバーロールには管理者として適切な権限があらかじめ与えられているのでどのような権限を与えればよいのかを特に設定する必要はありません。固定サーバーロールを追加、削除、変更することはできません。固定サーバーロール種類には次のロールがあります。
①Sysadmin:サーバー上のあらゆる操作が行える
②Serveradmin:サーバーのシステムオプションの設定やSQLServerのシャットダウンができる。
③Setupadmin:起動時に実行するストアドプロシージャの管理が行える
④Securityadmin:セキュリティ管理に関する作業が行える
⑤Processadmin:サーバー上のプロセス管理に関する作業が行える
⑥Dbcreater:データベース作成、変更、削除ができる。
⑦diskadmin:ディスク上のファイルの管理に関する作業が行える
⑧Bulkadmin:Bulk INSERTトリートメントが実行できる
(5)固定データベースロール
固定データベースロールもインストールと同時に自動的に作成されるロールです。固定サーバーロールと異なるのはこのロールにはサーバーレベルではなくデータベースレベルの管理者となるユーザーをログインアカウントとして使用される点です。固定データベースロールには次の種類があります。
■固定データベースロールの種類
①Db_owner:データベースでのあらゆる操作を実行できる
②Db_accessadmin:データベースのユーザー、グループ、ロールの追加、削除ができる
③Db_ddladmin:データベースオブジェクトの追加、変更、削除ができる
④Db_securityadmin:セキュリティ管理にかんする操作ができる。
⑤Db_backupoperator:データベースのバックアップに関する操作ができる
⑥db_datareader:データベース内のすべてのテーブルのデータ読み取りができる
⑦Db_datawriter:データベース内のすべてのテーブルに対してデータの更新(追加、変更、削除ができる)
⑧db_denydatareader:データベース内のすべてのテーブルに対してデータの読み取りができない
⑨db_denydatawriter:データベース内のすべてのテーブルに対してデータ更新(追加、変更、削除)ができない。
⑩その他、dbo:データベース所有者、public:一般ユーザーを所属させるロールがある。
(6)ユーザー定義データベースロール
このロールはSQLServerによって自動的に作成されるのではなく、ユーザーが自ら作成するロールです。
3.まとめ
(1)ログイン
SQLServerのデータベースを利用するユーザーはSQLServerへの接続を行う必要があります。
(2)認証
SQLServerは正規のユーザーであることを確認する2種類の認証モードがあり、Windows認証モード、混合モードとあります。
(3)アカウント
SQLServerへログインする為の、ユーザーアカウントです。
(4)権限
権限とはデータベースのデータに対して何らかの操作に対する許可のこと。権限にはオブジェクト権限、ステートメント権限の2種類があります。
(5)データベースユーザー
データベースに対しての操作を行うためにユーザーが正規のデータベースユーザーとして登録してある必要があります。
(6)ロール
サーバー、データベースのユーザーのグループのことで、権限はSQLServerの管理者によって定められています。