Zarządzanie tożsamościami, autoryzacjami i uprawnieniami dla zadań usługi Databricks
Ten artykuł zawiera zalecenia i instrukcje dotyczące zarządzania tożsamościami, uprawnieniami i poziomami dostępu dla zadań usługi Databricks.
Uwaga
Sekrety nie są redagowane z dziennika sterownika Spark i strumieni klastra. Aby chronić dane poufne, domyślnie dzienniki sterowników platformy Spark są widoczne tylko przez użytkowników z uprawnieniami CAN MANAGE w zadaniu, trybie dedykowanym dostępu i klastrach trybu dostępu standardowego. Aby zezwolić użytkownikom z uprawnieniem CAN ATTACH TO lub CAN RESTART, aby wyświetlić dzienniki w tych klastrach, ustaw następującą właściwość konfiguracji platformy Spark w konfiguracji klastra: spark.databricks.acl.needAdminPermissionToViewLogs false
.
W klastrach z trybem wspólnego dostępu bez izolacji, dzienniki sterownika Spark mogą być wyświetlane przez użytkowników z uprawnieniami CAN ATTACH TO lub CAN MANAGE. Aby ograniczyć, kto może odczytywać dzienniki tylko użytkownikom z uprawnieniami CAN MANAGE, ustaw spark.databricks.acl.needAdminPermissionToViewLogs
na true
.
Zobacz Konfiguracja platformy Spark, aby dowiedzieć się, jak dodać właściwości platformy Spark do konfiguracji klastra.
Domyślne uprawnienia dla zadań
Zadania mają domyślnie ustawione następujące uprawnienia:
- Twórca zadania otrzymuje uprawnienie WŁAŚCICIELA.
- Administratorzy obszaru roboczego otrzymują uprawnienie CAN MANAGE.
- Twórca zadania jest ustawiony na Uruchom jako.
Uprawnienia administratora dla zadań
Domyślnie administratorzy obszaru roboczego mogą zmienić właściciela zadania lub konfigurację uruchomić jako na dowolnego użytkownika lub usługę główną w obszarze roboczym. Administratorzy kont mogą skonfigurować ustawienie, RestrictWorkspaceAdmins
aby zmienić to zachowanie. Zobacz Ograniczanie administratorów obszaru roboczego.
Jak joby współdziałają z uprawnieniami katalogu Unity?
Zadania są uruchamiane z tożsamością użytkownika w ustawieniach 'Uruchom jako'. Ta tożsamość jest oceniana pod kątem przyznania uprawnień w odniesieniu do:
- Zasoby zarządzane przez Katalog Unity, w tym tabele, woluminy, modele i widoki.
- Starsze listy kontroli dostępu do tabel (ACL) dla zasobów zarejestrowanych w starszym magazynie metadanych Hive.
- Listy kontroli dostępu (ACL) dla zasobów obliczeniowych, notesów, zapytań i innych elementów obszaru roboczego.
- Sekrety Databricks. Zobacz Zarządzanie tajemnicami.
Uwaga
Przydziały w Unity Catalog i starsze listy ACL tabel wymagają zgodnych trybów dostępu do zasobów obliczeniowych. Zobacz Konfigurowanie obliczeń dla zadań.
Zadania i uprawnienia SQL
Zadanie pliku jest jedynym typem zadania SQL, który w pełni uwzględnia tożsamość zdefiniowaną jako "Uruchom jako".
Zapytania SQL, alerty i starsze zadania pulpitu nawigacyjnego są zgodne ze skonfigurowanymi ustawieniami udostępniania.
- Uruchom jako właściciel: uruchamianie zaplanowanych zadań SQL zawsze korzysta z tożsamości właściciela skonfigurowanego zasobu SQL.
- Uruchom jako przeglądający: Działania zaplanowanego zadania SQL zawsze wykorzystują tożsamość ustawioną w polu Uruchom jako w zadaniu.
Aby dowiedzieć się więcej na temat ustawień udostępniania zapytań, zobacz Konfigurowanie uprawnień zapytania.
Przykład
Poniższy scenariusz ilustruje interakcję ustawień udostępniania SQL i ustawienia Uruchom jako dla zadania:
- Użytkownik A jest właścicielem zapytania SQL o nazwie
my_query
. - Użytkownik A konfiguruje
my_query
z ustawieniem udostępniania Uruchom jako właściciel. - Użytkownik B planuje
my_query
jako zadanie w zadaniu o nazwiemy_job
. - Użytkownik B konfiguruje
my_job
do uruchamiania z jednostką usługi o nazwieprod_sp
. - Podczas uruchamiania
my_job
używa tożsamości użytkownika A do uruchomieniamy_query
.
Teraz załóżmy, że użytkownik B nie chce tego zachowania. Począwszy od istniejącej konfiguracji, następuje:
- Użytkownik A zmienia ustawienie udostępniania dla
my_query
na Uruchom jako przeglądający. - Gdy
my_job
działa, używa identyfikatoraprod_sp
.
Konfigurowanie tożsamości dla wykonywania zadań
Aby zmienić ustawienie Uruchom jako, musisz mieć uprawnienie CAN MANAGE lub IS OWNER w zadaniu.
Możesz ustawić ustawienie Uruchom jako na siebie lub dowolną jednostkę usługi w obszarze roboczym, w którym masz uprawnienie Użytkownika jednostki usługi.
Aby skonfigurować ustawienie Uruchom jako dla zadania w interfejsie użytkownika obszaru roboczego, wybierz istniejące zadanie, wykonując następujące kroki:
- Kliknij pozycję
Przepływy pracy na pasku bocznym.
- W kolumnie Nazwa kliknij nazwę zadania.
- W panelu bocznym Szczegóły zadania kliknij ikonę ołówka obok pola Uruchom jako .
- Wyszukaj i wybierz użytkownika lub jednostkę usługi.
- Kliknij przycisk Zapisz.
Aby uzyskać więcej informacji na temat pracy z jednostkami usługi, zobacz następujące artykuły:
- Zarządzanie głównymi obiektami usługi
- Role do zarządzania jednostkami usługi
- Wyświetl listę zasad usługi, których można użyć.
Najlepsze praktyki zarządzania zadaniami
Usługa Databricks zaleca następujące elementy dla wszystkich zadań produkcyjnych:
Przypisywanie własności zadania do jednostki usługi
Jeśli użytkownik, który jest właścicielem zadania, opuści organizację, zadanie może zakończyć się niepowodzeniem. Użyj zasad usługi, aby uczynić zadania odpornymi na rotację pracowników.
Domyślnie administratorzy obszaru roboczego mogą zarządzać uprawnieniami zadań i, w razie potrzeby, ponownie przypisać własność.
Uruchamianie zadań produkcyjnych przy użyciu głównego użytkownika usługi
Zadania są uruchamiane przy użyciu uprawnień właściciela zadania domyślnie. Jeśli przypiszesz własność do jednostki usługi, zadanie zostanie uruchomione przy użyciu uprawnień jednostki usługi.
Używanie jednostek usługi dla zadań produkcyjnych umożliwia ograniczenie uprawnień do zapisu na danych produkcyjnych. Jeśli uruchamiasz zadania przy użyciu uprawnień użytkownika, ten użytkownik musi mieć te same uprawnienia, aby edytować dane produkcyjne wymagane przez zadanie.
Zawsze używaj konfiguracji obliczeniowych kompatybilnych z Unity Catalog
Nadzór nad danymi w Unity Catalog wymaga użycia obsługiwanej konfiguracji obliczeniowej.
Natychmiastowo skalowalne obliczenia bezserwerowe dla zadań i magazynów danych SQL zawsze działają przy użyciu Unity Catalog.
W przypadku zadań z klasycznymi obliczeniami usługa Databricks zaleca standardowy tryb dostępu dla obsługiwanych obciążeń. Użyj trybu dedykowanego dostępu, jeśli jest to wymagane.
Potoki DLT skonfigurowane z użyciem Unity Catalog mają pewne ograniczenia. Zobacz Ograniczenia.
Ograniczanie uprawnień do zadań produkcyjnych
Użytkownicy, którzy wyzwalają, zatrzymywają lub uruchamiają ponownie zadania, potrzebują uprawnienia Może zarządzać uruchamianiem .
Użytkownicy, którzy wyświetlają konfigurację zadań lub monitorują wykonania, potrzebują uprawnień do wyświetlania.
Przyznawaj uprawnienia Może zarządzać lub uprawnienia Jest właścicielem wyłącznie użytkownikom, którzy są zaufani do modyfikowania kodu produkcyjnego.
Kontrolowanie dostępu do zadania
Kontrola dostępu do zadań umożliwia właścicielom zadań i administratorom udzielanie precyzyjnych uprawnień do zadań. Dostępne są następujące uprawnienia:
Uwaga
Każde uprawnienie zawiera uprawnienia wymienione w następnej tabeli poniżej.
Uprawnienie | Dotacja |
---|---|
Jest właścicielem | Tożsamość domyślnie używana do Uruchom jako. |
Może zarządzać | Użytkownicy mogą edytować definicję zadania, w tym uprawnienia. Użytkownicy mogą wstrzymywać i wznawiać harmonogram. |
Może zarządzać przebiegiem | Użytkownicy mogą wyzwalać i anulować przebiegi zadań. |
Może wyświetlać | Użytkownicy mogą wyświetlać wyniki uruchomienia zadania. |
Aby uzyskać informacje na temat poziomów uprawnień zadań, zobacz ACL zadań.
Konfigurowanie uprawnień zadania
Aby skonfigurować uprawnienia dla zadania w interfejsie użytkownika obszaru roboczego, wybierz istniejące zadanie, wykonując następujące kroki:
- Kliknij pozycję
Przepływy pracy na pasku bocznym.
- W kolumnie Nazwa kliknij nazwę zadania.
- W panelu Szczegóły zadania kliknij pozycję Edytuj uprawnienia. Zostanie wyświetlone okno dialogowe Ustawienia uprawnień.
- Kliknij pole Wybierz użytkownika, grupę lub jednostkę usługi... i zacznij wpisywać użytkownika, grupę lub jednostkę usługi. Pole wyszukuje wszystkie dostępne tożsamości w obszarze roboczym.
- Kliknij przycisk Dodaj.
- Kliknij przycisk Zapisz.
Zarządzaj właścicielem zadania
Tylko administratorzy obszaru roboczego mogą edytować właściciela zadania. Należy przypisać dokładnie jednego właściciela zadania. Właściciele zadań mogą być użytkownikami lub jednostkami usługi.