SQL ServerのWindows認証・SQL Server認証とは

SQL Serverの認証モードとは

SQL Serverは認証するために2種類の認証モードが用意されています。

  • Windows認証
  • SQL Server認証

Windows認証SQL Server認証です。

参照:認証モードの選択 – TechNet – Microsoft

Windows認証とは

SQL ServerのWindows認証はその名のとおりWindowsで認証するOS認証です。

OSにログオンしているユーザーで認証されます。WindowsはActive Directory(AD)で管理されるのでADユーザーを使用する認証モードです。

OSにログインしている時点で認証済みとみなされるため、SQL Serverでのユーザー名、パスワードの入力が省略されます。

下図はMicrosoft SQL Server Management Studioのログイン画面ですが、認証で「Windows認証」を選択するとユーザー名・パスワードが入力できません。

OSにログインしているユーザー名が表示されています。これで自動認証されるため、手間が省けます。

SQL Server認証

SQL Server認証はユーザー・パスワードを入力して認証する旧式の認証モードです。

下図はMicrosoft SQL Server Management Studioのログイン画面ですが、認証で「SQL Server認証」を選択するとユーザー名・パスワードを入力しないとログインできません。

SQL Server認証では、ユーザー・パスワードをSQL Serverで管理することになり、セキュリティ的には、管理が煩雑で脆弱なシステムということで推奨はされていません。

セキュリティ的に脆弱ということは、使う側には便利な認証モードなのですが・・。

Windows認証とSQL Server認証のどちらを使うべき?

それではWindows認証とSQL Server認証のどちらを使うべきか?ですが、簡単にいえば、

  • AD環境があればWindows認証
  • AD環境がなければSQL Server認証

です。

ある程度の規模の企業であればADで社内ネットワークを組んでいるかと思います。AD構築済みのネットワークであれば、Windows認証を使うべきです。セキュリティ的なことはADにおまかせしておけばいいのです。

中小企業・個人使用など、ADを構築できない企業ではSQL Server認証を使うしか選択肢はありません。正確にいうと、実はADがなくてもWindows認証は使用できます。

しかし、クライアントと同じユーザー・パスワードをサーバー側にも作成しないといけない制約があるため現実的ではありません。なのでADを構築できない企業では、SQL Server認証になります。

SQL Serverの認証モードのまとめ

  • SQL ServerはWindows認証、SQL Server認証の2種類の認証モードがあります。
  • Windows認証はOSのユーザー・パスワードで認証します
  • SQL Server認証はユーザー・パスワードで認証します
  • AD環境があればWindows認証を採用します
  • AD環境がなければSQL Server認証します

以上、SQL Serverの2種類の認証モード、Windows認証とSQL Server認証の解説でした。