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

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

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

説明

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

重要な注意事項重要

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 句を使用する場合、指定されるプリンシパルは、権限が拒否される型を所有している必要があります。

次の例では、KhalidR に対し、ユーザー定義型 PhoneNumber の VIEW DEFINITION 権限を、CASCADE オプションを指定して拒否します。PhoneNumber のスキーマは Telemarketing です。

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