Recherche…


Remarques

Syntaxe de base:

{GRANT| REVOKE | DENY} {PERMISSION_NAME} [ON {SECURABLE}] TO {PRINCIPAL};
  • {GRANT | REVOKE | DENY} - Ce que vous essayez d'accomplir
    • Grant: "Donnez cette permission au principal déclaré"
    • Révoquer: "Prenez cette permission du principal déclaré"
    • Refuser: "Assurez-vous que le principal déclaré ne dispose jamais de cette permission (par exemple," DENY SELECT "signifie que indépendamment de toute autre autorisation, SELECT échouera pour ce principal)
  • PERMISSION_NAME - L'opération que vous essayez d'affecter. Cela dépendra de la sécurisable. Par exemple, il n'est pas logique d'accorder GRANT SELECT sur une procédure stockée.
  • SECURABLE - Le nom de la chose sur laquelle vous essayez d'affecter des autorisations. Ceci est facultatif . Dire GRANT SELECT TO [aUser]; est parfaitement acceptable cela signifie "pour toute opération sécurisable pour laquelle l'autorisation SELECT un sens, GRANT cette autorisation".
  • PRINCIPAL - Pour qui vous essayez d'affecter des autorisations. Au niveau de la base de données, cela peut être un rôle (application ou base de données) ou un utilisateur (mappé ou non sur un login) par exemple.

Modification des autorisations

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];

CRÉER UN UTILISATEUR

--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];

CREER UN RÔLE

CREATE ROLE [myRole];

Modification de l'appartenance à un rôle

-- 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];

Remarque: les membres de rôle peuvent être n'importe quel principal au niveau de la base de données. En d'autres termes, vous pouvez ajouter un rôle en tant que membre dans un autre rôle. De plus, l'ajout / suppression de membres de rôle est idempotent. En d'autres termes, si vous essayez d'ajouter / de supprimer, vous vous retrouverez avec / sans (respectivement) dans le rôle, quel que soit l'état actuel de l'appartenance à un rôle.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow