2014-12-30 23 views
16

Wiem, że istnieją inne threads that are similar, ale nie jestem pewien, czy są one odpowiednie dla PostgreSQL.Jaka jest różnica między użytkownikiem a rolą?

I am reading the PostgreSQL documentation which it reads as follows:

Uwaga: Jak wyjaśniono w rozdziale 20, PostgreSQL faktycznie robi przywilej zarządzanie w kategoriach "ról". W tym rozdziale konsekwentnie używamy użytkownika bazy danych w znaczeniu "rola z uprawnieniem LOGIN".

Czy to w zasadzie oznacza rolę użytkownika bazy danych? Czy istnieje różnica między rolą a użytkownikiem? Czy użytkownicy mogą nie mieć pełnych uprawnień, podczas gdy role są użytkownikami, którzy zawsze mają pełne uprawnienia?

+0

[Z podręcznika] (https://www.postgresql.org/docs/current/static/sql-createuser.html) "* CREATE USER jest teraz aliasem dla CREATE ROLE. Różnica polega na tym, że polecenie jest napisane jako CREATE USER, LOGIN przyjmuje się domyślnie, natomiast NOLOGIN przyjmuje się, gdy polecenie jest napisane CREATE ROLE * " –

Odpowiedz

15

Poprzednie wersje PostgreSa i niektórych innych systemów DB mają oddzielne pojęcia "grup" (które mają przyznany dostęp do obiektów bazy danych) i "użytkowników" (którzy mogą się logować i są członkami jednej lub więcej grup).

We współczesnych wersjach Postgresu obie koncepcje zostały połączone: "rola" może mieć zdolność logowania, zdolność do "dziedziczenia" z innych ról (jak użytkownik będący członkiem grupy lub grupa będąca członkiem innej grupy) i dostęp do obiektów bazy danych.

Dla wygody wiele narzędzi i instrukcji odnosi się do każdego użytkownika z uprawnieniami do logowania jako "użytkownik" lub "rola logowania", a także jako "grupa" lub "rola grupy", ponieważ jest to przydatne i powszechna praktyka trzymać się z grubsza tej struktury. Jest to całkowicie konwencja terminologiczna i aby zrozumieć uprawnienia, musisz zrozumieć tylko opcje dostępne po creating roles i .

+0

Wiem, że jest to stare pytanie, ale czy role i użytkownicy mogą być postrzegani jako użytkownicy i grupy, tak jak w systemach uniksowych? – KGCybeX

+1

@KGCybeX Starsza koncepcja "użytkowników" i "grup" może być bardzo podobna do tych samych terminów w systemie Unix i jest * konwencjonalna *, aby zachować to rozróżnienie. Ale "rola" w nowszych wersjach może działać jak użytkownik lub grupa - * lub obie * - więc analogia nie jest tak przydatna. Lepszą analogią jest hierarchia dziedziczenia: logujesz się z rolą i uzyskujesz uprawnienia bezpośrednio do tej roli, a także uprawnienia dziedziczone z innych ról, a także uprawnienia, które te role dziedziczą z innych ról itd. – IMSoP

Powiązane problemy