GRANT (証明書の権限の許可) (Transact-SQL)
証明書に対する権限を許可します。
構文
GRANT permission [ ,...n ]
ON CERTIFICATE :: certificate_name
TO principal [ ,...n ] [ WITH GRANT OPTION ]
[ AS granting_principal ]
引数
- permission
証明書に対して許可できる権限を指定します。下の表を参照してください。
- ON CERTIFICATE **::**certificate_name
権限を許可する証明書を指定します。スコープ修飾子 "::" が必要です。
database_principal
権限を許可するプリンシパルを指定します。次のいずれかです。- データベース ユーザー
- データベース ロール
- アプリケーション ロール
- Windows ログインにマップされているデータベース ユーザー
- Windows グループにマップされているデータベース ユーザー
- 証明書にマップされているデータベース ユーザー
- 非対称キーにマップされているデータベース ユーザー
- サーバー プリンシパルにマップされていないデータベース ユーザー
- GRANT OPTION
権限が許可されたプリンシパルが、この権限を他のプリンシパルにも許可できることを示します。
AS granting_principal
このクエリを実行するプリンシパルが権限を許可する権利を取得した、元のプリンシパルを指定します。次のいずれかです。- データベース ユーザー
- データベース ロール
- アプリケーション ロール
- Windows ログインにマップされているデータベース ユーザー
- Windows グループにマップされているデータベース ユーザー
- 証明書にマップされているデータベース ユーザー
- 非対称キーにマップされているデータベース ユーザー
- サーバー プリンシパルにマップされていないデータベース ユーザー
解説
証明書は、データベース レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているデータベースに含まれています。次に、証明書で許可できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。
証明書の権限 | 権限が含まれる証明書権限 | 権限が含まれるデータベース権限 |
---|---|---|
CONTROL |
CONTROL |
CONTROL |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
ALTER |
CONTROL |
ALTER ANY CERTIFICATE |
REFERENCES |
CONTROL |
REFERENCES |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
権限
権限の許可者 (または 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)
CREATE CERTIFICATE (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
CREATE APPLICATION ROLE (Transact-SQL)