azure sql server - zarzadzanie danymi/dostępem do danych

0

Hej,

Chciałbym mieć relacyjna baze do której miałoby dostęp nawet kilkaset osób:

  • jak efektywnie zarządzać taka ilością osób (tworzenie kont / uprawnienia)

  • mając w tabeli wszystkie dane chciałbym aby użytkownik x mógł pobrać tylko dane do których jest przypisany i też je tylko modyfikować.
    uzytkownik y aby mógł modyfikować zaś swoje dane. jakieś wskazówki jak efetkywnie zarządzać i na jakim poziomie zarządzać danymi ?

typu mam baze która zawiera 100 wierszy. Chciałym aby uzyt. xyz1 miał dostęp do wierszy 1-20 a uzytkownicy xyz2 i xyz3 mieli dostęp do wierszy 30-40

1

Jest to do zrobienia w bazie ale bezpośredni dostęp użytkowników do bazy to zły pomysł. Musisz stworzyć inną warstwę systemu która tym zarządza, jakiś interfejs, serwer aplikacyjny. Uprawnienia do konkretnych rekordów realizuje się za pomocą odpowiedniego modelu bazy. Samo zarządzanie uprawnieniami ostatecznie może wykonać administrator bezpośrednio na bazie ale zazwyczaj odbywa się tak samo jak dostęp pozostałych użytkowników gdzie każdy ma przypisaną rolę i uprawnienia.

0

Uprawnienia do konkretnych rekordów realizuje się za pomocą odpowiedniego modelu bazy.

Jakiego modelu bazy ?, Jakiś przykład /strona to byłbym wdzięczny

0

Szukaj w temacie row level security jeżeli chcesz to mieć po stronie bazy.
Jeżeli chodzi o własny model to musisz po prostu zapisywać do każdego wiersza kto jest właścicielem danego rekordu. W prostszej wersji posiadać osobną strukturę przechowującą role użytkowników, albo w wersji bardziej złożonej osobne tabelki z id usera oraz id rekordu do którego ma uprawnienia.

0

Na przykład user jego role i dalej robisz odpowiednią zależność, czyli określasz flagami która rola ma co widzieć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1