2016-09-06 4 views
0

Power BI(レポート作成ソフトウェア)を使用してSQLスタジオマネージャに接続しています。私は、特定のスキーマの下にリストされたテーブルを表示し、現在実行しているすべてのテーブルを表示するのではなく、他のすべてのテーブルにアクセスする権限を拒否します。スキーマにアクセスする個々のユーザーを防止する際すべてのユーザーがスキーマのテーブル/ビューにアクセスできないようにする

通常、私は次のコードを使用します。

revoke select on schema::UnwantedSchema to User 
grant select on schema::WantedSchema To User 

をしかし、今私はそれはとてもすべてのユーザーとログインがこれらの権限設定を持って欲しいです。個々のユーザーだけではありません。個々のユーザーごとに権限を設定せずにこれを行う方法はありますか?

答えて

1

複数のユーザーログインに権限を設定する場合は、役割を作成してその役割の役割を役割に割り当てる必要があります。作成されたロールに必要な権限を与えます。

次のサンプルステップがあります。

--Create a new role 
EXEC sp_addrole 'yourRole' 
GO 

--Assiging role to the user 
EXEC sp_addrolemember 'yourRole', 'yourUser'; 
GO 

--Assigning permissions to the Role 
GRANT ALTER, DELETE, EXECUTE, INSERT, REFERENCES, SELECT, 
      UPDATE, VIEW DEFINITION ON SCHEMA::YourSchema TO yourRole; 
GO 

GRANT CREATE TABLE, CREATE PROCEDURE, CREATE FUNCTION, CREATE VIEW TO yourRole; 
GO 
関連する問題