DENY (型の権限の拒否) (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Microsoft Fabric SQL Database
SQL Server で型に対する権限を拒否します。
構文
DENY permission [ ,...n ] ON TYPE :: [ schema_name . ] type_name
TO <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
引数
permission
型で拒否できる権限を指定します。 権限の一覧については、後の「解説」を参照してください。
ON TYPE :: [ schema_name. ] type_name
権限を拒否する型を指定します。 スコープ修飾子 ( :: ) が必要です。 schema_name が指定されていない場合、既定のスキーマが使用されます。 schema_name が指定されている場合、スキーマのスコープ修飾子 ( . ) が必要です。
TO <database_principal>
権限を拒否するプリンシパルを指定します。
CASCADE
このプリンシパルによって権限が許可されている他のプリンシパルに対しても、同じ権限を拒否することを示します。
AS <database_principal>
このクエリを実行するプリンシパルが権限を拒否する権利を取得した、元のプリンシパルを指定します。
Database_user
データベース ユーザーを指定します。
Database_role
データベース ロールを指定します。
Application_role
アプリケーション ロールを指定します。
Database_user_mapped_to_Windows_User
Windows ユーザーにマップされているデータベース ユーザーを指定します。
Database_user_mapped_to_Windows_Group
Windows グループにマップされているデータベース ユーザーを指定します。
Database_user_mapped_to_certificate
証明書にマップされているデータベース ユーザーを指定します。
Database_user_mapped_to_asymmetric_key
非対称キーにマップされているデータベース ユーザーを指定します。
Database_user_with_no_login
対応するサーバー レベルのプリンシパルがないデータベース ユーザーを指定します。
解説
型は、スキーマ レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているスキーマに含まれています。
重要
GRANT、DENY, 、REVOKE の各権限は、システム型には適用されません。 ユーザー定義型には権限を許可できます。 ユーザー定義型について詳しくは、「SQL Server でのユーザー定義型の使用」をご覧ください。
次の表に、型で拒否できる権限のうち最も限定的なものを、それらを暗黙的に含むより一般的な権限と共に示します。
型権限 | 権限が含まれる型権限 | 権限が含まれるスキーマ権限 |
---|---|---|
CONTROL | CONTROL | CONTROL |
EXECUTE | CONTROL | EXECUTE |
REFERENCES | CONTROL | REFERENCES |
TAKE OWNERSHIP | CONTROL | CONTROL |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
アクセス許可
型に対する CONTROL 権限が必要です。 AS 句を使用する場合、指定されるプリンシパルは、権限が拒否される型を所有している必要があります。
例
次の例では、VIEW DEFINITION
に対し、ユーザー定義型 CASCADE
の PhoneNumber
権限を、KhalidR
を指定して拒否します。 PhoneNumber
はスキーマ Telemarketing
にあります。
DENY VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber
TO KhalidR CASCADE;
GO
参照
GRANT (型の権限の許可) (Transact-SQL)
REVOKE (型の権限の取り消し) (Transact-SQL)
CREATE TYPE (Transact-SQL)
プリンシパル (データベース エンジン)
権限 (データベース エンジン)
セキュリティ保護可能