Przełącz role RBAC

Możesz przyjąć rolę w zarządzaniu dostępem opartym na rolach (RBAC) w Azure Databricks na kilka sposobów. Uprawnienia tej roli dotyczą żądań lub operacji obliczeniowych wykonywanych w ramach tej roli. Zakres zależy od metody: zmiana ról w obszarze roboczym zmienia sesję przeglądarkową, natomiast uwierzytelnianie profilu CLI Databricks lub połączenie z obliczeniami grupowymi wpływa na ten profil lub sesję obliczeniową.

Requirements

Aby objąć rolę, musisz mieć na nią uprawnienie Assume. Możesz otrzymać uprawnienia Assume bezpośrednio, przez grupę, której przyznano to uprawnienia, lub poprzez członkostwo w grupie, która implementuje tę rolę. Rola musi być przypisana do przestrzeni roboczej z wymaganymi uprawnieniami dostępu. Zobacz Konfiguruj dostęp do przestrzeni roboczej.

Important

Role dziedziczą uprawnienia ze swoich grup nadrzędnych. Domyślnie Twoje role dziedziczą także uprawnienia przyznawane grupie systemowej przestrzeni users roboczej oraz grupie account users systemowej konta. Zmiana współdzielonego grantu wpływa na innych użytkowników i role, które go dziedziczą. Zobacz Jak działają uprawnienia roli. Uprawnienia dostępu są konfigurowane osobno. Zobacz Konfiguruj dostęp do przestrzeni roboczej.

Przełącznik ról w obszarze roboczym

Użyj przełącznika ról , aby przyjąć rolę w całym obszarze roboczym. Cały dostęp, uprawnienia, własność i działania odpowiadają roli przez cały czas trwania sesji.

  1. W obszarze roboczym Azure Databricks kliknij nazwę obszaru roboczego w prawym górnym rogu górnego paska.
  2. Umieść kursor na bieżącym obszarze roboczym (górnym elemencie w menu), aby wyświetlić podmenu przełącznika ról.
  3. W podmenu kliknij rolę, którą chcesz założyć.

Interfejs użytkownika odświeża się, a tożsamość wyświetlana pod nazwą obszaru roboczego zmienia się na wybraną rolę.

Aby wrócić do tożsamości użytkownika, otwórz tę samą podmenu i wybierz swoją nazwę użytkownika. Jeśli wszedłeś do workspace, przyjmując rolę, ponieważ nie jesteś do niego przypisany, nie można wybrać twojej nazwy użytkownika. Zobacz Kiedy musisz przejąć rolę, aby wejść do przestrzeni roboczej.

Note

Jeśli nie widzisz podmenu przełącznika ról, sprawdź, czy jesteś członkiem grupy przypisanej do przestrzeni roboczej lub czy otrzymałeś uprawnienie Assume dla grupy przypisanej do tego workspace. Zobacz Zarządzanie uprawnieniami w grupie.

Kiedy musisz przyjąć rolę, aby wejść do przestrzeni roboczej

Jeśli nie jesteś przypisany do przestrzeni roboczej, bezpośrednio lub przez członkostwo w grupie, ale masz uprawnienie Assume w grupie przypisanej do tej przestrzeni, musisz przejąć rolę, aby wejść do przestrzeni roboczej. To zależy od twojego własnego przydziału obszaru roboczego, a nie od ustawienia obszaru roboczego, więc inni użytkownicy przypisani do tego samego obszaru roboczego nadal wchodzą jako siebie.

Instrukcje konfiguracji i proces przyjmowania roli znajdziesz w Samouczek: Wymagaj od użytkowników przyjęcia roli przy dostępie do obszaru roboczego.

Rolę można przejąć bezpośrednio z adresu URL obszaru roboczego, dodając parametr zapytania aid ustawiony na identyfikator grupy: aid=<group-id>. Otwarcie tego adresu URL powoduje uwierzytelnienie Cię przy użyciu Twojej zwykłej tożsamości użytkownika, a następnie automatycznie przełącza Cię na tę rolę, więc nie musisz używać mechanizmu przełączania ról.

Aby na przykład otworzyć obszar roboczy, który pełni już rolę:

https://<workspace-url>/?o=<workspace-id>&aid=<group-id>

Jest to przydatne przy dodawaniu zakładek lub udostępnianiu linku, który prowadzi bezpośrednio do roli. Azure Databricks zachowuje parametr aid podczas poruszania się w obszarze roboczym, dzięki czemu pozostajesz w tej roli przez całą sesję. Przejście do innego obszaru roboczego czyści go. Rola jest grupą kont i musi być przypisana do każdego workspace, w którym jej używasz.

Aby pobrać identyfikator grupy, użyj API Account Groups. Aby przełączyć role lub powrócić do tożsamości użytkownika po otwarciu linku, użyj przełącznika ról.

Dedykowane zasoby obliczeniowe przypisane do grupy

Gdy łączysz się z dedykowanym zasobem obliczeniowym przypisanym do grupy, operacje korzystające z przypisanej mu tożsamości używają uprawnień tej grupy. Nie musisz najpierw przełączać ról w interfejsie workspace.

Obszar roboczy musi mieć włączony Unity Catalog, a zasoby obliczeniowe muszą korzystać z Databricks Runtime 15.4 lub nowszego. Grupa potrzebuje także dostępu do notesów i innych zasobów używanych w środowisku obliczeniowym. Operacje obsługiwane przez środowisko notatnika, takie jak %run, wykorzystują uprawnienia użytkownika, a nie uprawnienia grupy. Zobacz Dostęp do dedykowanej grupy obliczeniowej, aby uzyskać informacje o konfiguracji i ograniczeniach.

Databricks CLI

Gdy używasz uwierzytelniania użytkownika do maszyny (U2M) OAuth z CLI Databricks, otwiera się przeglądarka internetowa, aby zakończyć proces uwierzytelniania. Jeśli masz uprawnienia Assume dla jednej lub większej liczby ról, wybierasz w przeglądarce, czy chcesz uwierzytelnić się jako własna tożsamość użytkownika, czy jako jedna z tych ról. Jeśli nie jesteś przypisany do przestrzeni roboczej, nie możesz uwierzytelnić się przy użyciu własnej tożsamości i musisz wybrać rolę. Zobacz Kiedy musisz przejąć rolę, aby wejść do przestrzeni roboczej. Zainstaluj CLI Databricks przed rozpoczęciem. Zobacz Instalowanie lub aktualizowanie interfejsu wiersza poleceń Databricks. Aby rozpocząć proces logowania, uruchom następująco:

databricks auth login --host <workspace-url> --profile <profile-name>

Po zakończeniu procesu logowania Databricks CLI zapisuje profil konfiguracyjny i zarządza krótkotrwałymi tokenami OAuth dla niego. Polecenia korzystające z tego profilu są uruchamiane z użyciem roli, którą wybrałeś. Zmiana ról w interfejsie workspace nie zmienia tożsamości tego profilu. Przykład:

databricks warehouses list --profile <profile-name>

Szczegóły dotyczące uwierzytelniania Databricks CLI można znaleźć w artykule Uwierzytelnianie dla Databricks CLI.

API (tokeny dostępu OAuth)

Możesz wygenerować token dostępu OAuth na poziomie przestrzeni roboczej, aby wykonywać wywołania API w imieniu roli. Zakres OAuth tokena ogranicza, które API może wywołać, a uprawnienia roli decydują o jego dostępie do zasobów.

Aby wygenerować token ograniczony do roli, uruchom databricks auth login zgodnie z opisem w Databricks CLI i wybierz rolę w swojej przeglądarce internetowej. Pobierz token dostępu do profilu:

databricks auth token --profile <profile-name>

Użyj elementu access_token z odpowiedzi w nagłówku Authorization: Bearer żądania API. Token skopiowany do innej aplikacji nie odświeża się sam. Zobacz token uwierzytelniania databricks.

Aby wykonać ręczny przepływ U2M, dodaj assume_group=<group-id> do adresu URL autoryzacji obszaru roboczego. Zobacz Wygeneruj kod autoryzacyjny na poziomie przestrzeni roboczej.

Dla procesu nieobsługiwanego z użyciem jednostki usługi należy uwzględnić assume_group=<group-id> w żądaniu tokena obszaru roboczego maszyna-maszyna (M2M). Zarówno jednostka usługi, jak i rola muszą być przypisane do obszaru roboczego. Żądania tokenów na poziomie konta nie obsługują przyjmowania roli. Zobacz Przyjmij rolę oraz Samouczek: określanie zakresu dostępu agenta AI za pomocą mechanizmu RBAC.

Narzędzia analizy biznesowej innych firm

Narzędzia analizy biznesowej innych firm obsługujące uwierzytelnianie OAuth (takie jak Tableau i Power BI) mogą autoryzować jako rolę. Po autoryzacji zapytania wysyłane przez to połączenie korzystają z uprawnień roli. Rola wymaga uprawnień do korzystania z wybranych zasobów obliczeniowych i dostępu do danych objętych zapytaniem. Stosuj się do obsługiwanej konfiguracji uwierzytelniania i zasobów obliczeniowych tego narzędzia. Zobacz sterowniki Databricks ODBC i JDBC.

O znanych problemach wpływających na narzędzia i sterowniki BI podczas pełnienia roli zobacz Znane problemy.

Jakie zmiany w przypadku objęcia roli

Gdy używasz przełącznika ról obszaru roboczego:

  • Notatniki i zapytania: Uruchamianie jako rola. Uprawnienia tej roli regulują interaktywne zapytania oraz operacje Unity Catalog wykonywane w ramach tej roli.
  • Zadania: Gdy tworzysz zadanie, działając w tej roli, ustawienie Run as jest ustawione na tę rolę. Możesz też ustawić opcję Uruchom jako zadania na grupę bez uprzedniego przejęcia jej. Zobacz Set Run as to a group (Ustaw uruchom jako na grupę).
  • Zasoby w przestrzeni roboczej: Rola jest właścicielem wszystkich zasobów, które utworzysz (notatniki, zapytania SQL, magazyny SQL, zlecenia).
  • Dzienniki audytowe: Rozróżnij tożsamość, która zainicjowała zdarzenie (identity_metadata.run_by) od tożsamości użytej do autoryzacji (identity_metadata.run_as). W przypadku interaktywnych żądań te identyfikują odpowiednio Twoją tożsamość użytkownika i rolę. Obciążenia zadań rejestrują jednostkę usługi aplikacji usługi Jobs jako run_by. Zobacz Zweryfikuj atrybucję audytu.

Uruchomienia zadań używają skonfigurowanej tożsamości „Run as”. Zadania zapytań mogą również zależeć od ustawień współdzielenia zasobu SQL, a dedykowane przetwarzanie może korzystać ze swojego przypisanego podmiotu zabezpieczeń. Zobacz Set Run as to a group (Ustaw uruchom jako na grupę).

W przypadku funkcji, które nie są obsługiwane lub tylko częściowo obsługiwane w przypadku działania jako rola, zobacz Ograniczenia kontroli dostępu opartej na rolach (RBAC).

Dodatkowe zasoby

Resource Description
Ograniczenia kontroli dostępu opartej na rolach (RBAC) Zrozum, które funkcje Azure Databricks nie są obsługiwane lub są obsługiwane tylko częściowo podczas działania w roli.
Kontroluj udostępnianie zasobów obszaru roboczego za pomocą RBAC Zapobiegaj użytkownikom działającym jako rola udostępnianiu zasobów przestrzeni roboczej należących do tej roli.