Skonfiguruj kontrolę dostępu Lakewatch

Important

Lakewatch jest w Private Preview. Aby poprosić o dostęp, skontaktuj się z zespołem konta Azure Databricks.

Konfigurowanie grup, jednostki usługi run-as oraz grantów z katalogu Unity to zalecany sposób konfiguracji kontroli dostępu Lakewatch dla zespołu ds. bezpieczeństwa. Ten przewodnik konfiguruje jeden katalog Lakewatch z czterema grupami, które oddzielają obowiązki pozyskiwania danych, autorstwa detekcji i obowiązków analityka zgodnie z zasadą najmniejszych uprawnień. Pojedynczy użytkownik, który już ma dostęp do danych bazowych, może korzystać z Lakewatch bez tej konfiguracji. Aby wybrać między modelami dla pojedynczego użytkownika a zespołowymi, zobacz Modele wdrożeń.

Granty używają lakewatch jako katalogu i lakewatch.prod jako schematu. Zastąp je własnymi nazwami, i zamień <sp> na element applicationId jednostki usługi Uruchom jako.

Osoby

Konfiguracja przewiduje cztery grupy, po jednej na każdą rolę w typowym zespole ds. bezpieczeństwa. Grupy są zalecane, ale opcjonalne. Możesz przyznać te same uprawnienia każdemu podmiotowi zabezpieczeń Unity Catalog.

Group Role
lakewatch-admins Zarządzaj Lakewatch: zarządzaj zasobami, ustawieniami i dostępem dla innych.
lakewatch-data-engineers Wdrażaj i utrzymuj źródła danych oraz ładuj dane do tabel.
lakewatch-detection-engineers Twórz i dostrajaj reguły wykrywania i przejrzyj to, co one produkują.
lakewatch-analysts Obsługuj kolejkę alertów: czytaj alerty, aktualizuj status i zapytuj dane.

Prerequisites

  • Administrator konta w kroku 1. Tworzenie grup, jednostki usługi oraz delegacji run-as to zadanie na poziomie konta.
  • Administrator metastore lub CREATE CATALOG na metastore, w kroku 2. Administrator konta tego nie nadaje.
  • Magazyn SQL i CAN_MANAGE w nim na potrzeby kroku 4. Hurtownia danych to zasoby obliczeniowe, na których działa Lakewatch.
  • Przyznaj prawa właściciela do dowolnej zewnętrznej lokalizacji, połączenia lub tabeli źródłowej przyznawanych w kroku 6.

Uruchom kroki 2, 3, 5 i 6 jako SQL w notesie lub edytorze SQL. Kroki 1 i 4 to jednorazowe działania w konsoli konta i interfejsie obszaru roboczego.

1. Utworzenie grup, jednostki usługi oraz delegacji run-as

Zaplanowane źródła danych i reguły detekcji działają jako nazwana jednostka usługi, więc utwórz taką i daj grupom obsługującym Lakewatch prawo do uruchamiania zasobów przy jej użyciu. W konsoli konta:

  1. Przejdź do Zarządzanie użytkownikami > Grupy i stwórz cztery grupy: lakewatch-admins, lakewatch-data-engineers, lakewatch-detection-engineers, oraz lakewatch-analysts.
  2. Przejdź do User Management > Service principals i utwórz Lakewatch run-as service principal. Skopiuj go applicationId (UUID) do użycia jako <sp> w kolejnych krokach.
  3. Na karcie Uprawnienia jednostki usługi przypisz Menedżer jednostki usługi do lakewatch-admins.
  4. Na tej samej zakładce przypisz użytkownika jednostki usługi do lakewatch-data-engineers i lakewatch-detection-engineers. Pozwala to członkom tych grup tworzyć zasoby działające jako jednostka usługi.

2. Utwórz katalog i schemat

Stwórz katalog i schemat, które będą przechowywać zasoby Lakewatch. Uruchom następujące:

CREATE CATALOG IF NOT EXISTS lakewatch;
CREATE SCHEMA IF NOT EXISTS lakewatch.prod;

3. Udzielenie dostępu do danych jednostce usługi

Jednostka usługi run-as musi odczytywać i zapisywać dane w schemacie. Aby nadać podstawowy dostęp, uruchom następujące polecenie:

GRANT USE CATALOG ON CATALOG lakewatch TO `<sp>`;
GRANT USE SCHEMA ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT CREATE TABLE ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT MODIFY ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT SELECT ON SCHEMA lakewatch.prod TO `<sp>`;

4. Nadaj jednostce usługi uprawnienie „Może używać” w hurtowni SQL

Jednostka usługi uruchamia SQL w hurtowni danych. Przyznanie mu możliwości korzystania z magazynu SQL jest uprawnieniem obszaru roboczego, a nie nadaniem uprawnień w Unity Catalog:

  1. Wejdź do SQL Warehouses i otwórz hurtownię, z której ma korzystać Lakewatch.
  2. W sekcji Uprawnienia przyznaj podmiotowi usługi uprawnienie Może używać. To wymaga CAN_MANAGE w magazynie.

5. Przyznaj uprawnienia każdej grupie

Przyznaj każdej grupie przywileje do katalogu. Ponieważ przywileje dziedziczą się w dół hierarchii katalogu Unity, przyznanie na katalog dotyczy każdego zasobu Lakewatch poniżej niego. Aby dowiedzieć się, na co pozwala każdy przywilej, zobacz Role i możliwości.

Aby przyznać uprawnienia administratora, wykonaj następujące zadania:

GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT MANAGE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT MODIFY ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_DATASOURCE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_RULE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_SECRET ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT UPDATE_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-admins`;

Aby przyznać inżynierowi danych uprawnienia, wykonaj następujące procedury:

GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE_DATASOURCE ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE_SECRET ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT MODIFY ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE TABLE ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE SCHEMA ON CATALOG lakewatch TO `lakewatch-data-engineers`;

Aby przyznać inżynierowi detekcji uprawnienia, wykonaj następujące czynności:

GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT CREATE_RULE ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-detection-engineers`;

Aby przyznać uprawnienia analitykowi, przeprowadź następujące procedury:

GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT UPDATE_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-analysts`;

6. Przyznaj dostęp do źródeł (opcjonalnie)

Przyznawaj je tylko źródłom, z których korzystasz. Każde z nich wymaga, abyś był właścicielem obiektu zabezpieczanego, do którego przyznajesz uprawnienia.

Aby umożliwić jednostce usługi odczyt z zewnętrznej lokalizacji, wykonaj następujące zadanie:

GRANT READ FILES ON EXTERNAL LOCATION <external_location> TO `<sp>`;

Aby umożliwić principalowi usługi korzystanie ze wszystkich połączeń w metastore, wykonaj następujące polecenie:

GRANT USE CONNECTION ON METASTORE TO `<sp>`;

Aby umożliwić jednostce usługi odczyt istniejącej tabeli źródłowej, uruchom następujące polecenie:

GRANT USE CATALOG ON CATALOG <src_catalog> TO `<sp>`;
GRANT USE SCHEMA ON SCHEMA <src_catalog>.<src_schema> TO `<sp>`;
GRANT SELECT ON TABLE <src_catalog>.<src_schema>.<src_table> TO `<sp>`;

7. Zweryfikuj

Potwierdź, że dotacje zostały przyznane. Aby wyświetlić uprawnienia do katalogu i schematu, uruchom następujące polecenie:

SHOW GRANTS ON CATALOG lakewatch;
SHOW GRANTS ON SCHEMA lakewatch.prod;

Limitations

  • Przyznanie USE CONNECTION ON METASTORE pozwala jednostce usługi korzystać z każdego połączenia w metastore, co wykracza poza zasadę najmniejszych uprawnień. Używaj go tylko na metastore przeznaczonym dla Lakewatch.