Udostępnij przez


Zmień domyślny dostęp obszaru roboczego na dostęp konsumencki

Ważne

Ta funkcja jest dostępna w publicznej wersji testowej.

Na tej stronie wyjaśniono, w jaki sposób administratorzy obszarów roboczych mogą zmienić domyślny dostęp do obszaru roboczego dla nowych użytkowników na dostęp konsumencki, używając klonowania grup. Ta funkcja ułatwia dołączanie użytkowników na dużą skalę przy zachowaniu odpowiednich poziomów dostępu dla użytkowników, którzy potrzebują uprawnień do tworzenia.

Przegląd

Domyślnie każdy użytkownik dodany do obszaru roboczego staje się członkiem grupy systemowej users . Ta grupa zazwyczaj ma dostęp do obszaru roboczego lub uprawnienia dostępu do Databricks SQL, które są uprawnieniami do tworzenia i modyfikowania, umożliwiającymi użytkownikom tworzenie i modyfikowanie obiektów obszaru roboczego.

Aby zapewnić użytkownikom środowisko użytkownika tylko do odczytu, grupa users musi mieć wyłącznie uprawnienie Konsumenta. Uprawnienia są dodawane, więc dostęp użytkownika zapewnia uproszczony tryb tylko do odczytu wyłącznie wtedy, gdy jest to jedyne uprawnienie przypisane do użytkownika. Klonowanie grup umożliwia wprowadzenie tej zmiany bez zakłócania działania istniejących użytkowników, którzy potrzebują uprawnień do tworzenia. Tworzy nową grupę dla istniejących użytkowników i aktualizuje grupę domyślną users dla nowych użytkowników.

Aby uzyskać więcej informacji na temat dostępu użytkowników i jego możliwości, zobacz Co to jest dostęp konsumentów?. Aby dowiedzieć się więcej o uprawnieniach, zobacz Zarządzanie uprawnieniami.

Kiedy należy używać tej funkcji

Użyj tej funkcji, gdy:

  • Chcesz, aby nowi użytkownicy obszaru roboczego domyślnie uzyskiwali dostęp wyłącznie na poziomie Konsumenta.
  • Musisz oddzielić użytkowników, którzy potrzebują uprawnień do tworzenia (dostęp do obszaru roboczego lub usługi Databricks SQL) od użytkowników korzystających tylko z widoku.
  • Chcesz usprawnić dołączanie użytkowników na dużą skalę.

Jak działa klonowanie grup

Grupa systemowa users jest automatycznie zarządzana przez usługę Azure Databricks i obejmuje wszystkich użytkowników obszaru roboczego. Nie można usunąć tej grupy. Aby dowiedzieć się więcej o grupach systemowych, zobacz Grupowanie źródeł.

Podczas klonowania users grupy:

  1. Zostanie utworzona nowa grupa z tymi samymi uprawnieniami, które ma obecnie grupa users.
  2. Wszyscy istniejący użytkownicy obszaru roboczego są automatycznie przeniesieni do sklonowanej grupy, zapewniając zachowanie bieżących poziomów dostępu.
  3. Grupa users jest aktualizowana tak, aby miała tylko uprawnienia konsumenckie.
  4. Przyszli użytkownicy, którzy są dodawani do obszaru roboczego, automatycznie stają się członkami users grupy i otrzymują tylko uprawnienia konsumenta.

users Gdy grupa zawiera zagnieżdżone grupy, które są zbyt głęboko osadzone (będące członkami innych grup), możesz wybrać sposób ich obsługi:

  • Dodaj wszystkich członków grupy bezpośrednio (Zalecane): Dodaje wszystkich członków grupy zagnieżdżonej bezpośrednio do sklonowanej grupy. Upraszcza to strukturę grupy.
  • Wyklucz: całkowicie pomija grupę zagnieżdżoną. Członkowie wykluczonej grupy zagnieżdżonej nie są dodawani do sklonowanej grupy.

Requirements

Aby zmienić domyślny dostęp do obszaru roboczego, musisz być administratorem obszaru roboczego.

Zmienianie domyślnego dostępu do obszaru roboczego przy użyciu interfejsu użytkownika

Aby zmienić domyślny dostęp obszaru roboczego na dostęp dla użytkownika końcowego:

  1. Jako administrator obszaru roboczego zaloguj się do obszaru roboczego usługi Azure Databricks.

  2. Kliknij swoją nazwę użytkownika na górnym pasku obszaru roboczego usługi Azure Databricks i wybierz pozycję Ustawienia.

  3. Kliknij kartę Zaawansowane.

  4. W obszarze Kontrola dostępu obok pozycji Zmień domyślny dostęp obszaru roboczego do dostępu konsumentów kliknij pozycję Otwórz.

  5. W oknie dialogowym wprowadź nazwę sklonowanej grupy. Ta grupa będzie zawierać wszystkich istniejących użytkowników, którzy muszą zachować swoje bieżące uprawnienia.

    Zmień domyślny dostęp do dostępu konsumentów.

  6. Kliknij Utwórz i sklonuj grupę.

    System tworzy nową grupę i rozpoczyna proces klonowania. Nie zamykaj okna modalnego podczas klonowania.

  7. users Jeśli grupa zawiera nadmiernie zagnieżdżone grupy, otrzymasz monit do ich obsłużenia.

    • Wybierz pozycję Dodaj wszystkich członków grupy bezpośrednio (zalecane), aby spłaszczyć grupę, poprzez dodanie wszystkich członków zagnieżdżonej grupy bezpośrednio do sklonowanej grupy.
    • Aby pominąć tę zagnieżdżoną grupę, wybierz Wyklucz tę grupę.
    • Opcjonalnie wybierz pozycję Zastosuj tę decyzję do wszystkich przyszłych grup, które przekraczają limit głębokości zagnieżdżania, aby zastosować tę decyzję do wszystkich przyszłych grup zagnieżdżonych podczas tej operacji.
  8. W ostatnim kroku: przenieś uprawnienia tworzenia i zmień dostęp domyślny, kliknij przycisk Zakończ.

    System aktualizuje grupę users , aby miała tylko uprawnienie konsumenta i przypisuje oryginalne uprawnienia do sklonowanej grupy.

  9. Przejrzyj podsumowanie i kliknij przycisk Gotowe.

    Zmień domyślny dostęp do dostępu konsumentów.

Weryfikowanie zmian

Po zakończeniu procesu sprawdź, czy zmiany zostały zastosowane poprawnie:

  1. Jako administrator obszaru roboczego zaloguj się do obszaru roboczego usługi Azure Databricks.
  2. Kliknij swoją nazwę użytkownika na górnym pasku i wybierz pozycję Ustawienia.
  3. Kliknij kartę Tożsamość i dostęp .
  4. Obok pozycji Grupy kliknij pozycję Zarządzaj.
  5. Sprawdź następujące kwestie:
    • Sklonowana grupa istnieje i ma taką samą liczbę użytkowników jak oryginalna users grupa.
    • Grupa users ma teraz tylko uprawnienie Konsumenta.

Zagadnienia i najlepsze rozwiązania

Podczas zmiany domyślnego dostępu do obszaru roboczego należy wziąć pod uwagę następujące kwestie:

  • Wpływ na nowych użytkowników: po zmianie domyślnego dostępu wszyscy nowi użytkownicy dodani do obszaru roboczego otrzymają tylko uprawnienia konsumenta. Mogą wyświetlać pulpity nawigacyjne, przestrzenie Genie i Aplikacje usługi Databricks oraz korzystać z nich, ale nie mogą tworzyć nowych obiektów obszaru roboczego. Domyślną stroną docelową usługi Databricks jest strona Databricks One. Aby uzyskać więcej informacji, zobacz Co to jest dostęp użytkowników? i Co to jest usługa Databricks One?.

  • Przyznawanie uprawnień do tworzenia: jeśli musisz przyznać nowemu użytkownikom wyższe uprawnienia, musisz ręcznie dodać je do sklonowanej grupy lub przypisać dodatkowe uprawnienia indywidualnie. Aby uzyskać instrukcje dotyczące zarządzania członkostwem w grupach, zobacz Zarządzanie grupami.

  • Przywracanie zmian: jeśli chcesz przywrócić tę konfigurację, przyznaj grupie uprawnienia dostępu do obszaru roboczego users i uprawnienia dostępu SQL usługi Databricks. Nowi użytkownicy otrzymują te uprawnienia domyślnie. Możesz zachować lub usunąć sklonowaną grupę w zależności od tego, czy jest ona nadal potrzebna do organizowania użytkowników.

  • Koordynacja z dostawcami tożsamości: jeśli używasz aprowizacji SCIM lub automatycznego zarządzania tożsamościami do synchronizowania użytkowników i grup, należy koordynować tę zmianę z procesami zarządzania tożsamościami. Zobacz Synchronizuj użytkowników i grupy z Microsoft Entra ID za pomocą SCIM.

Automatyzowanie klonowania grup przy użyciu zestawu SDK

W przypadku operacji zbiorczych lub automatyzacji w wielu obszarach roboczych można zautomatyzować proces klonowania grup za pomocą zestawu SDK usługi Databricks dla języka Python. Ta metoda jest przydatna, gdy musisz zastosować tę samą konfigurację w wielu workspace'ach lub zintegrować klonowanie grup z przepływami pracy typu infrastruktura jako kod.

Poniższy skrypt języka Python automatyzuje duplikowanie users grupy i przypisuje odpowiednie uprawnienia. Korzysta z zestawu SDK usługi Databricks dla języka Python i wymaga jednostki usługi z uprawnieniami administratora zarówno dla konta, jak i obszaru roboczego uwierzytelnionego przy użyciu protokołu OAuth. Zobacz Autoryzowanie dostępu użytkowników do usługi Azure Databricks przy użyciu protokołu OAuth.

Wymagania wstępne

  • Service Principal z uprawnieniami administratora
  • Zestaw zmiennych środowiskowych:
    • DATABRICKS_ACCOUNT_ID (Identyfikator UUID z adresu URL konsoli konta)
    • DATABRICKS_WORKSPACE_ID (identyfikator liczbowy z adresu URL obszaru roboczego)
    • DATABRICKS_CLIENT_ID (identyfikator klienta jednostki usługi)
    • DATABRICKS_CLIENT_SECRET (klucz tajny klienta jednostki usługi)

Przykładowy skrypt


import os
import databricks.sdk as dbx
from databricks.sdk.service import iam

# Set the Databricks account host URL for your account's cloud
DATABRICKS_HOST = "https://accounts.azuredatabricks.net"

# Fetch credentials from environment variables
DATABRICKS_ACCOUNT_ID = os.getenv("DATABRICKS_ACCOUNT_ID")
DATABRICKS_WORKSPACE_ID = os.getenv("DATABRICKS_WORKSPACE_ID")
DATABRICKS_CLIENT_ID = os.getenv("DATABRICKS_CLIENT_ID")
DATABRICKS_CLIENT_SECRET = os.getenv("DATABRICKS_CLIENT_SECRET")

# Initialize Databricks account client
account_client = dbx.AccountClient(
    host=DATABRICKS_HOST,
    account_id=DATABRICKS_ACCOUNT_ID,
    client_id=DATABRICKS_CLIENT_ID,
    client_secret=DATABRICKS_CLIENT_SECRET,
)

print(f"Authenticated to Databricks account {DATABRICKS_ACCOUNT_ID}")

# Get workspace and initialize workspace client
workspace = account_client.workspaces.get(workspace_id=DATABRICKS_WORKSPACE_ID)
workspace_name = workspace.workspace_name
workspace_client = account_client.get_workspace_client(workspace)

print(f"Authenticated to Databricks workspace {DATABRICKS_WORKSPACE_ID}, '{workspace_name}'")

def get_workspace_group(group_name):
    """
    Fetches the workspace group with the given name.
    """
    group = list(workspace_client.groups.list(filter=f"displayName eq '{group_name}'"))[0]
    print(f"Found workspace group: {group.display_name}")
    print(f"Workspace {group.display_name} has {len(group.members)} members")
    return group

def clone_workspace_group_to_account(workspace_group_name, new_account_group_name):
    workspace_group = get_workspace_group(workspace_group_name)
    group = account_client.groups.create(
        display_name=new_account_group_name, members=workspace_group.members
    )
    print(f"Created account group: {new_account_group_name}")
    print(f"Cloned workspace group {workspace_group.display_name} to account group {group.display_name}")
    print(f"Account {group.display_name} has {len(group.members)} members")
    return group

def add_account_group_to_workspace(account_group, workspace):
    permissions = account_client.workspace_assignment.update(
        workspace_id=workspace.workspace_id,
        principal_id=account_group.id,
        permissions=[iam.WorkspacePermission.USER],
    )
    print(f"Added account group {account_group.display_name} to workspace {workspace.workspace_id}, {workspace.workspace_name}")
    return permissions

# Clone workspace 'users' group to new account group '{workspace_name}-contributors'
account_group = clone_workspace_group_to_account(
    "users", f"{workspace_name}-contributors"
)

# Add account group '{workspace_name}-contributors' to the workspace
permissions = add_account_group_to_workspace(account_group, workspace)

Po uruchomieniu skryptu w celu zduplikowania istniejących grup i ponownego przypisania uprawnień przyznaj użytkownikowi dostęp użytkownika do users grupy, aby nowi użytkownicy otrzymali ten dostęp automatycznie.

Uwaga / Notatka

Dostosuj nazwy i uprawnienia grup do zasad organizacyjnych i konwencji nazewnictwa. Zawsze testuj zmiany w środowisku nieprodukcyjnym przed zastosowaniem ich szeroko.

Co dalej

Po zmianie domyślnego dostępu do obszaru roboczego warto wykonać następujące zadania: