Udostępnij za pośrednictwem


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 SCHEMArównież uprawnienia , CREATE TABLE, CREATE VOLUMECREATE MODEL, CREATE FUNCTIONi 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.

Hierarchia obiektów wykazu aparatu Unity

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ład CATALOG lub TABLE. Zobacz Zabezpieczane obiekty
  • <securable-name>: nazwa zabezpieczanego elementu. Jeśli zabezpieczany typ to METASTORE, 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

  1. W obszarze roboczym usługi Azure Databricks kliknij pozycję Ikona wykazuWykaz.
  2. Wybierz obiekt, taki jak wykaz, schemat, tabela lub widok.
  3. 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

  1. W obszarze roboczym usługi Azure Databricks kliknij pozycję Ikona wykazuWykaz.
  2. Wybierz obiekt, taki jak wykaz, schemat, tabela lub widok.
  3. 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

  1. W obszarze roboczym usługi Azure Databricks kliknij pozycję Ikona wykazuWykaz.
  2. Wybierz obiekt, taki jak wykaz, schemat, tabela lub widok.
  3. Przejdź do karty Uprawnienia .
  4. Kliknij pozycję Udziel.
  5. Wprowadź adres e-mail użytkownika lub nazwę grupy.
  6. Wybierz uprawnienia do udzielenia.
  7. 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_modelnależ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

  1. W obszarze roboczym usługi Azure Databricks kliknij pozycję Ikona wykazuWykaz.
  2. Wybierz obiekt, taki jak wykaz, schemat, tabela lub widok.
  3. Przejdź do karty Uprawnienia .
  4. Wybierz uprawnienie przyznane użytkownikowi, jednostce usługi lub grupie.
  5. Kliknij pozycję Odwołaj.
  6. 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

  1. W obszarze roboczym usługi Azure Databricks kliknij pozycję Ikona wykazuWykaz.
  2. Obok etykiety strony Eksplorator wykazu kliknij ikonę obok nazwy magazynu metadanych.
  3. 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

  1. W obszarze roboczym usługi Azure Databricks kliknij pozycję Ikona wykazuWykaz.
  2. Obok etykiety strony Eksplorator wykazu kliknij ikonę obok nazwy magazynu metadanych.
  3. Na karcie Uprawnienia kliknij pozycję Udziel.
  4. Wprowadź adres e-mail użytkownika lub nazwę grupy.
  5. Wybierz uprawnienia do udzielenia.
  6. Kliknij przycisk OK.

SQL

  1. 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

  1. W obszarze roboczym usługi Azure Databricks kliknij pozycję Ikona wykazuWykaz.
  2. Obok etykiety strony Eksplorator wykazu kliknij ikonę obok nazwy magazynu metadanych.
  3. Na karcie Uprawnienia wybierz użytkownika lub grupę i kliknij przycisk Odwołaj.
  4. Aby potwierdzić, kliknij przycisk Odwołaj.

SQL

  1. 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.