Deny メソッド (ObjectPermissionSet, String, Boolean)
権限が与えられている特定のユーザーに対して、特定の権限のセットを拒否します。また、このユーザーがテーブルに対する権限のセットを許可した他のユーザーについても、この権限のセットを拒否します。
名前空間: Microsoft.SqlServer.Management.Smo
アセンブリ: Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)
構文
'宣言
Public Sub Deny ( _
permission As ObjectPermissionSet, _
granteeName As String, _
cascade As Boolean _
)
'使用
Dim instance As Table
Dim permission As ObjectPermissionSet
Dim granteeName As String
Dim cascade As Boolean
instance.Deny(permission, granteeName, _
cascade)
public void Deny(
ObjectPermissionSet permission,
string granteeName,
bool cascade
)
public:
virtual void Deny(
ObjectPermissionSet^ permission,
String^ granteeName,
bool cascade
) sealed
abstract Deny :
permission:ObjectPermissionSet *
granteeName:string *
cascade:bool -> unit
override Deny :
permission:ObjectPermissionSet *
granteeName:string *
cascade:bool -> unit
public final function Deny(
permission : ObjectPermissionSet,
granteeName : String,
cascade : boolean
)
パラメーター
- permission
型: Microsoft.SqlServer.Management.Smo. . :: . .ObjectPermissionSet
権限を示す ObjectPermissionSet オブジェクトの値です。
- granteeName
型: System. . :: . .String
テーブルの指定した権限セットを拒否する権限付与対象ユーザーを示す String 値です。
- cascade
型: System. . :: . .Boolean
指定した権限セットを権限付与対象ユーザーから許可されたユーザーについても、テーブルの指定した権限セットへのアクセスを拒否するかどうかを示す Boolean プロパティです。
True の場合、特定の権限のセットが拒否されるのは、権限が与えられているユーザーだけでなく、このユーザーが特定の権限のセットを許可した他のユーザーも対象となります。
False の場合、特定の権限セットへのアクセスが拒否されるのは、権限付与対象ユーザーだけです。
実装
IObjectPermission. . :: . .Deny(ObjectPermissionSet, String, Boolean)
使用例
次のコード例では、guest アカウントにテーブル要素を選択する権限を許可した後、Deny メソッドを使用してこの権限を取り消す方法を示します。grantee アカウントは、定義済みのユーザー アカウントに置き換えてください。
このスニペットには次のデータベース スキーマが使用されます。
//CREATE DATABASE MYTESTDB;
//GO
//USE MYTESTDB;
//GO
//CREATE TABLE TABLE1(
// id int,
// name varchar(32)
//);
//GO
C#
Server srv = new Server("(local)");
Database db = srv.Databases["MYTESTDB"];
Table tb = db.Tables[0];
ObjectPermissionSet objPermissionSet = new ObjectPermissionSet(ObjectPermission.Select);
objPermissionSet.Select = true;
tb.Grant(objPermissionSet, grantee);
tb.Deny(objPermissionSet, grantee, true);
Powershell
$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("MYTESTDB")
$tb = $db.Tables[0]
$objPermissionSet = new-object Microsoft.SqlServer.Management.Smo.ObjectPermissionSet([Microsoft.SqlServer.Management.Smo.ObjectPermission]::Select)
$objPermissionSet.Select = $TRUE
$tb.Grant($objPermissionSet, grantee)
$tb.Deny($objPermissionSet, grantee, $TRUE)