Dela via


Ändra standardåtkomsten för arbetsytan till konsumentåtkomst

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Den här sidan förklarar hur arbetsyteadministratörer kan ändra standardåtkomsten för arbetsytor för nya användare till Konsumentåtkomst med hjälp av gruppkloning. Den här funktionen hjälper dig att effektivisera konsumentregistrering i stor skala samtidigt som lämpliga åtkomstnivåer bibehålls för användare som behöver redigeringsbehörighet.

Översikt

Som standard blir varje användare som läggs till i en arbetsyta medlem i systemgruppen users . Den här gruppen har vanligtvis åtkomst till arbetsytan eller Databricks SQL-åtkomsträttigheter, som skapar rättigheter som gör det möjligt för användare att skapa och ändra arbetsyteobjekt.

För att ge användarna en visningsbaserad konsumentupplevelse users måste gruppen endast ha konsumenträttigheter. Berättiganden är additiva, så konsumentåtkomst ger den förenklade visningsupplevelsen endast när det är den enda rättigheten som tilldelats en användare. Med gruppkloning kan du göra den här ändringen utan att störa befintliga användare som behöver redigeringsprivilegier. Den skapar en ny grupp för befintliga användare och uppdaterar standardgruppen users för nya användare.

Mer information om konsumentåtkomst och dess funktioner finns i Vad är konsumentåtkomst?. Mer information om berättiganden finns i Hantera rättigheter.

När du ska använda den här funktionen

Använd den här funktionen när:

  • Du vill att nya arbetsyteanvändare endast ska ha konsumentåtkomst som standard.
  • Du måste separera användare som behöver redigeringsbehörighet (arbetsyta eller Databricks SQL-åtkomst) från visningsanvändare.
  • Du vill effektivisera konsumentregistrering i stor skala.

Så här fungerar gruppkloning

Systemgruppen users hanteras automatiskt av Azure Databricks och omfattar alla arbetsyteanvändare. Det går inte att ta bort den här gruppen. Mer information om systemgrupper finns i Gruppkällor.

När du klonar users gruppen:

  1. En ny grupp skapas med samma rättigheter som gruppen users för närvarande har.
  2. Alla befintliga arbetsyteanvändare flyttas automatiskt till den klonade gruppen, vilket säkerställer att de behåller sina aktuella åtkomstnivåer.
  3. Gruppen users uppdateras till att ha endast behörighet för konsumenter.
  4. Framtida användare som läggs till på arbetsytan blir automatiskt medlemmar i users gruppen och får endast konsumenträttigheter.

När gruppen users innehåller kapslade grupper som är för djupt kapslade (grupper som är medlemmar i andra grupper) kan du välja hur de ska hanteras:

  • Lägg till alla gruppmedlemmar direkt (rekommenderas): Lägger till alla medlemmar i den kapslade gruppen direkt till den klonade gruppen. Detta förenklar gruppstrukturen.
  • Exkludera: Hoppar över den kapslade gruppen helt. Medlemmar i den exkluderade kapslade gruppen läggs inte till i den klonade gruppen.

Kravspecifikation

Om du vill ändra standardåtkomsten till arbetsytan måste du vara administratör för arbetsytan.

Ändra standardåtkomst för arbetsytor med hjälp av användargränssnittet

Så här ändrar du standardåtkomsten för arbetsytan till konsumentåtkomst:

  1. Som arbetsyteadministratör loggar du in på Azure Databricks-arbetsytan.

  2. Klicka på ditt användarnamn i det övre fältet på Azure Databricks-arbetsytan och välj Inställningar.

  3. Klicka på fliken Avancerat .

  4. Under Åtkomstkontroll klickar du på Öppna bredvid Ändra standardåtkomst för arbetsytor till konsumentåtkomst.

  5. I dialogrutan anger du ett namn för den klonade gruppen. Den här gruppen innehåller alla befintliga användare som behöver behålla sina aktuella rättigheter.

    Ändra standardåtkomst till konsumentåtkomst.

  6. Klicka på Skapa och klona grupp.

    Systemet skapar den nya gruppen och påbörjar kloningsprocessen. Stäng inte modalen medan kloning pågår.

  7. Om gruppen users innehåller kapslade grupper som är för djupt kapslade uppmanas du att hantera dem.

    • Välj Lägg till alla gruppmedlemmar direkt (rekommenderas) för att platta ut gruppen genom att lägga till alla medlemmar i den kapslade gruppen direkt i den klonade gruppen.
    • Välj Exkludera den här gruppen om du vill hoppa över den här kapslade gruppen.
    • Du kan också välja Tillämpa det här beslutet på alla framtida grupper som överskrider kapslingsdjupgränsen för att använda ditt val för alla framtida kapslade grupper under den här åtgärden.
  8. I det sista steget: flytta redigeringsbehörigheter och ändra standardåtkomst klickar du på Slutför.

    Systemet uppdaterar gruppen så att den users endast har konsumenträttigheter och tilldelar de ursprungliga rättigheterna till den klonade gruppen.

  9. Granska sammanfattningen och klicka på Klar.

    Ändra standardåtkomst till konsumentåtkomst.

Verifiera ändringarna

När du har slutfört processen kontrollerar du att ändringarna har tillämpats korrekt:

  1. Som arbetsyteadministratör loggar du in på Azure Databricks-arbetsytan.
  2. Klicka på ditt användarnamn i det övre fältet och välj Inställningar.
  3. Klicka på fliken Identitet och åtkomst .
  4. Bredvid Grupper klickar du på Hantera.
  5. Kontrollera följande:
    • Den klonade gruppen finns och har samma antal användare som den ursprungliga users gruppen.
    • Gruppen users har nu endast konsumenträttigheter.

Överväganden och metodtips

Tänk på följande när du ändrar standardåtkomsten till arbetsytan:

  • Påverkan på nya användare: När du har ändrat standardåtkomsten får alla nya användare som läggs till på arbetsytan endast konsumenträttigheter. De kan visa och interagera med instrumentpaneler, Genie-utrymmen och Databricks-appar som delas med dem, men de kan inte skapa nya arbetsyteobjekt. Deras standarddatabricks-landningssida är Databricks One-sidan. Mer information finns i Vad är konsumentåtkomst? och Vad är Databricks One?.

  • Bevilja redigeringsbehörigheter: När du behöver bevilja nya användare högre behörigheter måste du lägga till dem i den klonade gruppen manuellt eller tilldela ytterligare rättigheter individuellt. Anvisningar om hur du hanterar gruppmedlemskap finns i Hantera grupper.

  • Återställ ändringarna: Om du behöver återställa den här konfigurationen beviljar du åtkomst till arbetsytan och Databricks SQL-åtkomsträttigheter tillbaka till users gruppen. Nya användare får sedan dessa rättigheter som standard. Du kan behålla eller ta bort den klonade gruppen beroende på om du fortfarande behöver den för att organisera användare.

  • Samordning med identitetsprovidrar: Om du använder SCIM-etablering eller automatisk identitetshantering för att synkronisera användare och grupper samordnar du den här ändringen med dina identitetshanteringsprocesser. Se Synkronisera användare och grupper från Microsoft Entra-ID med SCIM.

Automatisera gruppkloning med hjälp av SDK

För massåtgärder eller automatisering på flera arbetsytor kan du använda Databricks SDK för Python för att automatisera kloningsprocessen för grupper. Den här metoden är användbar när du behöver tillämpa samma konfiguration på flera arbetsytor eller integrera gruppkloning i arbetsflöden för infrastruktur som kod.

Följande Python-skript automatiserar duplicering av users gruppen och tilldelar lämpliga rättigheter. Den använder Databricks SDK för Python och kräver ett huvudnamn för tjänsten med administratörsbehörighet för både kontot och arbetsytan, autentiserad med OAuth. Se Auktorisera användaråtkomst till Azure Databricks med OAuth.

Förutsättningar

  • Tjänstens huvudnamn med administratörsbehörighet
  • Uppsättning miljövariabler:
    • DATABRICKS_ACCOUNT_ID (UUID från kontokonsolens URL)
    • DATABRICKS_WORKSPACE_ID (numeriskt ID från arbetsytans URL)
    • DATABRICKS_CLIENT_ID (klient-ID för tjänstens huvudnamn)
    • DATABRICKS_CLIENT_SECRET (klienthemlighet för tjänstens huvudkonto)

Exempelskript


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)

När du har kört skriptet för att duplicera dina befintliga grupper och omtilldela behörigheter beviljar du konsumentåtkomst till gruppen så att nya användare beviljas den åtkomsten users automatiskt.

Anmärkning

Justera gruppnamn och rättigheter för organisationens policyer och namngivningskonventioner. Testa alltid ändringar i en icke-produktionsmiljö innan du tillämpar dem brett.

Vad händer härnäst

När du har ändrat standardåtkomsten till arbetsytan kanske du vill: