次の方法で共有


GRANT (証明書の権限の許可) (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric プレビューの SQL データベース

SQL Server の証明書に対する権限を許可します。

Transact-SQL 構文表記規則

Note

この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

Syntax

GRANT permission  [ ,...n ]    
    ON CERTIFICATE :: certificate_name   
    TO principal [ ,...n ] [ WITH GRANT OPTION ]   
    [ AS granting_principal ]   

Arguments

permission
証明書に対して許可できる権限を指定します。 Listed below.

ON CERTIFICATE ::certificate_name
権限を許可する証明書を指定します。 スコープ修飾子 "::" が必要です。

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

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

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

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

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

Remarks

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

Certificate permission 権限が含まれる証明書権限 権限が含まれるデータベース権限
CONTROL CONTROL CONTROL
TAKE OWNERSHIP CONTROL CONTROL
ALTER CONTROL 任意の証明書を変更する
REFERENCES CONTROL REFERENCES
VIEW DEFINITION CONTROL VIEW DEFINITION

Permissions

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

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

AS granting_principal 必要な追加権限
Database user ユーザーに対する 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 固定サーバー ロールのメンバーシップ。
Database role ロールに対する ALTER 権限、db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。
Application role ロールに対する ALTER 権限、db_securityadmin 固定データベース ロールのメンバーシップ、db_owner 固定データベース ロールのメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップ。

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

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

See Also

GRANT (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)
証明書を作成する (Transact-SQL)
非対称キーを作成する(Transact-SQL)
アプリケーションロールの作成 (Transact-SQL)
Encryption Hierarchy