適用対象: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_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)
暗号化階層