Pular para o conteúdo principal

Alterar o acesso default workspace para Acesso de Consumidor

info

Visualização

Este recurso está em Pré-visualização Pública.

Esta página explica como os administradores workspace podem alterar o acesso default workspace para novos usuários para acesso de Consumidor, utilizando a clonagem de grupo. Este recurso ajuda você a simplificar a integração de novos clientes em grande escala, mantendo os níveis de acesso adequados para usuários que precisam de privilégios de autoria.

Visão geral

Por default, todo usuário adicionado a um workspace torna-se membro do grupo do sistema users . Normalmente, esse grupo possui permissões de acesso ao espaço de trabalho ou permissões de acesso ao Databricks SQL , que são permissões de autoria que permitem aos usuários criar e modificar objetos workspace .

Para fornecer aos usuários uma experiência de consumidor somente de view , o grupo users deve ter apenas o direito de consumidor. Os direitos são cumulativos, portanto, o acesso de consumidor oferece a experiência simplificada viewsomente quando é o único direito atribuído a um usuário. A clonagem em grupo permite que você faça essa alteração sem interromper os usuários existentes que precisam de privilégios de autoria. Cria um novo grupo para usuários existentes e atualiza o grupo default users para novos usuários.

Para obter mais informações sobre o acesso do consumidor e suas funcionalidades, consulte O que é acesso do consumidor? Para saber mais sobre direitos, consulte gerenciar direitos.

Quando usar este recurso

Utilize este recurso quando:

  • Você deseja que os novos usuários workspace tenham, default acesso somente para Consumidores.
  • É necessário separar os usuários que precisam de privilégios de autoria (acesso ao espaço de trabalho ou Databricks SQL ) dos consumidores que têm permissão apenas view .
  • Você deseja simplificar o processo de integração de clientes em grande escala.

Como funciona a clonagem em grupo

O grupo do sistema users é gerenciado automaticamente pelo Databricks e inclui todos os usuários workspace . Este grupo não pode ser excluído. Para saber mais sobre grupos de sistema, consulte Fontes de grupo.

Ao clonar o grupo users :

  1. Um novo grupo é criado com os mesmos direitos que o grupo users possui atualmente.
  2. Todos os usuários existentes workspace são automaticamente movidos para o grupo clonado, garantindo que mantenham seus níveis de acesso atuais.
  3. O grupo users foi atualizado para ter apenas o direito de consumidor.
  4. Os futuros usuários que forem adicionados ao workspace se tornarão automaticamente membros do grupo users e receberão apenas o direito de Consumidor.

Quando o grupo users contém grupos aninhados que são muito aninhados (grupos que são membros de outros grupos), você pode escolher como lidar com eles:

  • Adicionar todos os membros do grupo diretamente (Recomendado) : Adiciona todos os membros do grupo aninhado diretamente ao grupo clonado. Isso 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.

Requisitos

Para alterar o acesso default workspace , você precisa ser um administrador workspace .

Alterar o acesso default workspace usando a interface do usuário

Para alterar o acesso default ao workspace para acesso de consumidor:

  1. Como administrador do workspace, faça login no workspace do Databricks.

  2. Clique no seu nome de usuário na barra superior do workspace do Databricks e selecione Configurações .

  3. Clique na guia Avançado .

  4. Em Controle de acesso , ao lado de Alterar o acesso default workspace para acesso de consumidor , clique em Abrir .

  5. Na caixa de diálogo, insira um nome para o grupo clonado. Este grupo incluirá todos os usuários existentes que precisam manter seus direitos atuais.

    Alterar o acesso default para acesso de consumidor.

  6. Clique em Criar e clonar grupo .

    O sistema cria o novo grupo e inicia o processo de clonagem. Não feche a janela modal enquanto a clonagem estiver em andamento.

  7. Se o grupo users contiver grupos aninhados que estejam muito profundamente aninhados, você será solicitado a lidar com eles.

    • Selecione "Adicionar todos os membros do grupo diretamente (Recomendado)" para "aplanar" o grupo, adicionando todos os membros do grupo aninhado diretamente ao grupo clonado.
    • Selecione "Excluir este grupo" para ignorar este grupo aninhado.
    • Opcionalmente, selecione Aplicar esta decisão a todos os grupos futuros que excedam o limite de profundidade de aninhamento para usar sua escolha em todos os grupos aninhados futuros durante esta operação.
  8. Em Finalizar o passo: mover permissões de autoria e alterar o acesso default , clique em Concluir .

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

  9. Analise o resumo e clique em Concluído .

    Alterar o acesso default para acesso de consumidor.

Verifique as alterações.

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

  1. Como administrador do workspace, faça login no workspace do Databricks.
  2. Clique no seu nome de usuário na barra superior e selecione Configuraçõ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 usuários que o grupo original users .
    • O grupo users agora possui apenas o direito de Consumidor.

Considerações e melhores práticas

Ao alterar o acesso default workspace considere o seguinte:

  • Impacto nos novos usuários : Depois de alterar o acesso default , todos os novos usuários adicionados ao workspace receberão apenas o direito de Consumidor. Eles podem view e interagir com dashboards, Genie spaces e Databricks Apps compartilhados com eles, mas não podem criar novos objetos workspace . Suas páginas de aterrissagem default Databricks são a página Databricks One. Para obter mais informações, consulte O que é acesso do consumidor? E o que é o Databricks One?

  • Concessão de privilégios de autoria : Quando você precisar conceder privilégios mais elevados a novos usuários, deverá adicioná-los manualmente ao grupo clonado ou atribuir direitos adicionais individualmente. Para obter instruções sobre como gerenciar a participação em grupos, consulte Gerenciar grupos.

  • Revertendo as alterações : Se você precisar reverter esta configuração, conceda novamente os direitos de acesso ao espaço de trabalho e Databricks SQL ao grupo users . Os novos usuários recebem esses direitos por default. Você pode manter ou excluir o grupo clonado, dependendo se ainda precisa dele para organizar os usuários.

  • Coordenação com provedores de identidade : Se você usa provisionamento SCIM ou gerenciamento automático de identidade para sincronizar usuários e grupos, coordene essa alteração com seus processos de gerenciamento de identidade. Consulte Sincronizar usuários e grupos do seu provedor de identidade usando SCIM.

Automatize a clonagem de grupos usando o SDK.

Para operações em massa ou automação em vários espaços de trabalho, você pode usar o SDK Databricks para Python para automatizar o processo de clonagem em grupo. Este método é útil quando você precisa aplicar a mesma configuração em vários espaços de trabalho ou integrar a clonagem de grupos ao fluxo de trabalho Infrastructure-as-Code .

O seguinte script Python automatiza a duplicação do grupo users e atribui os direitos apropriados. Ele usa o SDK Databricks para Python e requer uma entidade de serviço com privilégios de administrador tanto para a account quanto para o workspace, autenticada usando OAuth. Consulte Autorizar o acesso do usuário ao Databricks com OAuth.

Pré-requisitos

  • entidade de serviço com direitos de administrador
  • variável de ambiente definida:
    • DATABRICKS_ACCOUNT_ID (UUID da URL do console account )
    • DATABRICKS_WORKSPACE_ID (ID numérico da URL workspace )
    • DATABRICKS_CLIENT_ID (ID do cliente da entidade de serviço)
    • DATABRICKS_CLIENT_SECRET (segredo da entidade de serviço do cliente)

Script de exemplo

Python

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.gcp.databricks.com"

# 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)

Após executar o script para duplicar seus grupos existentes e reatribuir permissões, conceda acesso de Consumidor ao grupo users para que novos usuários recebam esse acesso automaticamente.

nota

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

O que vem a seguir?

Após alterar o acesso default workspace , você pode querer: