データベース ユーザーの作成Create a Database User

適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

このトピックでは、最も一般的な種類のデータベース ユーザーを作成する方法について説明します。This topic describes how to create the most common types of database users. ユーザーには種類が 7 つあります。There are eleven types of users. 完全な一覧については、「CREATE USER (Transact-SQL)」を参照してください。The complete list is provided in the topic CREATE USER (Transact-SQL). すべての種類の SQL ServerSQL Server ではデータベース ユーザーがサポートされますが、すべての種類のユーザーがサポートされているとは限りません。All varieties of SQL ServerSQL Server support database users, but not necessarily all types of users.

データベース ユーザーを作成するには、 SQL Server Management StudioSQL Server Management Studio または Transact-SQLTransact-SQLを使用します。You can create a database user by using SQL Server Management StudioSQL Server Management Studio or by using Transact-SQLTransact-SQL.

ユーザーの種類についてUnderstanding the Types of Users

Management StudioManagement Studio は、データベース ユーザーを作成するときに 6 つのオプションを表示します。presents 6 options when creating a database user. 次の図に、6 つのオプションを緑色のボックスに示し、それらが何を表すかを示します。The following graphic shows the 6 options in the green box, and indicates what they represent.

TypesOfUsersTypesOfUsers

ユーザーの種類の選択Selecting the Type of User

ログインまたはログインにマップされていないユーザーLogin or user that is not mapped to a login

SQL ServerSQL Serverを初めて使用する場合は、作成するユーザーの種類を決定するのが難しい可能性があります。If you are new to SQL ServerSQL Server, it can be difficult to determine what type of user you want to create. まず、データベースにアクセスする必要があるユーザーまたはグループがログインを持っているかどうかを確認します。First ask yourself, does the person or group that needs to access the database have a login? master データベース内のログインは、 SQL ServerSQL Server を管理するユーザー、および SQL ServerSQL Serverのインスタンスで複数またはすべてのデータベースにアクセスする必要があるユーザーにとっては一般的です。Logins in the master database are common for the people who manage the SQL ServerSQL Server and for people who need to access many or all of the database on the instance of SQL ServerSQL Server. ここでは、 ログインを持つ SQL ユーザーを作成します。For this situation, you will create a SQL user with login. データベース ユーザーは、ログインの ID として、データベースへの接続時に使用されます。The database user is the identity of the login when it is connected to a database. データベース ユーザーとログインには同じ名前を使用できますが、必ずしもその必要はありません。The database user can use the same name as the login, but that is not required. このトピックは、既存のログインが SQL ServerSQL Serverに存在することを前提としています。This topic assumes that a login already exists in SQL ServerSQL Server. ログインの作成方法の詳細については、「 ログインの作成」を参照してください。For information about how to create a login, see Create a Login

データベースにアクセスする必要があるユーザーまたはグループがログインを持っていない場合、かつ 1 つまたは複数のデータベースにだけアクセスする必要がある場合は、 Windows ユーザー または パスワードを持つ SQL ユーザーを作成します。If the person or group that needs to access the database does not have a login and if they only need access to one or few databases, create a Windows user or a SQL user with password. このユーザーは包含データベース ユーザーとも呼ばれ、master データベース内のログインに関連付けられません。Also called a contained database user, it is not associated with a login in the master database. これは、 SQL ServerSQL Serverのインスタンス間でデータベースを簡単に移動できるようにするときに最適な選択肢です。This is an excellent choice when you want to be able to easily move your database between instances of SQL ServerSQL Server. SQL Server 2016 (13.x)SQL Server 2016 (13.x)でこのオプションを使用するには、管理者は最初に SQL ServerSQL Server用の包含データベースを有効にし、データベースの包含を有効にする必要があります。To use this option on SQL Server 2016 (13.x)SQL Server 2016 (13.x), an administrator must first enable contained databases for the SQL ServerSQL Server, and the database be enabled for containment. 詳細については、「 包含データベース ユーザー - データベースの可搬性を確保する」を参照してください。For more information, see Contained Database Users - Making Your Database Portable.

重要:IMPORTANT! 包含データベース ユーザーとして接続するときには、接続文字列の一部としてデータベースの名前を指定する必要があります。When connecting as a contained database user you must provide the name of the database as part of the connection string. Management StudioManagement Studioでデータベースを指定するには、 [接続先] ダイアログ ボックスで [オプション] をクリックし、 [接続プロパティ] タブをクリックします。To specify the database in Management StudioManagement Studio, in the Connect to dialog box, click Options, and then click the Connection Properties tab.

接続するユーザーが Windows で認証できない場合は、 SQL Server 認証ログイン に基づいて [パスワードを持つ SQL ユーザー] または [ログインを持つ SQL ユーザー] を選択します。Select SQL user with password or a SQL user with login based on a SQL Server authentication login, when the person connecting cannot authenticate with Windows. これは、組織外のユーザー (例えば、顧客など) が組織の SQL ServerSQL Serverに接続するときに一般的です。This is common when people outside of your organization (for example customers) are connecting to your SQL ServerSQL Server.

ヒント:TIP! 組織内のユーザーの場合は、Windows 認証の方が適切です。これは、別のパスワードを覚える必要がないため、および Windows 認証は Kerberos などの他のセキュリティ機能を提供するためです。For people inside your organization, Windows authentication is a better choice, because they won't have to remember an additional password, and because Windows authentication offers additional security features such as Kerberos.

背景情報Background

ユーザーは、データベース レベルのセキュリティ プリンシパルです。A user is a database level security principal. データベースに接続するためには、データベース ユーザーにログインをマップする必要があります。Logins must be mapped to a database user to connect to a database. 異なるデータベースには、1 つのログインを異なるユーザーとしてマップすることができますが、各データベースでは 1 人のユーザーとしてのみマップできます。A login can be mapped to different databases as different users but can only be mapped as one user in each database. 部分的包含データベースでは、ログインを持たないユーザーを作成できます。In a partially contained database, a user can be created that does not have a login. 包含データベース ユーザーの詳細については、「CREATE USER (Transact-SQL)」を参照してください。For more information about contained database users, see CREATE USER (Transact-SQL). データベースで guest ユーザーが有効になっている場合は、データベース ユーザーにマップされていないログインでも、guest ユーザーとしてそのデータベースにアクセスすることができます。If the guest user in a database is enabled, a login that is not mapped to a database user can enter the database as the guest user.

重要:IMPORTANT! guest ユーザーは無効にするのが一般的です。The guest user is ordinarily disabled. 必要な場合を除き、guest ユーザーは有効にしないでください。Do not enable the guest user unless it is necessary.

セキュリティ プリンシパルとして、ユーザーには権限を許可することができます。As a security principal, permissions can be granted to users. ユーザーのスコープはデータベースです。The scope of a user is the database. SQL ServerSQL Serverのインスタンス上の特定のデータベースに接続するには、データベース ユーザーにログインをマップする必要があります。To connect to a specific database on the instance of SQL ServerSQL Server, a login must be mapped to a database user. データベース内の権限を許可したり拒否したりする際に、その対象となるのは、ログインではなく、データベース ユーザーです。Permissions inside the database are granted and denied to the database user, not the login.

PermissionsPermissions

データベースに対する ALTER ANY USER 権限が必要です。Requires ALTER ANY USER permission on the database.

SSMS でユーザーを作成するCreate a user with SSMS

  1. オブジェクト エクスプローラーで、 [データベース] フォルダーを展開します。In Object Explorer, expand the Databases folder.

  2. 新しいデータベース ユーザーを作成するデータベースを展開します。Expand the database in which to create the new database user.

  3. [セキュリティ] フォルダーを右クリックし、 [新規作成] をポイントして、 [ユーザー] を選択します。Right-click the Security folder, point to New, and select User....

  4. [データベース ユーザー - 新規] ダイアログ ボックスの [全般] ページで、 [ユーザーの種類] ボックスの一覧で次のユーザーの種類のいずれかを選択します。In the Database User - New dialog box, on the General page, select one of the following user types from the User type list:

    • ログインを持つ SQL ユーザーSQL user with login

    • パスワードを持つ SQL ユーザーSQL user with password

    • ログインを持たない SQL ユーザーSQL user without login

    • 証明書にマップされたユーザーUser mapped to a certificate

    • 非対称キーにマップされたユーザーUser mapped to an asymmetric key

    • Windows ユーザーWindows user

  5. オプションを選択すると、ダイアログ ボックスの残りのオプションを変更できるようになります。When you select an option, the remaining options in the dialog may change. 一部のオプションは、特定の種類のデータベース ユーザーにのみ適用されます。Some options only apply to specific types of database users. 一部のオプションは空白にすることができますが、その場合は既定値が使用されます。Some options can be left blank and will use a default value.

    ユーザー名User name
    新しいユーザーのユーザー名を入力します。Enter a name for the new user. [ユーザーの種類] で一覧から [Windows ユーザー] を選択した場合は、省略記号 [...] をクリックして、 [ユーザーまたはグループの選択] ダイアログ ボックスを開くこともできます。If you have chosen Windows user from the User type list, you can also click the ellipsis (...) to open the Select User or Group dialog box.

    [ログイン名]Login name
    ユーザーのログインを入力します。Enter the login for the user. または、省略記号 [...] をクリックして [ログインの選択] ダイアログ ボックスを開きます。Alternately, click the ellipsis (...) to open the Select Login dialog box. [ログイン名] は、 [ユーザーの種類] で一覧から [ログインを持つ SQL ユーザー] または [Windows ユーザー] を選択した場合に使用できます。Login name is available if you select either SQL user with login or Windows user from the User type list.

    [パスワード][パスワードの確認入力]Password and Confirm password
    データベースで認証するユーザーのパスワードを入力します。Enter a password for users who authenticate at the database.

    既定の言語Default language
    ユーザーの既定の言語を入力します。Enter the default language of the user.

    既定のスキーマDefault schema
    このユーザーが作成したオブジェクトを所有するスキーマを入力します。Enter the schema that will own objects created by this user. または、省略記号 [...] をクリックして [スキーマの選択] ダイアログ ボックスを開きます。Alternately, click the ellipsis (...) to open the Select Schema dialog box. [既定のスキーマ] は、 [ユーザーの種類] で一覧から [ログインを持つ SQL ユーザー][ログインを持たない SQL ユーザー] 、または [Windows ユーザー] を選択した場合に使用できます。Default schema is available if you select either SQL user with login, SQL user without login, or Windows user from the User type list.

    [証明書名]Certificate name
    データベース ユーザーに使用する証明書を入力します。Enter the certificate to be used for the database user. または、省略記号 [...] をクリックして [証明書の選択] ダイアログ ボックスを開きます。Alternately, click the ellipsis (...) to open the Select Certificate dialog box. [証明書名] は、 [ユーザーの種類] で一覧から [証明書にマップされたユーザー] を選択した場合に使用できます。Certificate name is available if you select User mapped to a certificate from the User type list.

    [非対称キー名]Asymmetric key name
    データベース ユーザーに使用するキーを入力します。Enter the key to be used for the database user. または、省略記号 [...] をクリックして [非対称キーの選択] ダイアログ ボックスを開きます。Alternately, click the ellipsis (...) to open the Select Asymmetric Key dialog box. [非対称キー名] は、 [ユーザーの種類] で一覧から [非対称キーにマップされたユーザー] を選択した場合に使用できます。Asymmetric key name is available if you select User mapped to an asymmetric key from the User type list.

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

追加オプションAdditional Options

[データベース ユーザー - 新規] ダイアログ ボックスには、次の 4 つの追加ページで使用できるオプションも用意されています。 [所有されているスキーマ][メンバーシップ][セキュリティ保護可能なリソース][拡張プロパティ] です。The Database User - New dialog box also offers options on four additional pages: Owned Schemas, Membership, Securables, and Extended Properties.

  • [所有されているスキーマ] ページには、新しいデータベース ユーザーが所有できるすべてのスキーマが一覧表示されます。The Owned Schemas page lists all possible schemas that can be owned by the new database user. データベース ユーザーのスキーマを追加または削除するには、 [このユーザーが所有するスキーマ] で、スキーマの横のチェック ボックスをオンまたはオフにします。To add schemas to or remove them from a database user, under Schemas owned by this user, select or clear the check boxes next to the schemas.

  • [メンバーシップ] ページには、新しいデータベース ユーザーが所有できるすべてのデータベース メンバーシップ ロールが一覧表示されます。The Membership page lists all possible database membership roles that can be owned by the new database user. データベース ユーザーのロールを追加または削除するには、 [データベース ロールのメンバーシップ] で、ロールの横のチェック ボックスをオンまたはオフにします。To add roles to or remove them from a database user, under Database role membership, select or clear the check boxes next to the roles.

  • [セキュリティ保護可能なリソース] ページには、すべてのセキュリティ保護可能なリソースと、ログインに付与できる、セキュリティ保護可能なリソースに対する権限が一覧表示されます。The Securables page lists all possible securables and the permissions on those securables that can be granted to the login.

  • [拡張プロパティ] ページでは、カスタム プロパティをデータベース ユーザーに追加できます。The Extended properties page allows you to add custom properties to database users. このページで使用できるオプションを次に示します。The following options are available on this page.

    データベースDatabase
    選択しているデータベースの名前が表示されます。Displays the name of the selected database. このフィールドは読み取り専用です。This field is read-only.

    [照合順序]Collation
    選択されているデータベースに使用する照合順序を表示します。Displays the collation used for the selected database. このフィールドは読み取り専用です。This field is read-only.

    PropertiesProperties
    オブジェクトの拡張プロパティを表示または指定します。View or specify the extended properties for the object. 各拡張プロパティは、オブジェクトに関連付けられたメタデータの名前/値ペアで構成されています。Each extended property consists of a name/value pair of metadata associated with the object.

    省略記号 (...)Ellipsis (...)
    [値] の後ろにある省略記号 [...] をクリックすると、 [拡張プロパティの値] ダイアログ ボックスが開きます。Click the ellipsis (...) after Value to open the Value for Extended Property dialog box. ここでは、より大きなテキスト ボックスを使用して拡張プロパティの値を入力または表示できます。Type or view the value of the extended property in this larger location. 詳細については、「 拡張プロパティの値ダイアログ ボックス」を参照してください。For more information, see Value for Extended Property Dialog Box.

    削除Delete
    選択されている拡張プロパティを削除します。Removes the selected extended property.

T-SQL を使用してユーザーを作成するCreate a user using T-SQL

  1. オブジェクト エクスプローラーで、 データベース エンジンDatabase Engineのインスタンスに接続します。In Object Explorer, connect to an instance of データベース エンジンDatabase Engine.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。On the Standard bar, click New Query.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following example into the query window and click Execute.

    -- Creates the login AbolrousHazem with password '340$Uuxwp7Mcxo7Khy'.  
    CREATE LOGIN AbolrousHazem   
        WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';  
    GO  
    
    -- Creates a database user for the login created above.  
    CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;  
    GO  
    

詳細については、「CREATE USER (Transact-SQL)」を参照してください。この記事には、さらに多くの Transact-SQLTransact-SQL の例が掲載されています。For more information, see CREATE USER (Transact-SQL) which contains many more Transact-SQLTransact-SQL examples.

参照See Also

プリンシパル (データベース エンジン) Principals (Database Engine)
ログインの作成 Create a Login
CREATE LOGIN (Transact-SQL)CREATE LOGIN (Transact-SQL)