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 zarządzania danymi. Usługa Databricks zaleca użycie wykazu aparatu Unity zamiast tego ze względu na jego prostotę i modelu zarządzania 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 Machine Learning Runtime.
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, czyli0-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
Zanim użytkownicy będą mogli skonfigurować kontrolę dostępu do tabel i języka Python, administrator obszaru roboczego 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 do kontroli dostępu do tabel.
- Przejdź do strony ustawień.
- Kliknij przycisk zabezpieczeń kartę.
- Włącz opcję Kontrola dostępu do tabeli.
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).