【SQL Server2022】SQL Serverの認証方法を設定する 【SSMS用】

SQL Server認証

SQL Serverではセキュリティの観点からデータベースの利用権限をユーザーごとに設定するようになっています。本記事ではSQL Serverの認証について初心者でも分かりやすく説明いたします。

■SQL Server認証とWindows認証

SQL Serverではデータベースを利用するために、権限を持つユーザーとしてログイン時に認証を受ける必要があります。その認証方法として、SQL Server認証とWindows認証の2種類の認証を選べるようになっています。Windows認証はOS(Windows)にサインインしたユーザー情報を引き継ぎます。SQL Server認証ではWindowsにサインインするユーザーに関わりなくSQL Serverに接続するユーザーを管理する認証方法です。

■ユーザーの権限

SQL Serverではデータベースごとにデータベースユーザーを作成します。そのデータベースユーザーごとに権限を設定できるようになっています。データベース接続時に認証を受けるユーザー(ログイン)はデータベースユーザーと関連付ける(ユーザーマッピング)ことで実際のデータベースを操作することができます。

■データベースの作成

SQL Server Management System(SSMS)からデータベースを作成します。今回は説明用に「TestDB」データベースを作成しました。データベースをまだ作成したことが無ければ下記記事を参考にデータベースを作成しましょう。

【SQL Server Management Studio】SSMSインストールからテーブル作成【入門】
SQL Server Management Studio のインストールからテーブル作成、データの追加までを初心者でも分かりやすくご説明します。SQL Serverデータベースを操作するのはとても便利ツールです。ぜひこの機会にデータベースに触れてみましょう!

■ログインとデータベースユーザーの作成

「TestDB」データベースで、SQL Server認証のu_testdbログインに対して利用権限を与えることにします。次の手順でu_testdbログインを作成し、「TestDB」データベースにユーザーを登録します。

(1)
 SSMSのオブジェクトエクスプローラーの「セキュリティ」の左側の「+」をクリックします。

(2)
 「ログイン」を右クリックしショートカットメニューの「新しいログイン」をクリックします。
 

(3)
 「ログイン-新規作成」ダイアログボックスが表示されます。

(4)
 「ログイン名」ボックスに「u_testdb」を入力し、SQL Server認証のラジオボタンにチェックを入れます。「パスワード」と「パスワードの確認入力」の両方のボックスに同じ「u_testdb_pw」を入力します。

(5)
 「パスワードポリシーを適用する」チェックボックスを外します(オフ)。「パスワードの期限を適用する」チェックボックスと「次回ログイン時のパスワード変更を必須にする」チェックボックスが無効にります(オフ)。

(6)
 「既定のデータベース」のプルダウンリストから「TestDB」を選択します。
 ここで選択したデータベースがこのログインの既定のデータベースとなります。

(7)
 SSMSの左側メニューのページ設定の中の「ユーザーマッピング」をクリックします。

(8)
 「このログインにマップされたユーザー」のデータベース列の「TestDB」行の左側のマップ列にチェックを入れます。ユーザー列に作成中の「u_testdb」が表示されます。

(9)
 「TestDBのデータベースロールのメンバーシップ」で「db_datareader」と「db_datawriter」のチェックボックスのチェックを入れます。「public」は常にチェックが入っています。

(10)
 「ログイン-新規作成」ダイアログボックスの右下の「OK」ボタンをクリックします。

(11)
 オブジェクトエクスプローラで「セキュリティ」の下層の「ログイン」の左側の「+」をクリックすると展開され
 「u_testdb」ログインが作成されたことが確認できます。

(12)
 オブジェクトエクスプローラで「データベース」→「TestDB」→「セキュリティ」→「ユーザー」の順に展開していくと作成されたユーザーが確認できます。

■SQL Server認証でログインしてみる

SSMSを再起動します。データベースの接続ダイアログが表示されますので、認証のプルダウンリストで「SQL Server認証」を選択し、ログインのボックスに先ほど作成した「u_testdb」を入力、パスワードのボックスに先ほど登録した「u_testdb_pw」を入力し「接続」ボタンをクリックします。

認証に成功すると、オブジェクトエクスプローラが表示されます。「データベース」→「TestDB」を展開すると、テーブルやビューなどが表示されるようになり、編集ができるようになります。(権限がないと表示されません)

■まとめ

以上で設定は完了です。このようにSQL Server認証を設定するとローカルネットワーク上の複数PCからデータベースに接続できるようになります。

コメント