Zarządzaj uprawnieniami w rozwiązaniu Unity Catalog
W tym artykule wyjaśniono, jak kontrolować dostęp do danych i innych obiektów w wykazie aparatu Unity. Aby dowiedzieć się, jak ten model różni się od kontroli dostępu w magazynie metadanych Hive, zobacz Praca z wykazem aparatu Unity i starszym magazynem metadanych Hive.
Kto może zarządzać uprawnieniami?
Początkowo użytkownicy nie mają dostępu do danych w magazynie metadanych. Administratorzy kont usługi Azure Databricks, administratorzy obszaru roboczego i administratorzy magazynu metadanych mają domyślne uprawnienia do zarządzania wykazem aparatu Unity. Zobacz Uprawnienia administratora w wykazie aparatu Unity.
Wszystkie zabezpieczane obiekty w wykazie aparatu Unity mają właściciela. Właściciele obiektów mają wszystkie uprawnienia do tego obiektu, w tym możliwość udzielania uprawnień innym podmiotom zabezpieczeń. Właściciele mogą przyznać innym użytkownikom uprawnienia MANAGE
obiektu, co umożliwia użytkownikom zarządzanie uprawnieniami w obiekcie. Zobacz Zarządzanie własnością obiektu wykazu aparatu Unity.
Uprawnienia można przyznać administratorowi magazynu metadanych, użytkownikowi z uprawnieniami MANAGE
obiektu, właściciela obiektu lub właściciela wykazu lub schematu zawierającego obiekt. Administratorzy konta mogą również udzielać uprawnień bezpośrednio w magazynie metadanych.
Uprawnienia wykazu obszarów roboczych
Jeśli obszar roboczy został włączony automatycznie dla wykazu aparatu Unity, obszar roboczy jest domyślnie dołączony do magazynu metadanych, a katalog obszarów roboczych jest tworzony dla obszaru roboczego w magazynie metadanych. Administratorzy obszaru roboczego są domyślnymi właścicielami wykazu obszarów roboczych. Jako właściciele mogą zarządzać uprawnieniami w katalogu obszarów roboczych i wszystkimi obiektami podrzędnymi.
Wszyscy użytkownicy obszaru roboczego otrzymają USE CATALOG
uprawnienia w katalogu obszarów roboczych. Użytkownicy obszaru roboczego otrzymają USE SCHEMA
również uprawnienia , CREATE TABLE
, CREATE VOLUME
CREATE MODEL
, CREATE FUNCTION
i CREATE MATERIALIZED VIEW
w default
schemacie w wykazie.
Aby uzyskać więcej informacji, zobacz Automatyczne włączanie wykazu aparatu Unity.
Model dziedziczenia
Zabezpieczane obiekty w wykazie aparatu Unity są hierarchiczne, a uprawnienia są dziedziczone w dół. Obiekt najwyższego poziomu, z którego dziedziczą uprawnienia, to wykaz. Oznacza to, że udzielenie uprawnienia do wykazu lub schematu automatycznie udziela uprawnienia do wszystkich bieżących i przyszłych obiektów w wykazie lub schemacie. Jeśli na przykład przyznasz użytkownikowi SELECT
uprawnienia do katalogu, ten użytkownik będzie mógł wybrać (odczytywać) wszystkie tabele i widoki w tym wykazie. Uprawnienia udzielone w magazynie metadanych rozwiązania Unity Catalog nie są dziedziczone.
Właściciele obiektu mają automatycznie przyznane wszystkie uprawnienia do tego obiektu. Ponadto właściciele obiektów mogą udzielać uprawnień do samego obiektu i wszystkich jego obiektów podrzędnych. Oznacza to, że właściciele schematu nie mają automatycznie wszystkich uprawnień w tabelach w schemacie, ale mogą przyznać sobie uprawnienia do tabel w schemacie.
Uwaga
Jeśli magazyn metadanych wykazu aparatu Unity został utworzony w publicznej wersji zapoznawczej (przed 25 sierpnia 2022 r.), być może korzystasz z wcześniejszego modelu uprawnień, który nie obsługuje bieżącego modelu dziedziczenia. Aby uzyskać dziedziczenie uprawnień, można uaktualnić do wersji Privilege Model w wersji 1.0. Zobacz Uaktualnianie do dziedziczenia uprawnień.
Pokaż, przyznaj i odwołaj uprawnienia
Uprawnienia do obiektów magazynu metadanych można zarządzać przy użyciu poleceń SQL, interfejsu wiersza polecenia usługi Databricks, dostawcy narzędzia Terraform usługi Databricks lub Eksploratora wykazu.
W poniższych poleceniach SQL zastąp następujące wartości zastępcze:
-
<privilege-type>
jest typem uprawnień wykazu aparatu Unity. Zobacz Typy uprawnień. -
<securable-type>
: typ zabezpieczanego obiektu, na przykładCATALOG
lubTABLE
. Zobacz Zabezpieczane obiekty -
<securable-name>
: nazwa zabezpieczanego elementu. Jeśli zabezpieczany typ toMETASTORE
, nie podaj zabezpieczanej nazwy. Przyjmuje się, że jest to magazyn metadanych dołączony do obszaru roboczego. -
<principal>
jest użytkownikiem, jednostką usługi (reprezentowaną przez jego wartość applicationId) lub grupą. Należy ująć użytkowników, jednostki usługi i nazwy grup, które zawierają znaki specjalne w backticks (` `
). Zobacz Principal (Podmiot zabezpieczeń).
Pokazywanie dotacji na obiektach w magazynie metadanych wykazu aparatu Unity
Uwaga
Obecnie użytkownicy z uprawnieniami MANAGE
do obiektu nie mogą wyświetlać wszystkich uprawnień dla tego obiektu w INFORMATION_SCHEMA
. Zamiast tego INFORMATION_SCHEMA
pokazuje tylko dotacje powiązane z własnym obiektem. To zachowanie zostanie poprawione w przyszłości.
Użytkownicy z uprawnieniami MANAGE
mogą wyświetlać wszystkie uprawnienia do obiektu przy użyciu poleceń SQL lub Eksploratora Katalogu. Zobacz Zarządzanie uprawnieniami w katalogu Unity.
Wymagane uprawnienia:
- Administratorzy metadanych, użytkownicy z uprawnieniami
MANAGE
do obiektu, właściciel obiektu, katalogu lub schematu, który zawiera obiekt, mogą zobaczyć wszystkie uprawnienia do obiektu. - Jeśli nie masz powyższych uprawnień, możesz wyświetlić tylko własne granty dla obiektu.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz.
- Wybierz obiekt, taki jak wykaz, schemat, tabela lub widok.
- Przejdź do karty Uprawnienia .
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL. Możesz pokazać dotacje dla określonego podmiotu zabezpieczeń lub pokazać wszystkie dotacje na zabezpieczanym obiekcie.
SHOW GRANTS [principal] ON <securable-type> <securable-name>
Na przykład następujące polecenie pokazuje wszystkie przydziały schematu o nazwie default w katalogu nadrzędnym o nazwie main:
SHOW GRANTS ON SCHEMA main.default;
Polecenie zwraca następujące polecenie:
principal actionType objectType objectKey
------------- ------------- ---------- ------------
finance-team CREATE TABLE SCHEMA main.default
finance-team USE SCHEMA SCHEMA main.default
Pokazywanie moich dotacji na obiektach w magazynie metadanych wykazu aparatu Unity
Wymagane uprawnienia: zawsze można wyświetlać własne granty dla obiektu.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz.
- Wybierz obiekt, taki jak wykaz, schemat, tabela lub widok.
- Przejdź do karty Uprawnienia . Jeśli nie jesteś właścicielem obiektu lub administratorem magazynu metadanych, możesz wyświetlić tylko własne granty dla obiektu.
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL, aby wyświetlić granty na obiekcie.
SHOW GRANTS `<user>@<domain-name>` ON <securable-type> <securable-name>
Udzielanie uprawnień do obiektów w magazynie metadanych wykazu aparatu Unity
Wymagane uprawnienia: administrator magazynu metadanych, uprawnienia MANAGE
obiektu, właściciela obiektu lub właściciela wykazu lub schematu zawierającego obiekt.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz.
- Wybierz obiekt, taki jak wykaz, schemat, tabela lub widok.
- Przejdź do karty Uprawnienia .
- Kliknij pozycję Udziel.
- Wprowadź adres e-mail użytkownika lub nazwę grupy.
- Wybierz uprawnienia do udzielenia.
- Kliknij przycisk OK.
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL.
GRANT <privilege-type> ON <securable-type> <securable-name> TO <principal>
Na przykład następujące polecenie przyznaje grupie o nazwie finance-team dostęp do tworzenia tabel w schemacie o nazwie default z wykazem nadrzędnym o nazwie main:
GRANT CREATE TABLE ON SCHEMA main.default TO `finance-team`;
GRANT USE SCHEMA ON SCHEMA main.default TO `finance-team`;
GRANT USE CATALOG ON CATALOG main TO `finance-team`;
Należy pamiętać, że zarejestrowane modele są typem funkcji. Aby przyznać uprawnienie do modelu, należy użyć polecenia GRANT ON FUNCTION
. Na przykład w celu udzielenia ml-team-acme
grupie EXECUTE
uprawnień do modelu prod.ml_team.iris_model
należy użyć:
GRANT EXECUTE ON FUNCTION prod.ml_team.iris_model TO `ml-team-acme`;
Odwoływanie uprawnień do obiektów w magazynie metadanych wykazu aparatu Unity
Wymagane uprawnienia: administrator magazynu metadanych, uprawnienia MANAGE
obiektu, właściciela obiektu lub właściciela wykazu lub schematu zawierającego obiekt.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz.
- Wybierz obiekt, taki jak wykaz, schemat, tabela lub widok.
- Przejdź do karty Uprawnienia .
- Wybierz uprawnienie przyznane użytkownikowi, jednostce usługi lub grupie.
- Kliknij pozycję Odwołaj.
- Aby potwierdzić, kliknij przycisk Odwołaj.
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL.
REVOKE <privilege-type> ON <securable-type> <securable-name> TO <principal>
Na przykład następujące polecenie odwołuje grupę o nazwie finance-team access do tworzenia tabel w schemacie o nazwie default z wykazem nadrzędnym o nazwie main:
REVOKE CREATE TABLE ON SCHEMA main.default TO `finance-team`;
Pokazywanie dotacji w magazynie metadanych
Wymagane uprawnienia: administrator magazynu metadanych lub administrator konta. Możesz również wyświetlić własne dotacje w magazynie metadanych.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz.
- Obok etykiety strony Eksplorator wykazu kliknij ikonę obok nazwy magazynu metadanych.
- Przejdź do karty Uprawnienia .
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL. Możesz pokazać dotacje dla określonego podmiotu zabezpieczeń lub pokazać wszystkie dotacje w magazynie metadanych.
SHOW GRANTS [principal] ON METASTORE
Udzielanie uprawnień do magazynu metadanych
Wymagane uprawnienia: administrator magazynu metadanych lub administrator konta.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz.
- Obok etykiety strony Eksplorator wykazu kliknij ikonę obok nazwy magazynu metadanych.
- Na karcie Uprawnienia kliknij pozycję Udziel.
- Wprowadź adres e-mail użytkownika lub nazwę grupy.
- Wybierz uprawnienia do udzielenia.
- Kliknij przycisk OK.
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL.
GRANT <privilege-type> ON METASTORE TO <principal>;
W przypadku udzielania uprawnień do magazynu metadanych nie należy dołączać nazwy magazynu metadanych, ponieważ zakłada się, że zakłada się, że magazyn metadanych dołączony do obszaru roboczego.
Odwoływanie uprawnień w magazynie metadanych
Wymagane uprawnienia: administrator magazynu metadanych lub administrator konta.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz.
- Obok etykiety strony Eksplorator wykazu kliknij ikonę obok nazwy magazynu metadanych.
- Na karcie Uprawnienia wybierz użytkownika lub grupę i kliknij przycisk Odwołaj.
- Aby potwierdzić, kliknij przycisk Odwołaj.
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL.
REVOKE <privilege-type> ON METASTORE FROM <principal>;
Po odwołaniu uprawnień w magazynie metadanych nie uwzględniasz nazwy magazynu metadanych, ponieważ zakłada się, że zakłada się magazyn metadanych dołączony do obszaru roboczego.