Microsoft SQL Server
Uprawnienia do bazy danych
Szukaj…
Uwagi
Podstawowa składnia:
{GRANT| REVOKE | DENY} {PERMISSION_NAME} [ON {SECURABLE}] TO {PRINCIPAL};
- {DOTACJA | ODWOŁANIE | DENY} - Co próbujesz osiągnąć
- Udziel: „Daj to zezwolenie wymienionemu zleceniodawcy”
- Odwołaj: „Odbierz to uprawnienie od podanego dyrektora”
- Odmów: „Upewnij się, że wymieniony zleceniodawca nigdy nie ma tego uprawnienia (tzn.„
DENY SELECT
”oznacza, że niezależnie od innych uprawnień,SELECT
nie powiedzie się dla tego zleceniodawcy)
- PERMISSION_NAME - operacja, na którą próbujesz wpłynąć. Będzie to zależeć od zabezpieczenia. Na przykład nie ma sensu
GRANT SELECT
w procedurze przechowywanej. - SECURABLE - nazwa rzeczy, na którą próbujesz wpłynąć na uprawnienia. To jest opcjonalne . Mówiąc
GRANT SELECT TO [aUser];
jest całkowicie do przyjęcia; oznacza to „dla każdego zabezpieczenia, dla którego uprawnienieSELECT
ma sens,GRANT
tego uprawnienia”. - GŁÓWNY - Dla którego próbujesz wpłynąć na uprawnienia. Na poziomie bazy danych może to być na przykład rola (aplikacja lub baza danych) lub użytkownik (zamapowany na login lub nie).
Zmiana uprawnień
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];
STWÓRZ UŻYTKOWNIKA
--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];
UTWÓRZ ROLĘ
CREATE ROLE [myRole];
Zmiana członkostwa w roli
-- 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];
Uwaga: członkowie roli mogą być dowolnymi podmiotami na poziomie bazy danych. Oznacza to, że możesz dodać rolę jako członka w innej roli. Ponadto dodawanie / usuwanie członków roli jest idempotentne. Oznacza to, że próba dodania / upuszczenia spowoduje ich obecność / nieobecność (odpowiednio) w roli niezależnie od bieżącego stanu członkostwa w roli.
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow