Atribuir recursos de computação a um grupo
Importante
Esse recurso está em uma versão prévia.
Este artigo explica como criar um recurso de computação atribuído a um grupo usando o modo de acesso Dedicado.
O modo de acesso de grupo dedicado permite que os usuários obtenham a eficiência operacional de um cluster de modo de acesso padrão, ao mesmo tempo em que dão suporte a idiomas e cargas de trabalho que não têm suporte no modo de acesso padrão, como Databricks Runtime para ML, Biblioteca de Machine Learning do Spark (MLlib), APIs RDD e R.
Ao habilitar a Visualização Pública do cluster de grupo dedicado, seu espaço de trabalho também terá acesso à nova interface simplificada de usuário para computação. Essa nova interface do usuário atualiza os nomes dos modos de acesso e simplifica as configurações de computação. Consulte Usar o formulário simples para gerenciar a computação.
Requisitos
Para usar o modo de acesso de grupo dedicado:
- Um administrador de workspace precisa habilitar a pré-visualização de Computação: clusters de grupo dedicados usando a interface do usuário de pré-visualizações. Consulte Gerenciar Versões Prévias do Azure Databricks.
- O workspace deve ser habilitado para o Unity Catalog.
- Você deve usar o Databricks Runtime 15.4 ou superior.
- O grupo atribuído precisa ter permissões de
CAN MANAGE
em uma pasta de workspace para armazenarem notebooks, experimentos de ML e outros artefatos de workspace usados pelo cluster de grupo.
O que é o modo de acesso dedicado?
O modo de acesso dedicado é a versão mais recente do modo de acesso de usuário único. Com o acesso dedicado, um recurso de computação pode ser atribuído a um único usuário ou grupo, permitindo apenas que os usuários atribuídos usem o recurso de computação.
Quando um usuário está conectado a um recurso de computação dedicado a um grupo (um cluster de grupo), as permissões do usuário reduzem automaticamente os escopos para as permissões do grupo, permitindo que o usuário compartilhe com segurança o recurso com os outros membros do grupo.
Criar um recurso de computação dedicado a um grupo
- No workspace do Azure Databricks, vá para Computação e clique em Criar computação.
- Expanda a seção Avançado.
- Em Modo de acesso, clique em Manual e, em seguida, selecione Dedicado (anteriormente: Usuário único) no menu suspenso.
- No campo Único usuário ou grupo, selecione o grupo que você deseja atribuir a esse recurso.
- Defina as outras configurações de computação desejadas e clique em Criar.
Práticas recomendadas para gerenciar clusters de grupo
Como as permissões de usuário são limitadas ao escopo do grupo ao usar clusters de grupo, a Databricks recomenda criar uma pasta /Workspace/Groups/<groupName>
para cada grupo que você planeja usar com um cluster de grupo. Em seguida, atribua permissões de CAN MANAGE
na pasta ao grupo. Isso permite que os grupos evitem erros de permissão. Todos os blocos de anotações e os ativos de espaço de trabalho do grupo devem ser gerenciados na pasta do grupo.
Você também deve modificar as seguintes cargas de trabalho para serem executadas em clusters de grupo:
- MLflow: verifique se você executa o notebook na pasta de grupo ou execute
mlflow.set_tracking_uri("/Workspace/Groups/<groupName>")
. - AutoML: Defina o parâmetro opcional
experiment_dir
para“/Workspace/Groups/<groupName>”
em suas execuções do AutoML. dbutils.notebook.run
: Verifique se o grupo tem permissãoREAD
no notebook sendo executado.
Permissões de grupo de exemplo
Quando você cria um objeto de dados usando o cluster de grupo, o grupo é atribuído como proprietário do objeto.
Por exemplo, se você tiver um notebook anexado a um cluster de grupo e executar o seguinte comando:
use catalog main;
create schema group_cluster_group_schema;
Em seguida, execute esta consulta para verificar o proprietário do esquema:
describe schema group_cluster_group_schema;
Atividade de computação dedicada do grupo de auditoria
Há duas identidades principais envolvidas quando um cluster de grupo executa uma carga de trabalho:
- O usuário que está executando a carga de trabalho no cluster de grupo
- O grupo cujas permissões são usadas para executar as ações reais da carga de trabalho
A tabela do sistema de log de auditoria registra essas identidades nos seguintes parâmetros:
identity_metadata.run_by
: o usuário de autenticação que executa a açãoidentity_metadata.run_as
: o grupo autorizador cujas permissões são usadas para a ação.
A consulta de exemplo a seguir extrai os metadados de identidade para uma ação executada com o cluster de grupo:
select action_name, event_time, user_identity.email, identity_metadata
from system.access.audit
where user_identity.email = "uc-group-cluster-group" AND service_name = "unityCatalog"
order by event_time desc limit 100;
Veja a referência da tabela do sistema de log de auditoria para obter mais consultas de exemplo. Confira Tabela de referência do sistema de logs de auditoria.
Problemas conhecidos
- Arquivos e pastas de workspace criados a partir de clusters de grupo resultam no proprietário do objeto atribuído como
Unknown
. Isso faz com que as operações subsequentes nesses objetos, comoread
,write
edelete
, falhem com erros de permissão negada.
Limitações
A visualização pública do modo de acesso de grupo dedicado tem as seguintes limitações conhecidas:
- As tabelas do sistema de linhagem não registram as identidades
identity_metadata.run_as
(o grupo autorizador) ouidentity_metadata.run_by
(o usuário de autenticação) para cargas de trabalho em execução em um cluster de grupo. - Os logs de auditoria entregues ao armazenamento do cliente não registram as identidades
identity_metadata.run_as
(o grupo autorizado) ouidentity_metadata.run_by
(o usuário de autenticação) para cargas de trabalho em execução em um cluster de grupo. Você deve usar a tabelasystem.access.audit
para exibir os metadados de identidade. - Quando anexado a um cluster de grupo, o Gerenciador de Catálogos não filtra por ativos acessíveis somente ao grupo.
- Os gerentes de grupo que não são membros do grupo não podem criar, editar ou excluir clusters de grupo. Somente administradores de workspace e membros do grupo podem fazer isso.
- Se um grupo for renomeado, você deverá atualizar manualmente todas as políticas de computação que façam referência ao nome do grupo.
- Não há suporte para clusters de grupo em áreas de trabalho com ACLs desabilitadas (isWorkspaceAclsEnabled == false) devido à falta inerente de controles de segurança e acesso a dados quando as ACLs da área de trabalho estão desabilitadas.
- O comando
%run
atualmente usa as permissões do usuário em vez das permissões do grupo quando executado em um cluster de grupo. Alternativas comodbutils.notebook.run()
usam corretamente as permissões do grupo.