Gerenciamento de usuários e acesso a salas limpas¶
Visão geral¶
This topic describes how a clean rooms account administrator manages user access to the clean rooms UI and API.
Clean rooms defines several application roles that permit access to the API and various subsections of the UI. Access to the clean rooms UI and API are granted separately. Typically, the account administrator creates a custom role, grants the desired application roles to allow fine-grained access to the UI and API, then grants the role to various users in that account.
This strategy uses the Snowflake role-based access control (RBAC) model to delegate privileges appropriately to clean room users and collaborators in their account. For more information about RBAC, see Visão geral do controle de acesso. To see which users were granted a specific role, run the following SQL command:
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¶
An administrator grants access to the clean rooms UI in a Snowflake account by granting the appropriate roles, either directly or indirectly. The administrator should also assign a default warehouse and grant USAGE privilege on it to UI users.
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¶
The SAMOOHA_APP_ROLE role grants a user full API access to all clean rooms in a Snowflake account. This role has usage on all warehouses installed with clean rooms.
Conceda acesso total à API:
Revogue o acesso total à API:
Grant limited API access (run roles)¶
You can grant limited API access to specified clean rooms in your account. Limited access grants the ability to call only a
subset of consumer procedures, such as consumer.run_analysis, but not the ability
to install, create, join, or modify a clean room. This access level is sometimes called a run role, because it involves creating a role
with limited API access and granting that role to users.
Veja a seguir como conceder acesso limitado a um usuário:
A user who can grant the SAMOOHA_APP_ROLE role creates a new role, and assigns limited functionality to that role. The role must also be granted USAGE to any warehouses that they will use to access the clean rooms.
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.
When using the clean rooms UI, creators can invite collaborators from a list that is managed by someone using the MANAGE_DCR_COLLABORATORS role.
When using the clean rooms API, providers are not limited by a predefined collaborators list, and can add any clean room collaborator by Snowflake account locator. If you want to invite a collaborator without a Snowflake account, you must first create a clean room managed account for them. Remember that you invite an account to collaborate, not an individual user. Any user with clean rooms access in the invited account can join and use the clean room.
Nota
Se um colaborador Snowflake tiver uma conta em uma região diferente de sua conta Snowflake, o administrador de 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.