DENY (スキーマ権限の拒否) (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
スキーマの権限を拒否します。
構文
DENY permission [ ,...n ] } ON SCHEMA :: schema_name
TO database_principal [ ,...n ]
[ CASCADE ]
[ AS denying_principal ]
引数
permission
スキーマで拒否できる権限を指定します。 これらの権限の一覧については、後の「解説」を参照してください。
ON SCHEMA :: schema*_name*
権限を拒否するスキーマを指定します。 スコープ修飾子 :: が必要です。
database_principal
権限を拒否するプリンシパルを指定します。 database_principal には、次のいずれかのプリンシパルを指定することができます。
- データベース ユーザー
- データベース ロール
- アプリケーション ロール
- Windows ログインにマップされているデータベース ユーザー
- Windows グループにマップされているデータベース ユーザー
- 証明書にマップされているデータベース ユーザー
- 非対称キーにマップされているデータベース ユーザー
- サーバー プリンシパルにマップされていないデータベース ユーザー
CASCADE
指定した database_principal によって権限が付与された他のプリンシパルに対する権限を拒否します。
denying_principal
このクエリを実行するプリンシパルが権限を拒否する権利を取得した、元のプリンシパルを指定します。 denying_principal には、次のいずれかのプリンシパルを指定することができます。
- データベース ユーザー
- データベース ロール
- アプリケーション ロール
- Windows ログインにマップされているデータベース ユーザー
- Windows グループにマップされているデータベース ユーザー
- 証明書にマップされているデータベース ユーザー
- 非対称キーにマップされているデータベース ユーザー
- サーバー プリンシパルにマップされていないデータベース ユーザー
注釈
スキーマは、データベース レベルでセキュリティ保護可能です。 権限の階層で親となっているデータベースに含まれています。 次の表に、スキーマで拒否できる最も限定的で制限された権限を示します。 それらを暗黙的に含む、より全般的な権限を次の表に示します。
スキーマ権限 | 権限が含まれるスキーマ権限 | 権限が含まれるデータベース権限 |
---|---|---|
ALTER | CONTROL | ALTER ANY SCHEMA |
CONTROL | CONTROL | CONTROL |
CREATE SEQUENCE | ALTER | ALTER ANY SCHEMA |
DELETE | CONTROL | DELETE |
EXECUTE | CONTROL | EXECUTE |
INSERT | CONTROL | INSERT |
REFERENCES | CONTROL | REFERENCES |
SELECT | CONTROL | SELECT |
TAKE OWNERSHIP | CONTROL | CONTROL |
UPDATE | CONTROL | UPDATE |
VIEW CHANGE TRACKING | CONTROL | CONTROL |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
アクセス許可
スキーマに対する CONTROL 権限が必要です。 AS オプションを使用する場合、指定するプリンシパルはスキーマを所有している必要があります。
参照
CREATE SCHEMA (Transact-SQL)
DENY (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)