DENY (XML スキーマ コレクションの権限の拒否) (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
XML スキーマ コレクションに対する権限を拒否します。
構文
DENY permission [ ,...n ] ON
XML SCHEMA COLLECTION :: [ schema_name . ]
XML_schema_collection_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
XML スキーマ コレクションで拒否できる権限を指定します。 権限の一覧については、後の「解説」を参照してください。
ON XML SCHEMA COLLECTION :: [ schema_name. ] XML_schema_collection_name
権限を拒否する XML スキーマ コレクションを指定します。 スコープ修飾子 (::) が必要です。 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
対応するサーバー レベルのプリンシパルがないデータベース ユーザーを指定します。
解説
XML スキーマ コレクションに関する情報は、sys.xml_schema_collections カタログ ビューで確認できます。
XML スキーマ コレクションは、スキーマ レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているスキーマに含まれています。 次の表に、XML スキーマ コレクションで拒否できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。
XML スキーマ コレクション権限 | 権限が含まれる XML スキーマ コレクション権限 | 権限が含まれるスキーマ権限 |
---|---|---|
ALTER | CONTROL | ALTER |
CONTROL | CONTROL | CONTROL |
EXECUTE | CONTROL | EXECUTE |
REFERENCES | CONTROL | REFERENCES |
TAKE OWNERSHIP | CONTROL | CONTROL |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
アクセス許可
XML スキーマ コレクションに対する CONTROL 権限が必要です。 AS オプションを使用する場合は、指定したプリンシパルが XML スキーマ コレクションを所有している必要があります。
例
次の例では、XML スキーマ コレクション Invoices4
の EXECUTE
権限を、ユーザー Wanida
に対して拒否します。 XML スキーマ コレクション Invoices4
は、AdventureWorks2022
データベースの Sales
スキーマ内にあります。
USE AdventureWorks2022;
DENY EXECUTE ON XML SCHEMA COLLECTION::Sales.Invoices4 TO Wanida;
GO
参照
GRANT (XML スキーマ コレクションの権限の許可) (Transact-SQL)
REVOKE (XML スキーマ コレクションの権限の取り消し) (Transact-SQL)
sys.xml_schema_collections (Transact-SQL)
CREATE XML SCHEMA COLLECTION (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)