SQL Server のことなら SQL Quality SQL Server パフォーマンス チューニング、コンサルティング、アドバイス、相談、定期診断、トレーニング

ホーム > 技術情報 > SQL Server 2012 自習書 セキュリティ

SQL Server 2012 自習書 「No.18 セキュリティ」(HTML 版)

松本美穂と松本崇博が執筆した完全オリジナル SQL Server 2012 自習書シリーズの「No.18 セキュリティ」の HTML 版です。 日本マイクロソフトさんの Web サイトで Word または PDF 形式でダウンロードできますが、今回、HTML 版として公開する許可をいただきましたので、ここに掲載いたします。[2013年12月29日]

目次へ | 前のページへ | 次のページへ

3.1 管理者アカウント

◆ 管理者アカウント

SQL Server 2012 のインストールの完了後は、以下のログイン アカウントが自動的に作成されています。

00054

このうち、SQL Server に対してあらゆる操作が可能な管理者アカウントは、次の 2つです。

インストール時に管理者として追加したアカウント

SQL Server のインストール時に管理者として追加したアカウント(画面は SERVER1\Administrator)は管理者アカウントとして登録されています。

00055

sa アカウント

sa は、System Administrator の略で、SQL Server 認証用の管理者アカウントとして登録されています。SQL Server のインストール時に、セキュリティ モードで Windows 認証モードを選択している場合は、「無効」に設定された状態で作成されます。

◆ 無効なログイン アカウント 00056

ログイン アカウントは、「無効」に設定して、そのアカウントでログインできないように設定することもできます。SQL Server のインストール時に Windows 認証モードを選択している場合は、sa アカウントは、「無効」に設定されて登録されています。無効に設定されたアカウントは、次のように表示されます。

00057

アカウントの「有効」と「無効」を切り替えるには、ログイン アカウントの[プロパティ]ダイアログから行うことができます。ただし、セキュリティ モードが Windows 認証モードに設定されている場合は、SQL Server 認証用のログイン アカウントを「有効」に設定したとしても、利用することはできません(Step 2 の最後で SqlUser01 ログイン アカウントがログインに失敗することを確認しました)。これは、sa アカウント(管理者アカウント)であっても例外ではありません。

◆ sa アカウントの有効化

それでは、これを試してみましょう(この手順は、Administrator として Windows へログオンした状態で行う必要があります)。

1.まず、Management Studio を起動して、[ログイン]フォルダーにある「sa」アカウントをダブル クリック(または、右クリックして[プロパティ]をクリック)します。

00058

2.ログインのプロパティ]ダイアログが表示されたら、[状態]ページを開き、[ログイン]を「有効」へ変更します。

00059

3.続いて、[全般]ページを開いて、[パスワード]と[パスワードの確認入力]へ「P@ssword」など、任意のパスワードを入力して、[OK]ボタンをクリックします。

00060

これで、sa アカウントを「有効」な状態へ変更することができます。

Note: sa のパスワードは必ず設定するように
過去(2001年)には、sa のパスワードが設定されていない SQL Server を狙ったワームが問題となったことがありました。ワームは、増殖機能を持った悪意のあるプログラムのことです。このワームは、SQL Server に対して、sa パスワードなしでログインを試みて、トロイの木馬の設置などを行っていました。
しかし、このワームに侵入されたのは、sa のパスワードを設定していなかったマシンです。パスワードを適切に設定していれば、侵入を防ぐことができたのです。したがって、sa には必ずパスワードを設定し、かつ次の Stepで説明するパスワードの管理を行っておくことが非常に重要です。

◆ sa アカウントでのログイン

続いて、有効化した sa アカウントを使用して、SQL Server へログインできるかどうかを試してみましょう。

1.まずは、次のようにツールバーの[データベース エンジン クエリ]ボタンをクリックます。

00061

データベース エンジンへの接続]ダイアログでは、[認証]へ「SQL Server 認証」を選択して、[ログイン]へ「sa」、[パスワード]へ「P@ssword」と入力し、[接続]ボタンをクリックします。

結果は、次のようにエラー メッセージが表示されて、ログインに失敗することを確認できます。

00062

セキュリティ モードがWindows 認証モード」の場合は、sa であってもログインすることはできません

メッセージを確認後、[OK]ボタンをクリックしてダイアログを閉じ、[データベース エンジンへの接続]ダイアログで、[キャンセル]ボタンをクリックします。

◆ 混合モードへの変更

次に、セキュリティ モードを「混合モード」へ変更した場合の動作を確認してみましょう。

1.混合モードへ変更するには、オブジェクト エクスプローラーから、次のように SQL Server の名前を右クリックして[プロパティ]をクリックします。

00063

サーバーのプロパティ]ダイアログが表示されたら、[セキュリティ]ページを開いて、「SQL Server 認証モードと Windows 認証モード」を選択して、[OK]ボタンをクリックします。

2.これにより、再起動を促すダイアログが表示されるので、[OK]ボタンをクリックします。

00064

3.続いて、SQL Server を再起動して、セキュリティ モードの変更を有効化します。SQL Server を再起動するには、オブジェクト エクスプローラーで SQL Server の名前を右クリックして[再起動]をクリックします。

00065

確認ダイアログが表示されたら、[はい]ボタンをクリックします。

再起動が完了すると、セキュリティ モードが「混合モード」へ変更されて、Windows 認証でも、SQL Server 認証でもログインができるようになります。

◆ sa アカウントでのログイン

混合モードへ変更後、sa アカウントを使用して、ログインできかどうかを試してみましょう。

1.まずは、ツールバーの[データベース エンジン クエリ]ボタンをクリックます。

00066

データベース エンジンへの接続]ダイアログでは、[認証]へ「SQL Server 認証」を選択して、[ログイン]へ「sa」、[パスワード]へ「P@ssword」と入力し、[接続]ボタンをクリックします。

2.今度は、エラーにならず、次のようにクエリ エディターが起動して、画面右下へ「sa」と表示され、sa アカウントとして SQL Server へのログインが成功したことを確認できます。

00067

3.次に、「sampleDB」データベースへ接続して、「社員」テーブルのデータを参照できるかどうかを確認してみましょう。次のように入力します。

USE sampleDB
SELECT FROM 社員

00068

結果ウィンドウへは、「社員」テーブルのデータが表示されて、問題なくデータを参照できたことを確認できます。

このように、SQL Server の管理者アカウントの場合は、3つのセキュリティ チェックに関係なく、SQL Server に対してあらゆる操作を実行することが可能です。

Note: Windows 認証モードを推奨
セキュリティ モードは、Windows 認証モードを利用することをお勧めします(Windows 認証モードは、マイクロソフトが推奨するセキュリティ モードです)。理由は、Windows 認証モードのほうが、混合モードよりもセキュリティを向上させることができるためです。混合モード(SQL Server 認証)を利用した場合は、VB や C# で ADO.NET を使用して、記述されたアプリケーションは、次のようにログイン アカウントの名前とパスワードをアプリケーション内へ記述しなければなりません。
Using cn As New SqlConnection("Server=localhost;Database=sampleDB;User ID=sa;Password=P@ssword")
     cn.Open()
        :
End Using
この文字列(接続文字列と呼ばれます)は、別ファイル(App.Config など)へ保管して、さらに暗号化することも可能ですが、ログイン アカウントの名前とパスワードがネットワーク上に流れるリスクを考慮しなければなりません(ネットワーク通信を暗号化するなど)。
これに対して、Windows 認証での接続の場合は、次のようにアプリケーション内へパスワードを記述する必要はありません。
Using cn As New SqlConnection("Server=localhost;Database=sampleDB;Integrated Security=SSPI;")
また、パスワードがネットワーク上を流れることもありません(パスワード認証は、Windows OS レベルでの認証で行われるためです)。
なお、いずれのモードを利用する場合でも、セキュリティ強化のためには、次の Step 3.4 で説明するパスワード管理をしっかりと行っておくことが重要です。

目次へ | 前のページへ | 次のページへ

事例1

SQLQualityは執筆とセミナーを通じて技術の啓蒙やエンジニアの育成支援も行っています
最新刊
SQL Server 2016 の教科書
SQL Server 2016 の教科書(ソシム)

弊社オリジナル制作の
SQL Server 2016 自習書も
マイクロソフトのサイトで公開中!
ダウンロードはこちら
セミナー風景
セミナー風景

ロングセラー
ASP.NET でいってみよう  SQL Server 2000 でいってみよう
ASP.NET でいってみよう
第7刷 16,500 部発行
SQL Server 2000 でいってみよう
第12刷 28,500 部発行
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要(Amazon Kindle 書籍)

弊社執筆の
SQL Server 2014 自習書
マイクロソフトのサイトで公開中
目次はこちら

弊社執筆の
SQL Server 2012 自習書
マイクロソフトのサイトで公開中
ダウンロードはこちら
松本美穂のコラム
(公開活動などのお知らせ)

第60回:SQL Server 2017 自習書 No.3「SQL Server 2017 Machine Learning Services」のご案内
第59回:SQL Server 2017 自習書 No.2「SQL Server 2017 on Linux」のご案内
第58回:SQL Server 2017 自習書 No.1「SQL Server 2017 新機能の概要」のご案内
第57回:SQL Server 2017 RC 版とこれまでのドキュメントのまとめ
第56回:「SQL Server 2016 への移行とアップグレードの実践」完成&公開!
第55回:書籍「SQL Server 2016の教科書 開発編」(ソシム)が発刊されました
第54回:「SQL Server 2016 プレビュー版 Reporting Services の新機能」自習書のお知らせ
第 53 回:SQL Server 2016 Reporting Services の新しくなったレポート マネージャーとモバイル レポート機能
第 52 回:SQL Server 2016 の自習書を作成しました!
第 51 回:PASS Summit と MVP Summit で進化を確信!
第 50 回:新しくなった Power BI(2.0)の自習書を作成しました!
第49 回:Excel 2016 の Power Query を使う
第 48 回:新しくなった Microsoft Power BI ! 無料版がある!!
第 47 回:「Microsoft Azure SQL Database 入門」 完成&公開!
第 46 回:Microsoft Power BI for Windows app からの Power BI サイト アクセス
第 45 回:Power Query で取得したデータを PowerPivot へ読み込む方法と PowerPivot for Excel 自習書のご紹介
第44回:「SQL Server 2014 への移行とアップグレードの実践」ドキュメントを作成しました
第43回:SQL Server 2014 インメモリ OLTP 機能の上級者向けドキュメントを作成しました
第42回:Power Query プレビュー版 と Power BI for Office 365 へのクエリ保存(共有クエリ)
第41回:「SQL Server 2014 CTP2 インメモリ OLTP 機能の概要」自習書のお知らせです
第40回: SQL Server 2012 自習書(HTML版)を掲載しました
第39回: Power BI for Office 365 プレビュー版は試されましたか?
第38回: SQL Server 2014 CTP2 の公開
第37回: SQL Server 2014 CTP1 の自習書をご覧ください
第36回: SQL Server 2014 CTP1 のクラスター化列ストア インデックスを試す
第35回: SQL Server 2014 CTP1 のインメモリ OLTP の基本操作を試す
第34回: GeoFlow for Excel 2013 のプレビュー版を試す
第33回: iPad と iPhone からの SQL Server 2012 Reporting Servicesのレポート閲覧
第32回: PASS Summit 2012 参加レポート
第31回: SQL Server 2012 Reporting Services 自習書のお知らせ
第30回: SQL Server 2012(RTM 版)の新機能 自習書をご覧ください
第29回: 書籍「SQL Server 2012の教科書 開発編」のお知らせ
第26回: SQL Server 2012 の Power View 機能のご紹介
第25回: SQL Server 2012 の Data Quality Services
第24回: SQL Server 2012 自習書のご案内と初セミナー報告
第23回: Denali CTP1 が公開されました
第22回 チューニングに王道あらず
第21回 Microsoft TechEd 2010 終了しました
第20回 Microsoft TechEd Japan 2010 今年も登壇します
第19回 SQL Server 2008 R2 RTM の 日本語版が公開されました
第18回 「SQL Azure 入門」自習書のご案内
第17回 SQL Server 2008 自習書の追加ドキュメントのお知らせ
第16回 SQL Server 2008 R2 自習書とプレビュー セミナーのお知らせ
第15回 SQL Server 2008 R2 Reporting Services と新刊のお知らせ
第14回 TechEd 2009 のご報告と SQL Server 2008 R2 について
第13回 SQL Server 2008 R2 の CTP 版が公開されました
第12回 MVP Summit 2009 in Seattle へ参加

技術コミュニティでも活動中