ログインの作成

このトピックでは、SQL Server 2012 で SQL Server Management Studio または Transact-SQL を使用して、ログインを作成する方法について説明します。 ログインとは、SQL Server のインスタンスに接続しようとしている人またはプロセスの ID を指します。

このトピックの内容

  • 作業を開始する準備:

    背景情報

    セキュリティ

  • 次のものを使用してログインを作成するには:

    SQL Server Management Studio

    Transact-SQL

  • 補足情報: ログインの作成後に実行する手順

背景情報

ログインは、セキュリティ プリンシパル、またはセキュリティで保護されたシステムで認証できるエンティティです。 SQL Server に接続するためには、ユーザーにログインが必要です。 Windows プリンシパル (ドメイン ユーザーや Windows ドメイン グループなど) に基づいてログインを作成することも、Windows プリンシパルに基づかないログイン (SQL Server ログインなど) を作成することもできます。

注意

SQL Server 認証を使用するためには、データベース エンジンに混合モード認証が使用されている必要があります。 詳細については、「認証モードの選択」を参照してください。

セキュリティ プリンシパルとして、ログインには権限を許可することができます。 ログインのスコープは、データベース エンジン全体です。 SQL Server のインスタンス上の特定のデータベースに接続するには、データベース ユーザーにログインをマップする必要があります。 データベース内の権限を許可したり拒否したりする際に、その対象となるのは、ログインではなく、データベース ユーザーです。 ログインには、SQL Server のインスタンス全体をスコープとして持つ権限 (CREATE ENDPOINT 権限など) を許可することができます。

セキュリティ

権限

サーバーに対する ALTER ANY LOGIN または ALTER LOGIN 権限が必要です。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

SQL Server ログインを作成するには

  1. オブジェクト エクスプローラーで、新しいログインを作成するサーバー インスタンスのフォルダーを展開します。

  2. [セキュリティ] フォルダーを右クリックし、[新規作成] をポイントして、[ログイン] をクリックします。

  3. [ログイン - 新規作成] ダイアログ ボックスの [全般] ページで、[ログイン名] ボックスにユーザーの名前を入力します。 または、[検索] をクリックして [ユーザーまたはグループの選択] ダイアログ ボックスを開きます。

    [検索] をクリックした場合:

    1. [このオブジェクトの種類を選択してください] で、[オブジェクトの種類] をクリックして [オブジェクトの種類] ダイアログ ボックスを開き、[ビルトイン セキュリティ プリンシパル][グループ][ユーザー] のいずれかまたはすべてを選択します。 [ビルトイン セキュリティ プリンシパル][ユーザー] が既定で選択されます。 完了したら、[OK] をクリックします。

    2. [場所を指定してください] で、[場所] をクリックして [場所] ダイアログ ボックスを開き、使用可能なサーバー場所の 1 つを選択します。 完了したら、[OK] をクリックします。

    3. [選択するオブジェクト名を入力してください (例)] で、検索するユーザー名またはグループ名を入力します。 詳細については、「[ユーザー、コンピューターまたはグループの選択] ダイアログ ボックス」を参照してください。

    4. 詳細検索オプションを表示するには [詳細] をクリックします。 詳細については、「[ユーザー、コンピューターまたはグループの選択] ダイアログ ボックス - [詳細設定] ページ」を参照してください。

    5. [OK] をクリックします。

  4. Windows プリンシパル上に基づいてログインを作成するには、[Windows 認証] を選択します。 これは既定値です。

  5. SQL Server データベースに保存されるログインを作成するには、[SQL Server 認証] を選択します。

    1. [パスワード] ボックスに、新しいユーザーのパスワードを入力します。 [パスワードの確認] ボックスに、パスワードを再度入力します。

    2. 既存のパスワードを変更する場合は、[古いパスワードを指定する] を選択し、古いパスワードを [古いパスワード] ボックスに入力します。

    3. 複雑さと施行のパスワード ポリシー オプションを適用するには、[パスワード ポリシーを適用する] を選択します。 詳細については、「パスワード ポリシー」を参照してください。 [SQL Server 認証] が選択されている場合、これは既定のオプションです。

    4. 失効に関するパスワード ポリシー オプションを適用するには、[パスワードの期限を適用する] を選択します。 このチェック ボックスをオンにする場合は、[パスワード ポリシーを適用する] がオンになっている必要があります。 [SQL Server 認証] が選択されている場合、これは既定のオプションです。

    5. ユーザーにログインの初回使用後に新しいパスワードの作成を強制するには、[ユーザーは次回ログイン時にパスワードを変更する] を選択します。 このチェック ボックスをオンにする場合は、[パスワードの期限を適用する] がオンになっている必要があります。 [SQL Server 認証] が選択されている場合、これは既定のオプションです。

  6. ログインをスタンドアロン セキュリティ証明書に関連付けるには、[証明書にマップ済み] を選択し、一覧から既存の証明書の名前を選択します。

  7. ログインをスタンドアロン非対称キーに関連付けるには、[非対称キーにマップ済み] を選択し、一覧から既存のキーの名前を選択します。

  8. ログインをセキュリティ資格情報に関連付けるには、[資格情報にマップ済み] チェック ボックスをオンにし、一覧から既存の資格情報を選択するか、[追加] をクリックして新しい資格情報を作成します。 ログインからセキュリティ資格情報へのマッピングを削除するには、[マップされた資格情報] から資格情報を選択し、[削除] をクリックします。 全般的な資格情報の詳細については、「資格情報 (データベース エンジン)」を参照してください。

  9. [既定のデータベース] の一覧から、ログインの既定のデータベースを選択します。 [マスター] はこのオプションの既定値です。

  10. [既定の言語] の一覧から、ログインの既定の言語を選択します。

  11. [OK] をクリックします。

追加オプション

[ログイン - 新規作成] ダイアログ ボックスでは、[サーバー ロール][ユーザー マッピング][セキュリティ保護可能なリソース][状態] の 4 つの追加ページにもオプションがあります。

サーバー ロール

[サーバー ロール] ページには、新しいログインに割り当てることができるすべての可能なロールが一覧表示されます。 使用できるオプションは以下のとおりです。

  • [bulkadmin] チェック ボックス
    bulkadmin 固定サーバー ロールのメンバーは、BULK INSERT ステートメントを実行できます。

  • [dbcreator] チェック ボックス
    dbcreator 固定サーバー ロールのメンバーは、任意のデータベースを作成、変更、削除、および復元できます。

  • [diskadmin] チェック ボックス
    diskadmin 固定サーバー ロールのメンバーは、ディスク ファイルを管理できます。

  • [processadmin] チェック ボックス
    processadmin 固定サーバー ロールのメンバーは、データベース エンジンのインスタンスを実行しているプロセスを終了できます。

  • [public] チェック ボックス
    すべて SQL Server ユーザー、グループ、およびロールは、既定で [public] 固定サーバー ロールに属します。

  • [securityadmin] チェック ボックス
    securityadmin 固定サーバー ロールのメンバーは、ログインとログインのプロパティを管理します。 このメンバーは、サーバー レベルの権限を許可、拒否、および禁止できます。 また、データベース レベルの権限も許可、拒否、および禁止できます。 また、SQL Server ログインのパスワードをリセットできます。

  • [serveradmin] チェック ボックス
    serveradmin 固定サーバー ロールのメンバーは、サーバー全体の構成オプションを変更したり、サーバーをシャットダウンしたりできます。

  • [setupadmin] チェック ボックス
    setupadmin 固定サーバー ロールのメンバーは、リンク サーバーを追加および削除でき、一部のシステム ストアド プロシージャを実行することもできます。

  • [sysadmin] チェック ボックス
    sysadmin 固定サーバー ロールのメンバーは、データベース エンジンの任意の動作を実行できます。

[ユーザー マッピング]

[ユーザー マッピング] ページには、すべての可能なデータベースと、ログインに適用できるデータベースに対するデータベース ロール メンバーシップが一覧表示されます。 選択したデータベースによって、ログインに使用できるロールのメンバーシップが決まります。 このページで使用できるオプションを次に示します。

  • [このログインにマップされたユーザー]
    このログインでアクセスできるデータベースを選択します。 データベースを選択すると、[database_name のデータベース ロール メンバーシップ] ペインに有効なデータベース ロールが表示されます。

  • [マップ]
    下の一覧にあるデータベースへのアクセスを、ログインに許可します。

  • [データベース]
    サーバーで利用できるデータベースを一覧表示します。

  • [ユーザー]
    ログインにマップするデータベース ユーザーを指定します。 既定では、データベース ユーザーの名前はログインと同じになります。

  • [既定のスキーマ]
    ユーザーの既定のスキーマを指定します。 ユーザーが最初に作成されるときの既定のスキーマは、dbo です。 存在しない既定のスキーマを指定することもできます。 Windows グループ、証明書、非対称キーにマップされるユーザーに対して既定のスキーマを指定することはできません。

  • [database_name では guest アカウントが有効] database_name
    選択したデータベースで guest アカウントが有効かどうかを示す読み取り専用属性です。 guest アカウントを有効または無効にするには、guest アカウントの [ログインのプロパティ] ダイアログ ボックスの [状態] ページを使用します。

  • [database name のデータベース ロール メンバーシップ] database_name
    指定されたデータベースにおけるユーザーのロールを選択します。 どのデータベースでも、ユーザーはすべて public ロールのメンバーになり、削除できません。 データベース ロールの詳細については、「データベース レベルのロール」を参照してください。

[セキュリティ保護可能なリソース]

[セキュリティ保護可能なリソース] ページには、すべてのセキュリティ保護可能なリソースと、ログインに付与できる、セキュリティ保護可能なリソースに対する権限が一覧表示されます。 このページで使用できるオプションを次に示します。

  • 上のグリッド
    権限を設定できるアイテムが 1 つ以上表示されます。 上のグリッドに表示される列は、プリンシパルまたはセキュリティ保護可能なリソースによって異なります。

    アイテムを上のグリッドに追加するには:

    1. [検索] をクリックします。

    2. [オブジェクトの追加] ダイアログ ボックスで、[特定のオブジェクト][この種類のすべてのオブジェクト][サーバー server_name] のいずれかのオプションを選択します。 [OK] をクリックします。

      注意

      [サーバー server_name] を選択すると、そのサーバーのセキュリティ保護可能なすべてのオブジェクトが上のグリッドに自動的に入力されます。

    3. [特定のオブジェクト] を選択した場合:

      1. [オブジェクトの選択] ダイアログ ボックスの [以下のオブジェクトの種類を選択] で、[オブジェクトの種類] をクリックします。

      2. [オブジェクトの種類を選択] ダイアログ ボックスで、[エンドポイント][ログイン][サーバー][可用性グループ][サーバー ロール] のオブジェクトの種類のいずれかまたはすべてを選択します。 [OK] をクリックします。

      3. [選択するオブジェクト名を入力してください (例)] で、[参照] をクリックします。

      4. [オブジェクトの参照] ダイアログ ボックスで、[オブジェクトの種類を選択] ダイアログ ボックスで選択した種類の使用可能なオブジェクトを選択し、[OK] をクリックします。

      5. [オブジェクトの選択] ダイアログ ボックスで [OK] をクリックします。

    4. [オブジェクトの種類を選択] ダイアログ ボックスで [この種類のすべてのオブジェクト] を選択した場合は、[エンドポイント][ログイン][サーバー][可用性グループ][サーバー ロール] のオブジェクトの種類のいずれかまたはすべてを選択します。 [OK] をクリックします。

  • 名前
    グリッドに追加される各プリンシパルまたはセキュリティ保護可能なリソースの名前です。


  • 各アイテムの種類について説明します。

  • [明示的] タブ
    上のグリッドで選択されているセキュリティ保護可能なリソースに適用できる権限が表示されます。 すべての明示的な権限に対してすべてのオプションを使用できるわけではありません。

  • [権限]
    権限の名前です。

  • [権限の許可者]
    権限を許可したプリンシパルです。

  • [許可]
    この権限をログインに対して許可する場合はオンにします。 この権限を取り消す場合はオフにします。

  • [許可の有無]
    一覧表示された権限に対する WITH GRANT オプションの状態を反映します。 このボックスは読み取り専用です。 この権限を適用するには、GRANT ステートメントを使用します。

  • [拒否]
    この権限をログインに対して拒否する場合はオンにします。 この権限を取り消す場合はオフにします。

[状態]

[状態] ページには、選択した SQL Server ログインに対して構成できる認証オプションと承認オプションの一部が表示されます。

このページで使用できるオプションを次に示します。

  • [データベース エンジンに接続する権限]
    この設定を操作するときは、選択したログインを、セキュリティ保護可能なリソースに対する権限を許可または拒否できるプリンシパルと考えます。

    ログインに CONNECT SQL 権限を付与する場合は、[許可] を選択します。 ログインに CONNECT SQL 権限を与えない場合は、[拒否] を選択します。

  • [ログイン]
    この設定を操作するときは、選択したログインを、テーブル内のレコードと考えます。 ここに一覧表示される値を変更すると、それらの変更がレコードに適用されます。

    無効になっているログインも、レコードとして存在し続けます。 ただし、無効になっているログインから SQL Server に接続を試みても、そのログインは認証されません。

    このオプションを選択して、このログインを有効または無効にします。 このオプションは、ENABLE オプションまたは DISABLE オプションを指定した ALTER LOGIN ステートメントを実行します。

  • [SQL Server 認証]
    [ログインをロックアウトする] チェック ボックスは、選択したログインが SQL Server 認証を使用して接続し、ログインがロックアウトされている場合のみ使用できます。この設定は、読み取り専用です。ロックアウトされたログインのロックを解除するには、UNLOCK オプションを指定して ALTER LOGIN を実行します。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

Windows 認証を使用してログインを作成するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。

    -- Create a login for SQL Server by specifying a server name and a Windows domain account name.
    
    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
    GO
    

SQL Server 認証を使用してログインを作成するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。

    -- Creates the user "shcooper" for SQL Server using the security credential "RestrictedFaculty" 
    -- The user login starts with the password "Baz1nga," but that password must be changed after the first login.
    
    CREATE LOGIN shcooper 
       WITH PASSWORD = 'Baz1nga' MUST_CHANGE,
       CREDENTIAL = RestrictedFaculty;
    GO
    

詳細については、「CREATE LOGIN (Transact-SQL)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]

補足情報: ログインの作成後に実行する手順

ログインの作成が済むと、そのログインで SQL Server に接続できるようになりますが、実際の作業を行うための十分な権限があるとは限りません。 ログインに関して一般的に行われる操作について説明するトピックへのリンクを次に示します。

[トップに戻る] リンクで使用される矢印アイコン[Top]