GRANT データベース スコープの資格情報のアクセス許可 (Transact-SQL)

適用対象: SQL Server 2017 (14.x) 以降 Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

データベース スコープの資格情報に対する権限を許可します。

Transact-SQL 構文表記規則

構文

GRANT permission  [ ,...n ]    
    ON DATABASE SCOPED CREDENTIAL :: credential_name   
    TO principal [ ,...n ] [ WITH GRANT OPTION ]   
    [ AS granting_principal ]   

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

permission

データベース スコープの資格情報で許可できる権限を指定します。 以下に一覧を示します。

ON DATABASE SCOPED CREDENTIAL ::credential_name

権限を許可するデータベース スコープの資格情報を指定します。 スコープ修飾子 "::" が必要です。

database_principal

権限を許可するプリンシパルを指定します。 次のいずれかになります。

  • データベース ユーザー
  • データベース ロール (database role)
  • アプリケーション ロール (application role)
  • Windows ログインにマップされているデータベース ユーザー
  • Windows グループにマップされているデータベース ユーザー
  • 証明書にマップされているデータベース ユーザー
  • 非対称キーにマップされているデータベース ユーザー
  • サーバー プリンシパルにマップされていないデータベース ユーザー

GRANT OPTION

権限が許可されたプリンシパルが、この権限を他のプリンシパルにも許可できることを示します。

AS granting_principal

このクエリを実行するプリンシパルが権限を許可する権利を取得した、元のプリンシパルを指定します。 次のいずれかになります。

  • データベース ユーザー
  • データベース ロール (database role)
  • アプリケーション ロール (application role)
  • Windows ログインにマップされているデータベース ユーザー
  • Windows グループにマップされているデータベース ユーザー
  • 証明書にマップされているデータベース ユーザー
  • 非対称キーにマップされているデータベース ユーザー
  • サーバー プリンシパルにマップされていないデータベース ユーザー

注釈

データベース スコープの資格情報は、データベース レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているデータベースに含まれています。 次に、データベース スコープの資格情報で許可できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に一覧で示します。

データベース スコープの資格情報の権限 権限が含まれるデータベース スコープの資格情報の権限 権限が含まれるデータベース権限
CONTROL CONTROL CONTROL
TAKE OWNERSHIP CONTROL CONTROL
ALTER CONTROL CONTROL
REFERENCES CONTROL REFERENCES
VIEW DEFINITION CONTROL VIEW DEFINITION

注意

Azure Synapse Analytics では、データベース スコープの資格情報に対する GRANT は、サーバーレス SQL プールでのみサポートされます。

アクセス許可

権限の許可者 (または AS オプションで指定されたプリンシパル) は、GRANT OPTION によって与えられた権限を保持しているか、権限が暗黙的に与えられる上位の権限を保持している必要があります。

AS オプションを使用する場合は、次の追加要件があります。

AS granting_principal 必要な追加権限
データベース ユーザー ユーザーに対する IMPERSONATE 権限、db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。
Windows ログインにマップされているデータベース ユーザー ユーザーに対する IMPERSONATE 権限、db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。
Windows グループにマップされているデータベース ユーザー Windows グループのメンバーシップ、db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。
証明書にマップされているデータベース ユーザー db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。
非対称キーにマップされているデータベース ユーザー db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。
サーバー プリンシパルにマップされていないデータベース ユーザー ユーザーに対する IMPERSONATE 権限、db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。
データベース ロール ロールに対する ALTER 権限、db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。
アプリケーション ロール ロールに対する ALTER 権限、db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。

オブジェクトの所有者は、所有するオブジェクトの権限を許可できます。 セキュリティ保護可能なリソースに対して CONTROL 権限があるプリンシパルは、そのリソースの権限を許可できます。

sysadmin 固定サーバー ロールのメンバーなど、CONTROL SERVER 権限が許可されているユーザーは、サーバー内のセキュリティ保護可能なリソースに対する権限を許可できます。 db_owner 固定データベース ロールのメンバーなど、データベースに対する CONTROL 権限が許可されているユーザーは、データベース内のセキュリティ保護可能なリソースに対する権限を許可できます。 スキーマに対する CONTROL 権限が許可されているユーザーは、スキーマ内のオブジェクトに対する権限を許可できます。

次の手順

GRANT (Transact-SQL)
REVOKE (データベース スコープの資格情報の取り消し) (Transact-SQL)
DENY (データベース スコープの資格情報の拒否) (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)
暗号化階層