ログインの作成

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

このトピックの内容

背景

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

Note

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

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

セキュリティ

アクセス許可

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

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. 複雑さと施行のパスワード ポリシー オプションを適用するには、 [パスワード ポリシーを適用する] を選択します。 詳細については、「 Password Policy」をご参照ください。 [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 固定サーバー ロールのメンバーは、データベース エンジンで任意のアクティビティを実行できます。

[ユーザー マッピング]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    注意

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

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

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

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

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

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

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

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

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

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

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

アクセス許可
権限の名前です。

Grantor
権限を許可したプリンシパルです。

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

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

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

Status

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

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

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

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

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

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

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

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

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)」を参照してください。

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

ログインを作成した後、ログインはSQL Serverに接続できますが、有用な作業を実行するための十分なアクセス許可が必ずしもありません。 ログインに関して一般的に行われる操作について説明するトピックへのリンクを次に示します。