Partilhar via


Alterar o acesso predefinido ao espaço de trabalho para Acesso do Consumidor

Importante

Este recurso está no Public Preview.

Esta página explica como os administradores de espaços de trabalho podem mudar o acesso padrão do espaço de trabalho para novos utilizadores para acesso de consumidor, utilizando clonagem de grupos. Esta funcionalidade ajuda-o a simplificar a integração do consumidor em grande escala, mantendo níveis de acesso adequados para utilizadores que necessitam de privilégios de autoria.

Visão geral

Por defeito, cada utilizador adicionado a um espaço de trabalho torna-se membro do grupo do sistema users . Este grupo normalmente tem direitos de acesso ao Workspace ou direitos de acesso ao Databricks SQL, que são credenciais de autoria que permitem aos utilizadores criar e modificar objetos do workspace.

Para proporcionar aos utilizadores uma experiência de Consumidor apenas visual, o users grupo deve ter apenas o direito ao Consumidor. Os direitos são aditivos, por isso o acesso ao consumidor oferece a experiência simplificada apenas de visualização quando é o único direito atribuído ao utilizador. A clonagem em grupo permite-lhe fazer esta alteração sem perturbar os utilizadores existentes que precisam de privilégios de autoria. Cria um novo grupo para utilizadores existentes e atualiza o grupo predefinido users para novos utilizadores.

Para mais informações sobre o acesso do consumidor e as suas capacidades, consulte O que é o acesso do consumidor?. Para saber mais sobre direitos adquiridos, consulte Gestão de prestações.

Quando usar esta funcionalidade

Utilize esta funcionalidade quando:

  • Quer que os novos utilizadores do espaço de trabalho tenham por predefinição apenas acesso de consumidor.
  • É necessário separar os utilizadores que precisam de privilégios de autoria (acesso SQL no Workspace ou Databricks) dos consumidores apenas em visualização.
  • Quer otimizar a integração de clientes em grande escala.

Como funciona a clonagem em grupo

O grupo de sistemas users é gerido automaticamente pelo Azure Databricks e inclui todos os utilizadores do espaço de trabalho. Este grupo não pode ser eliminado. Para saber mais sobre grupos de sistemas, consulte Fontes de grupo.

Quando clonas o users grupo:

  1. É criado um novo grupo com os mesmos direitos que o users grupo tem atualmente.
  2. Todos os utilizadores existentes do espaço de trabalho são automaticamente transferidos para o grupo clonado, garantindo que mantêm os seus níveis de acesso atuais.
  3. O users grupo foi atualizado para ter apenas permissões de consumidor.
  4. Os futuros utilizadores que forem adicionados ao espaço de trabalho tornam-se automaticamente membros do grupo users e recebem apenas a atribuição de consumidor.

Quando o users grupo contém grupos aninhados que estão demasiado profundamente aninhados (grupos que são membros de outros grupos), pode escolher como os tratar:

  • Adicionar todos os membros do grupo diretamente (Recomendado): Adiciona todos os membros do grupo aninhado diretamente ao grupo clonado. Isto simplifica a estrutura do grupo.
  • Excluir: Ignora completamente o grupo aninhado. Os membros do grupo aninhado excluído não são adicionados ao grupo clonado.

Requerimentos

Para alterar o acesso padrão ao espaço de trabalho, tens de ser administrador do espaço de trabalho.

Alterar o acesso predefinido ao espaço de trabalho usando a interface de utilizador

Para alterar o acesso padrão ao espaço de trabalho para o acesso do consumidor:

  1. Como administrador do espaço de trabalho, faça logon no espaço de trabalho do Azure Databricks.

  2. Clique no seu nome de utilizador na barra superior da área de trabalho do Azure Databricks e selecione Definições.

  3. Clique na guia Avançado .

  4. Em controlo de acesso, ao lado de Alterar o acesso padrão do espaço de trabalho ao acesso do consumidor, clique em Abrir.

  5. No diálogo, introduza um nome para o grupo clonado. Este grupo incluirá todos os utilizadores existentes que precisam de manter os seus direitos atuais.

    Alterar o acesso predefinido para o acesso ao consumidor.

  6. Clica em Criar e clonar grupo.

    O sistema cria o novo grupo e inicia o processo de clonagem. Não feche o modal enquanto a clonagem está em curso.

  7. Se o users grupo contiver grupos aninhados que estão demasiado profundamente aninhados, é aconselhado a lidar com eles.

    • Selecione Adicionar todos os membros do grupo diretamente (Recomendado) para simplificar o grupo, adicionando todos os membros do grupo hierárquico diretamente ao grupo clonado.
    • Selecione Excluir este grupo para saltar este grupo aninhado.
    • Opcionalmente, selecione Aplicar esta decisão a todos os grupos futuros que excedam o limite de profundidade de aninhamento para usar a sua escolha para todos os grupos aninhados futuros durante esta operação.
  8. No passo final: mover as permissões de autoria e alterar o acesso predefinido, clique em Terminar.

    O sistema atualiza o users grupo para ter apenas direitos de Consumidor e atribui os direitos originais ao grupo clonado.

  9. Veja o resumo e clique em Feito.

    Alterar o acesso predefinido para acesso ao consumidor.

Verificar as alterações

Após concluir o processo, verifique se as alterações foram aplicadas corretamente:

  1. Como administrador do espaço de trabalho, faça logon no espaço de trabalho do Azure Databricks.
  2. Clique no seu nome de utilizador na barra superior e selecione Definições.
  3. Clique na guia Identidade e acesso .
  4. Ao lado de Grupos, clique em Gerenciar.
  5. Verifique o seguinte:
    • O grupo clonado existe e tem o mesmo número de utilizadores que o grupo original users .
    • O users grupo tem agora apenas o direito ao consumidor.

Considerações e melhores práticas

Considere o seguinte ao alterar o acesso padrão ao espaço de trabalho:

  • Impacto nos novos utilizadores: Depois de alterar o acesso predefinido, todos os novos utilizadores adicionados ao espaço de trabalho recebem apenas o direito do consumidor. Podem visualizar e interagir com painéis, espaços Genie e aplicações Databricks partilhadas com eles, mas não conseguem criar novos objetos de espaço de trabalho. A página inicial padrão do Databricks é a página Databricks One. Para mais informações, consulte O que é o acesso do consumidor? e O que é o Databricks One?.

  • Conceder privilégios de autoria: Quando precisar de conceder privilégios superiores a novos utilizadores, deve adicioná-los manualmente ao grupo clonado ou atribuir direitos adicionais individualmente. Para instruções sobre como gerir a pertença a grupos, consulte Gerir grupos.

  • Reverter as alterações: Se precisar de reverter esta configuração, conceda de novo os direitos de acesso ao Workspace e os direitos de acesso ao SQL do Databricks ao grupo users. Os novos utilizadores recebem estas permissões por defeito. Podes manter ou eliminar o grupo clonado dependendo se ainda precisas dele para organizar os utilizadores.

  • Coordenação com fornecedores de identidade: Se utilizar provisionamento SCIM ou gestão automática de identidade para sincronizar utilizadores e grupos, coordene esta alteração com os seus processos de gestão de identidade. Veja Sincronizar utilizadores e grupos do Microsoft Entra ID usando SCIM.

Automatizar clonagem de grupos usando o SDK

Para operações em massa ou automação em múltiplos espaços de trabalho, pode usar o Databricks SDK para Python para automatizar o processo de clonagem de grupos. Este método é útil quando precisa de aplicar a mesma configuração em múltiplos espaços de trabalho ou integrar clonagem de grupos em fluxos de trabalho de infraestrutura como código.

O script Python seguinte automatiza a duplicação do users grupo e atribui os direitos apropriados. Usa o SDK Databricks para Python e requer um principal de serviço com privilégios de administrador tanto para a conta como para o espaço de trabalho, autenticado através de OAuth. Consulte Autorizar o acesso do usuário ao Azure Databricks com OAuth.

Pré-requisitos

  • Principal de serviço com direitos de administrador
  • Conjunto de variáveis de ambiente:
    • DATABRICKS_ACCOUNT_ID (UUID do URL do console da conta)
    • DATABRICKS_WORKSPACE_ID (ID numérico do URL do espaço de trabalho)
    • DATABRICKS_CLIENT_ID (ID do cliente principal do serviço)
    • DATABRICKS_CLIENT_SECRET (segredo do cliente principal do serviço)

Exemplo de script


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)

Depois de executar o script para duplicar os seus grupos existentes e reatribuir permissões, conceda ao Consumidor acesso ao users grupo para que novos utilizadores recebam automaticamente esse acesso.

Observação

Ajuste os nomes dos grupos e as autorizações de acordo com as políticas e convenções de nomenclatura da sua organização. Sempre teste as alterações em um ambiente de não produção antes de aplicá-las amplamente.

O que vem por aí

Depois de alterar o acesso padrão ao espaço de trabalho, poderá querer: