Włączanie kontroli dostępu do tabel magazynu metadanych Hive w klastrze (starsza wersja)

W tym artykule opisano sposób włączania kontroli dostępu do tabel dla wbudowanego magazynu metadanych Hive w klastrze.

Aby uzyskać informacje na temat ustawiania uprawnień w zabezpieczanych obiektach magazynu metadanych Hive po włączeniu kontroli dostępu do tabeli w klastrze, zobacz Uprawnienia magazynu metadanych Hive i zabezpieczane obiekty (starsza wersja).

Uwaga

Kontrola dostępu do tabel magazynu metadanych Hive to starszy model zapewniania ładu danych. Usługa Databricks zaleca użycie wykazu aparatu Unity zamiast tego dla jego prostoty i modelu zapewniania ładu opartego na koncie. Tabele zarządzane przez magazyn metadanych Hive można uaktualnić do magazynu metadanych wykazu aparatu Unity.

Włączanie kontroli dostępu do tabel dla klastra

Kontrola dostępu do tabel jest dostępna w dwóch wersjach:

  • Kontrola dostępu do tabel tylko w języku SQL, która ogranicza użytkowników do poleceń SQL.
  • Kontrola dostępu do tabel python i SQL, która umożliwia użytkownikom uruchamianie poleceń SQL, Python i PySpark.

Kontrola dostępu do tabel nie jest obsługiwana w środowisku uruchomieniowym Edukacja Maszyny.

Ważne

Nawet jeśli kontrola dostępu do tabel jest włączona dla klastra, administratorzy obszarów roboczych usługi Azure Databricks mają dostęp do danych na poziomie plików.

Kontrola dostępu tylko do tabel SQL

Ta wersja kontroli dostępu do tabel ogranicza użytkowników tylko do poleceń SQL.

Aby włączyć kontrolę dostępu do tabel tylko sql w klastrze i ograniczyć ten klaster do używania tylko poleceń SQL, ustaw następującą flagę w klastrze spark conf:

spark.databricks.acl.sqlOnly true

Uwaga

Dostęp do kontroli dostępu tylko do tabeli SQL nie ma wpływu na ustawienie Włącz kontrolę dostępu do tabel na stronie ustawień administratora. To ustawienie steruje tylko włączaniem kontroli dostępu do tabel języka Python i tabeli SQL w całym obszarze roboczym.

Kontrola dostępu do tabel python i SQL

Ta wersja kontroli dostępu do tabel umożliwia użytkownikom uruchamianie poleceń języka Python korzystających z interfejsu API ramki danych oraz języka SQL. Po włączeniu go w klastrze użytkownicy w tym klastrze:

  • Dostęp do platformy Spark można uzyskać tylko przy użyciu interfejsu API SQL platformy Spark lub interfejsu API ramki danych. W obu przypadkach dostęp do tabel i widoków jest ograniczony przez administratorów zgodnie z uprawnieniami usługi Azure Databricks , które można udzielić w obiektach magazynu metadanych Hive.
  • Musi uruchamiać swoje polecenia w węzłach klastra jako użytkownik o niskim poziomie uprawnień zabroniony dostęp do poufnych części systemu plików lub tworzenie połączeń sieciowych z portami innymi niż 80 i 443.
    • Tylko wbudowane funkcje platformy Spark mogą tworzyć połączenia sieciowe na portach innych niż 80 i 443.
    • Tylko administratorzy obszaru roboczego lub użytkownicy z uprawnieniami ANY FILE mogą odczytywać dane z zewnętrznych baz danych za pośrednictwem łącznika JDBC PySpark.
    • Jeśli chcesz, aby procesy języka Python mogły uzyskiwać dostęp do dodatkowych portów wychodzących, możesz ustawić konfiguracjęspark.databricks.pyspark.iptable.outbound.whitelisted.ports platformy Spark na porty, do których chcesz zezwolić na dostęp. Obsługiwany format wartości konfiguracji to [port[:port][,port[:port]]...], na przykład : 21,22,9000:9999. Port musi należeć do prawidłowego zakresu, czyli 0-65535.

Próby obejścia tych ograniczeń nie powiedzą się z wyjątkiem. Te ograniczenia mają miejsce, aby użytkownicy nigdy nie mogli uzyskiwać dostępu do danych nieuprzywilejowanych za pośrednictwem klastra.

Włączanie kontroli dostępu do tabel dla obszaru roboczego

Aby użytkownicy mogli skonfigurować kontrolę dostępu do tabel i języka Python, obszar roboczy usługi Azure Databricks musi włączyć kontrolę dostępu do tabel dla obszaru roboczego usługi Azure Databricks i uniemożliwić użytkownikom dostęp do klastrów, które nie są włączone dla kontroli dostępu do tabel.

  1. Przejdź do strony ustawień administratora.
  2. Kliknij kartę Obszar roboczy Ustawienia.
  3. Kliknij przełącznik Kontrola dostępu do klastra, puli i zadań.
  4. Kliknij przycisk Potwierdź.
  5. Kliknij przełącznik Kontrola dostępu do tabeli.
  6. Kliknij przycisk Potwierdź.

Wymuszanie kontroli dostępu do tabel

Aby upewnić się, że użytkownicy uzyskują dostęp tylko do danych, do których chcesz, należy ograniczyć użytkowników do klastrów z włączoną kontrolą dostępu do tabel. W szczególności należy upewnić się, że:

  • Użytkownicy nie mają uprawnień do tworzenia klastrów. Jeśli tworzą klaster bez kontroli dostępu do tabel, mogą uzyskiwać dostęp do dowolnych danych z tego klastra.
  • Użytkownicy nie mają uprawnień DO DOŁĄCZANIA DO żadnego klastra, który nie jest włączony w celu kontroli dostępu do tabel.

Aby uzyskać więcej informacji, zobacz Uprawnienia obliczeniowe.

Tworzenie klastra włączonego na potrzeby kontroli dostępu do tabel

Kontrola dostępu do tabel jest domyślnie włączona w klastrach z trybem dostępu współdzielonego.

Aby utworzyć klaster przy użyciu interfejsu API REST, zobacz Tworzenie nowego klastra.

Ustawianie uprawnień dla obiektu danych

Zobacz Uprawnienia magazynu metadanych Hive i zabezpieczane obiekty (starsza wersja).