次の方法で共有


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

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric SQL Database

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
証明書に対して許可できる権限を指定します。 下記。

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

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

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

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

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

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

Remarks

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

証明書の権限 権限が含まれる証明書権限 権限が含まれるデータベース権限
CONTROL CONTROL CONTROL
所有権 CONTROL CONTROL
ALTER CONTROL 任意の証明書を変更する
REFERENCES CONTROL REFERENCES
ビューの定義 CONTROL ビューの定義

Permissions

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

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 権限が許可されているユーザーは、スキーマ内のオブジェクトに対する権限を許可できます。

こちらもご覧ください

グラント (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)
証明書を作成する (Transact-SQL)
非対称キーを作成する(Transact-SQL)
アプリケーションロールの作成 (Transact-SQL)
暗号化階層