Práticas recomendadas para espaços de trabalho compartilhados

As recomendações a seguir detalham como os administradores podem planejar, configurar e manter os espaços de trabalho compartilhados com eficácia.

Planejamento e configuração de espaços de trabalho compartilhados

Os espaços de trabalho compartilhados são criados como objetos no nível do esquema em um banco de dados padrão e seguem o modelo de controle de acesso com base em função (Role-Based Access Control, RBAC) existente do Snowflake.

Para criar um espaço de trabalho compartilhado, os usuários devem ser proprietários do esquema de destino ou ter os seguintes privilégios:

  • USAGE no banco de dados e no esquema

  • CREATE WORKSPACE no esquema

Concessão de privilégios de criação

  1. Como administrador, para conceder os privilégios necessários no nível do esquema a um usuário, execute o seguinte comando:

    GRANT USAGE ON DATABASE <database_name>.<schema_name> TO ROLE <role_name>;
    GRANT CREATE WORKSPACE ON SCHEMA <database_name>.<schema_name> TO ROLE <role_name>;
    
    Copy

Comandos de gerenciamento de espaço de trabalho

Use os seguintes comandos para monitorar e gerenciar o acesso aos espaços de trabalho compartilhados existentes:

Ação

Sintaxe

Listar todos os espaços de trabalho

SHOW WORKSPACES IN ACCOUNT;

Exibir as permissões do espaço de trabalho

SHOW GRANTS ON WORKSPACE <workspace_name>;

Conceder permissões de edição

GRANT WRITE ON WORKSPACE <workspace_name> TO ROLE <role_name>;

Revogar permissões de edição

REVOKE WRITE ON WORKSPACE <workspace_name> FROM ROLE <role_name>;

Exemplo

GRANT WRITE ON WORKSPACE my_workspace;

REVOKE WRITE ON WORKSPACE my_workspace;
Copy

Práticas recomendadas de governança

Ao habilitar espaços de trabalho compartilhados em sua conta, considere as seguintes práticas recomendadas:

  • Planejamento intencional: alinhe os espaços de trabalho compartilhados a equipes, projetos ou casos de uso específicos. Espaços de trabalho bem definidos e em menor número reduzem a sobrecarga e a confusão para o usuário.

  • Limitação dos privilégios de criação: restrinja os privilégios CREATE WORKSPACE às funções de administrador designadas e os proprietários de esquema. A concessão ampla desse privilégio pode levar a duplicação desnecessária ou expansão do espaço de trabalho.

  • Monitoramento do ciclo de vida do espaço de trabalho: revise periodicamente os espaços de trabalho compartilhados existentes e desative os que estão obsoletos ou não são utilizados. Estabeleça um processo de revisão simples (por exemplo, trimestral) para garantir que apenas os espaços de trabalho ativos e relevantes permaneçam disponíveis.

Modelos organizacionais

Os administradores podem estruturar espaços de trabalho compartilhados de diferentes maneiras, dependendo do modelo de colaboração da organização.

Hub de colaboração centralizado

Um único banco de dados e um esquema dedicado aos espaços de trabalho compartilhados para todas as equipes oferecem um local consistente para a colaboração entre equipes.

Exemplo de configuração

CREATE DATABASE IF NOT EXISTS SHARED_WORKSPACES_DB;
CREATE SCHEMA IF NOT EXISTS SHARED_WORKSPACES_SCHEMA;

GRANT USAGE ON DATABASE SHARED_WORKSPACES_DB.SHARED_WORKSPACES_SCHEMA TO ROLE WORKSPACES_STEWARDS;
GRANT CREATE WORKSPACE ON SCHEMA SHARED_WORKSPACES_DB.SHARED_WORKSPACES_SCHEMA TO ROLE WORKSPACES_STEWARDS;
Copy

Espaços de trabalho com escopo da equipe

Cada equipe tem o próprio banco de dados ou esquema e gerencia os espaços de trabalho compartilhados dentro do escopo. Esse modelo é ideal para organizações que já alinham bancos de dados e funções por departamento, disciplina ou unidade de negócios.

Abordagem híbrida

Use um esquema central combinado para projetos entre equipes ou de alta visibilidade com esquemas específicos da equipe para colaboração diária. Esse modelo equilibra flexibilidade com governança centralizada e capacidade de descoberta.

Considerações sobre design de função e gerenciamento de acesso

  • Os espaços de trabalho compartilhados só podem ser compartilhados com funções (não com usuários individuais).

  • A maioria das organizações pode usar as funções existentes para gerenciar o acesso. Evite criar novas funções apenas para espaços de trabalho compartilhados, a menos que seja necessário.

Práticas recomendadas

  • Use funções existentes que já representam uma associação ou função da equipe.

  • Atribua uma função de administrador designada responsável por gerenciar o acesso e manter a estrutura do local de trabalho.

Adoção e manutenção

  • Convenções de nomeação: para melhorar a capacidade de descoberta, use padrões claros e consistentes, como TEAM_PROJECT_NAME.

  • Propriedade: atribua uma função de administrador ou proprietário a cada espaço de trabalho compartilhado para garantir a responsabilidade.

  • Documentação: mantenha um diretório interno ou wiki que lista os espaços de trabalho compartilhados ativos e a finalidade pretendida deles.

  • Consistência: incentive os usuários a mudar dos espaços de trabalho privados para compartilhados quando o código ou as consultas estiverem prontas para colaboração.

  • Revisão regular: faça auditorias periódicas de funções, esquemas e espaços de trabalho compartilhados para garantir que permaneçam alinhados às políticas organizacionais e estruturas de equipe.