次の方法で共有


DENY (型の権限の拒否) (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Microsoft Fabric SQL Database

SQL Server で型に対する権限を拒否します。

Transact-SQL 構文表記規則

構文

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
対応するサーバー レベルのプリンシパルがないデータベース ユーザーを指定します。

解説

型は、スキーマ レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているスキーマに含まれています。

重要

GRANTDENY,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 に対し、ユーザー定義型 CASCADEPhoneNumber 権限を、KhalidR を指定して拒否します。 PhoneNumber はスキーマ Telemarketing にあります。

DENY VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber   
    TO KhalidR CASCADE;  
GO  

参照

GRANT (型の権限の許可) (Transact-SQL)
REVOKE (型の権限の取り消し) (Transact-SQL)
CREATE TYPE (Transact-SQL)
プリンシパル (データベース エンジン)
権限 (データベース エンジン)
セキュリティ保護可能