適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL データベース
アセンブリに対する権限を許可します。
Syntax
GRANT { permission [ ,...n ] } ON ASSEMBLY :: assembly_name
TO database_principal [ ,...n ]
[ WITH GRANT OPTION ]
[ AS granting_principal ]
Arguments
permission
アセンブリで許可できる権限を指定します。 下記。
ご注目 ASSEMBLY::assembly_name
権限を許可するアセンブリを指定します。 スコープ修飾子 "::" が必要です。
database_principal
権限を許可するプリンシパルを指定します。 次のいずれかになります。
- データベースユーザー
- データベースの役割
- アプリケーション ロール (application role)
- Windows ログインにマップされているデータベース ユーザー
- Windows グループにマップされているデータベース ユーザー
- 証明書にマップされているデータベース ユーザー
- 非対称キーにマップされているデータベース ユーザー
- サーバー プリンシパルにマップされていないデータベース ユーザー
GRANT オプション
権限が許可されたプリンシパルが、この権限を他のプリンシパルにも許可できることを示します。
granting_principal
このクエリを実行するプリンシパルが権限を許可する権利を取得した、元のプリンシパルを指定します。 次のいずれかになります。
- データベースユーザー
- データベースの役割
- アプリケーション ロール (application role)
- Windows ログインにマップされているデータベース ユーザー
- Windows グループにマップされているデータベース ユーザー
- 証明書にマップされているデータベース ユーザー
- 非対称キーにマップされているデータベース ユーザー
- サーバー プリンシパルにマップされていないデータベース ユーザー
Remarks
アセンブリは、データベース レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているデータベースに含まれています。 次に、アセンブリで許可できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。
| 集会許可 | 権限が含まれるアセンブリ権限 | 権限が含まれるデータベース権限 |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| 所有権 | CONTROL | CONTROL |
| ALTER | CONTROL | "任意の ASSEMBLY を変更" |
| REFERENCES | CONTROL | REFERENCES |
| VIEW 定義 | CONTROL | VIEW 定義 |
Permissions
付与者(またはASオプションで指定されたプリンシパル)は、OPTION付きの許可自体、または付与される許可を示唆するより高い権限のいずれか GRANT 持っている必要があります。
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)
暗号化階層