Поиск…


замечания

Основной синтаксис:

{GRANT| REVOKE | DENY} {PERMISSION_NAME} [ON {SECURABLE}] TO {PRINCIPAL};
  • {GRANT | REVOKE | DENY} - То, что вы пытаетесь сделать
    • Грант: «Дайте это разрешение заявленному руководителю»
    • Отменить: «Удалите это разрешение от заявленного принципала»
    • Запретить: «Удостоверьтесь, что у указанного принципала никогда не было этого разрешения (т. DENY SELECT « DENY SELECT »означает, что независимо от каких-либо других разрешений SELECT не удастся для этого принципала)
  • PERMISSION_NAME - операция, на которую вы пытаетесь повлиять. Это будет зависеть от надежности. Например, для хранимой процедуры GRANT SELECT не имеет смысла.
  • SECURABLE - имя того, на что вы пытаетесь повлиять на разрешения. Это необязательно . Вызов GRANT SELECT TO [aUser]; вполне приемлемо; это означает «для любого защищаемого, для которого имеет значение разрешение SELECT , GRANT это разрешение».
  • ПРИНЦИП - для кого вы пытаетесь повлиять на разрешения. На уровне базы данных это может быть роль (приложение или база данных) или пользователь (например, для входа в систему или нет).

Изменение разрешений

GRANT SELECT ON [dbo].[someTable] TO [aUser];

REVOKE SELECT ON [dbo].[someTable] TO [aUser];
--REVOKE SELECT [dbo].[someTable] FROM [aUser]; is equivalent

DENY SELECT ON [dbo].[someTable] TO [aUser];

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ

--implicitly map this user to a login of the same name as the user
CREATE USER [aUser];

--explicitly mapping what login the user should be associated with
CREATE USER [aUser] FOR LOGIN [aUser];

СОЗДАТЬ РОЛЬ

CREATE ROLE [myRole];

Изменение членства в ролях

-- SQL 2005+
exec sp_addrolemember @rolename = 'myRole', @membername = 'aUser';
exec sp_droprolemember @rolename = 'myRole', @membername = 'aUser';

-- SQL 2008+
ALTER ROLE [myRole] ADD MEMBER [aUser];
ALTER ROLE [myRole] DROP MEMBER [aUser];

Примечание. Ролевые элементы могут быть любыми принципами уровня базы данных. То есть вы можете добавить роль в качестве члена в другую роль. Кроме того, добавление / удаление членов роли является идемпотентным. То есть попытка добавления / удаления приведет к их присутствию / отсутствию (соответственно) в роли независимо от текущего состояния их членства в ролях.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow