Gerenciamento de usuários e acesso a salas limpas¶
Visão geral¶
Este tópico descreve como um administrador de conta de salas limpas gerencia o acesso do usuário à API e à UI de salas limpas.
As salas limpas definem várias funções de aplicativo que permitem o acesso à API e a várias subseções da UI. O acesso à UI e à API de salas limpas é concedido separadamente. Normalmente, o administrador da conta cria uma função personalizada, concede as funções de aplicativo desejadas para permitir acesso detalhado à UI e à API e, em seguida, concede a função a vários usuários nessa conta.
Essa estratégia usa o modelo de controle de acesso baseado em função (role-based access control, RBAC) do Snowflake para delegar privilégios adequadamente aos usuários e colaboradores da sala limpa nas respectivas contas. Para obter mais informações sobre RBAC, consulte Visão geral do controle de acesso. Para ver quais usuários receberam uma função específica, execute o seguinte comando SQL:
Dica
Este tópico usa os seguintes termos:
Usuários de sala limpa: Usuários que receberam acesso à UI ou à API de salas limpas na conta Snowflake.
Colaboradores de sala limpa: Consumidores convidados a ingressar em uma sala limpa pelo provedor da sala limpa. Um colaborador também é um usuário de sala limpa, ou seja, ele deve ter acesso à UI ou à API de salas limpas para poder aceitar um convite e usar a sala limpa.
Gerenciamento do acesso à UI de salas limpas¶
Um administrador concede acesso à UI de salas limpas em uma conta Snowflake, atribuindo as funções apropriadas, direta ou indiretamente. O administrador também deve atribuir um warehouse padrão e conceder privilégios USAGE nele aos usuários da UI.
As seguintes funções concedem permissão para gerenciar ou acessar a UI de salas limpas:
ACCOUNTADMIN: função usada para instalar ou desinstalar o ambiente de salas limpas. Essa função também permite o acesso à página Snowflake Admin na UI de salas limpas. Os administradores de conta usam essa página para gerenciar o usuário de serviço e os recursos da conta, como preenchimento automático entre nuvens, tabelas externas e Iceberg e registro de conjunto de dados para usuários da UI. Essa função tem todos os privilégios da UI de salas limpas. Um usuário que faz execuções como ACCOUNTADMIN não precisa de outras funções de aplicativo da UI.
MANAGE_CLEANROOMS: função de aplicativo que permite criar, atualizar, excluir e instalar salas limpas, bem como criar, atualizar, excluir e executar análises na UI de salas limpas.
MANAGE_DCR_PROFILE_AND_FEATURES: função de aplicativo que fornece acesso à página Profile & Features na seção Admin da UI, em que é possível gerenciar o perfil da empresa e controlar os conectores de terceiro que podem ser usados em salas limpas.
MANAGE_DCR_CONNECTORS: função de aplicativo que fornece acesso à página Connectors na UI, em que é possível configurar conectores de terceiro.
MANAGE_DCR_COLLABORATORS: função de aplicativo que fornece acesso à página Collaborators na UI, em que é possível gerenciar a lista de colaboradores aprovados disponíveis para provedores de sala limpa na UI. Essa função não controla a lista de colaboradores disponíveis para os provedores ao usar a API. Os usuários da API podem convidar qualquer pessoa para colaborar. Para obter mais informações, consulte Gerencie os colaboradores da clean room.
Exemplo
O código a seguir mostra como criar uma função personalizada, conceder a ela vários recursos da UI e, em seguida, conceder a função personalizada a um usuário.
Gerenciamento de usuários de API¶
O acesso à API é gerenciado por meio de funções. As seguintes funções do Snowflake são usadas para acessar ou gerenciar a API:
ACCOUNTADMIN: a função usada para instalar ou desinstalar o ambiente de salas limpas. Essa função não inclui SAMOOHA_APP_ROLE. Para usar a API, você deve usar SAMOOHA_APP_ROLE.
SAMOOHA_APP_ROLE: essa função concede permissão total à API de salas limpas nesta conta. (Essa função é usada pela UI de salas limpas para se comunicar com a API.)
Função de desenvolvedor somente execução: alguém que usa SAMOOHA_APP_ROLE pode conceder o uso em uma função de acesso limitado. Essa função, também chamada de função de execução, concede permissão para usar um subconjunto de procedimentos da API em um subconjunto de salas limpas no contexto do consumidor. Essas funções limitadas podem ser concedidas a funções para permitir o uso com escopo em sua conta para usuários específicos, como analistas de dados.
Conceda ou revogue o acesso completo à API¶
A função SAMOOHA_APP_ROLE concede a um usuário acesso completo à API a todas as salas limpas em uma conta Snowflake. Essa função pode ser utilizada em todos os warehouses instalados com salas limpas.
Conceda acesso total à API:
Revogue o acesso total à API:
Conceder acesso limitado à API (funções de execução)¶
Você pode conceder acesso limitado à API a salas limpas especificadas em sua conta. O acesso limitado concede a capacidade de chamar apenas um subconjunto de procedimentos de consumidor, como consumer.run_analysis, mas não a capacidade de instalar, criar, ingressar ou modificar uma sala limpa. Esse nível de acesso às vezes é chamado de função de execução, porque envolve a criação de uma função com acesso limitado à API e a concessão dessa função aos usuários.
Veja a seguir como conceder acesso limitado a um usuário:
Um usuário que pode conceder a função SAMOOHA_APP_ROLE cria uma nova função e atribui funcionalidade limitada a essa função. A função também deve receber a permissão de USAGE em quaisquer warehouses que serão utilizados para acessar as salas limpas.
Em seguida, o usuário usa sua função limitada para executar ações específicas na conta da clean room:
Revogue o acesso limitado à API¶
Para revogar os privilégios de execução em uma sala limpa específica de uma determinada função, chame revoke_run_on_cleanrooms_from_role.
Para revogar todos os privilégios de execução concedidos de um único usuário, revogue a função do usuário.
Gerencie os colaboradores da clean room¶
Colaboradores são usuários convidados a ingressar em uma sala limpa como consumidores por um provedor da sala limpa.
Ao usar a UI de salas limpas, os criadores podem convidar colaboradores de uma lista gerenciada por alguém com a função MANAGE_DCR_COLLABORATORS.
Ao usar a API de salas limpas, os provedores não são limitados por uma lista predefinida de colaboradores e podem adicionar qualquer colaborador de sala limpa pelo localizador da conta Snowflake. Se você quiser convidar um colaborador sem uma conta Snowflake, primeiro você deve criar uma conta gerenciada de sala limpa para ele. Lembre-se de que você está convidando uma conta para colaborar, não um usuário individual. Qualquer usuário com acesso às salas limpas na conta convidada pode ingressar e usar a sala limpa.
Nota
Se um colaborador do Snowflake tiver uma conta em uma região diferente da sua conta Snowflake, o administrador da sua conta deverá ativar o preenchimento automático entre nuvens antes que você possa adicioná-lo como colaborador.
Para gerenciar a lista de colaboradores usada na UI de salas limpas, você precisa da função MANAGE_DCR_COLLABORATORS.
Navegue até a página de login do Snowflake Data Clean Rooms.
Na navegação da esquerda, selecione Collaborators.
Faça uma das seguintes opções:
Se o colaborador tiver uma conta Snowflake, selecione Snowflake Partners » + Snowflake Partner. Responda às solicitações para inserir os detalhes da conta Snowflake do colaborador.
Se o colaborador não for um cliente Snowflake:
Você pode entrar em contato com o Suporte Snowflake para conceder a você a capacidade de criar uma conta gerenciada.
Quando você tiver essa capacidade, retorne ao painel Collaborators e selecione a guia Managed Accounts para criar uma conta gerenciada de sala limpa para seu colaborador.
Ao usar a API de salas limpas, os provedores podem adicionar colaboradores chamando o procedimento provider.add_consumers.
Se o colaborador não é cliente Snowflake, alguém deve criar uma conta gerenciada de sala limpa para ele.