Gerenciando o acesso a colaborações, recursos e dados

Visão geral

O acesso a colaborações e a capacidade de executar ações em uma colaboração são gerenciados usando os seguintes mecanismos:

  • A permissão para instalar aplicativos na conta é necessária para instalar o aplicativo Data Clean Room e é mantida porACCOUNTADMIN por padrão.

  • A permissão para executar procedimentos específicos da Collaboration API é gerenciada pelos privilégios DCR.

  • A permissão para executar ações específicas baseadas em função em uma colaboração é gerenciada pelas funções de colaboração. Essas funções determinam o que um usuário pode fazer em uma colaboração específica. A definição da colaboração deve listar você como executor de análise para poder executar uma análise. Você deve ser listado como provedor de dados para compartilhar dados com um executor de análise especificado.

Esses mecanismos são sobrepostos, e todos os requisitos devem ser atendidos para poder executar uma ação específica em um determinado recurso. Por exemplo, para você compartilhar a tabela my_data com user_1 na colaboração collab_1 existente, todos os seguintes requisitos devem ser atendidos:

  • Você deve ser provedor de dados designado para user_1 na colaboração, e user_1 deve ser executor de análise nessa colaboração (função de colaboração).

  • Você deve ter permissão para chamar os procedimentos apropriados da Collaboration API para vincular a oferta de dados à colaboração (privilégio DCR).

  • Você deve ter o privilégio REFERENCE_USAGE com GRANT OPTION na tabela my_data para registrá-la como um recurso de oferta de dados (privilégio RBAC).

Este tópico descreve como gerenciar os privilégios DCR. As políticas de dados e as funções de colaboração estão descritas separadamente.

Usar privilégios DCR para gerenciar privilégios de conta, objeto e procedimento

A função SAMOOHA_APP_ROLE tem privilégios para executar todos os procedimentos na Collaboration API. Essa função pode ter um acesso com escopo mais amplo do que você gostaria de conceder a alguns grupos de usuários em sua conta. Embora as funções de colaboração limitem as ações que um usuário pode realizar, você também pode fornecer funções específicas com permissões mais precisas e limitadas.

Após a instalação do app Snowflake Data Clean Rooms, privilégios adicionais específicos ao Data Clean Room poderão ser atribuídos a usuários designados.

Para conceder privilégios granulares de API a um usuário, siga estas etapas:

  1. Crie uma função.

  2. Conceda à função o uso no warehouse que está sendo usado.

  3. Chame GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE, se necessário, para conceder a uma função os privilégios apropriados em uma colaboração específica.

  4. Chame GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE, se necessário, para conceder à função os privilégios de alto nível apropriados em todas as colaborações na conta.

  5. Conceda a função ao usuário, que agora pode chamar procedimentos de colaboração para participar da colaboração.

Por exemplo, GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE( 'JOIN COLLABORATION', 'collab_join_role' ) concede a permissão collab_join_role para chamar JOIN, REVIEW, RUN, LEAVE, VIEW_DATA_OFFERINGS e muitos outros procedimentos de API necessários para ingressar e usar uma colaboração. Por outro lado, GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'registry_1', 'registry_reader_role') concede a permissão registry_reader_role para ler um único registro. Você pode conceder vários conjuntos de privilégios à mesma função.

Veja quais privilégios DCR devem ser concedidos para poder chamar um determinado procedimento da Collaboration API se você não usa a SAMOOHA_APP_ROLE.

Confira este exemplo de como criar uma função chamada COLLABORATION_CREATOR que pode criar uma colaboração, criar um registro personalizado e registrar ofertas de dados, além de como conceder a função ao usuário atual.

CREATE ROLE IF NOT EXISTS COLLABORATION_CREATOR;

-- Grant warehouse access to the role.
GRANT USAGE ON WAREHOUSE APP_WH TO ROLE COLLABORATION_CREATOR;

-- COLLABORATION_CREATOR needs these manual account-level privileges,
-- which are required by the CREATE COLLABORATION DCR privilege.
GRANT APPLY ROW ACCESS POLICY ON ACCOUNT TO ROLE COLLABORATION_CREATOR;
GRANT CREATE APPLICATION ON ACCOUNT TO ROLE COLLABORATION_CREATOR;
GRANT CREATE DATABASE ON ACCOUNT TO ROLE COLLABORATION_CREATOR;
GRANT CREATE LISTING ON ACCOUNT TO ROLE COLLABORATION_CREATOR;
GRANT CREATE SHARE ON ACCOUNT TO ROLE COLLABORATION_CREATOR;
GRANT IMPORT SHARE ON ACCOUNT TO ROLE COLLABORATION_CREATOR;
GRANT MANAGE SHARE TARGET ON ACCOUNT TO ROLE COLLABORATION_CREATOR;

GRANT ROLE COLLABORATION_CREATOR TO USER alexander_hamilton;

-- Grant DCR account-level privileges using GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE.
-- This procedure requires the ACCOUNTADMIN role.

-- COLLABORATION_CREATOR: create collaborations, create registries,
-- and register data offerings.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE(
  'CREATE COLLABORATION', 'COLLABORATION_CREATOR');
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE(
  'CREATE REGISTRY', 'COLLABORATION_CREATOR');
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE(
  'REGISTER DATA OFFERING', 'COLLABORATION_CREATOR');

O seguinte código usa a função COLLABORATION_CREATOR para criar um registro personalizado e, em seguida, concede acesso de leitura nesse registro à função EU_SALES_TEAM:

USE ROLE COLLABORATION_CREATOR;
USE WAREHOUSE APP_WH;
USE SECONDARY ROLES NONE;

-- Create a custom registry.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.CREATE_REGISTRY(
  'DATA_REGISTRY_EU',
  'DATA OFFERING');

-- Grant read permission on a registry created by this role to the role EU_SALES_TEAM.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
  'READ',
  'REGISTRY',
  'DATA_REGISTRY_EU',
  'EU_SALES_TEAM');

Requisitos de privilégio DCR para procedimentos da Collaboration API

Se você usa uma função personalizada (em vez de SAMOOHA_APP_ROLE), a tabela a seguir resume os privilégios necessários para executar cada procedimento da Collaboration API.

Salvo indicação em contrário, os privilégios em uma lista com marcadores costumam ser alternativos: você precisa apenas de um dos privilégios listados para executar o procedimento especificado.

Nome do procedimento

Requisitos de acesso

Registro padrão: GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER TEMPLATE', 'role name')

Registro personalizado: você tem privilégios de leitura e gravação em qualquer registro personalizado criado por você mesmo. Para acessar um registro personalizado criado por outro usuário, você precisa de GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'registry name', 'role name').

Registro padrão:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED TEMPLATES', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Registro personalizado: você tem privilégios de leitura e gravação em qualquer registro personalizado criado por você mesmo. Para acessar um registro personalizado criado por outro usuário, você precisa de GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'registry name', 'role name').

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Se o modelo estiver em um registro personalizado ou fizer referência a uma especificação de código em um registro personalizado, você também deverá ter o privilégio READ no registro.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW TEMPLATES', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Além disso, para ver os objetos gravados em um registro personalizado, você precisa do privilégio READ nesse registro.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Registro padrão: GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER DATA OFFERING', 'role name')

Registro personalizado: você tem privilégios de leitura e gravação em qualquer registro personalizado criado por você mesmo. Para acessar um registro personalizado criado por outro usuário, você precisa de GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'registry name', 'role name').

Além disso, o autor da chamada precisa dos seguintes privilégios RBAC:

  • SELECT na tabela/exibição de origem.

  • USAGE no banco de dados e esquema contendo a tabela de origem.

  • USAGE nos objetos de política referenciados na especificação.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Além disso, o autor da chamada deve ter o privilégio REFERENCE_USAGE com GRANT OPTION nos dados que serão compartilhados. Caso contrário, você receberá o erro de «concessão de uso de referência ausente». Saiba como resolver esse problema.

Se a oferta de dados estiver em um registro personalizado, você também deverá ter privilégios concedidos chamando GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'registry name', 'role name').

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

O privilégio UPDATE em uma colaboração não concede acesso a este procedimento. Além disso, apenas a função que chamou JOIN pode desvincular com sucesso as ofertas de dados, porque o compartilhamento subjacente é de propriedade da função de junção.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Registro padrão:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED DATA OFFERINGS', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Registro personalizado: você tem privilégios de leitura e gravação em qualquer registro personalizado criado por você mesmo. Para acessar um registro personalizado criado por outro usuário, você precisa de GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'registry name', 'role name').

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW DATA OFFERINGS', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Além disso, para ver os objetos gravados em um registro personalizado, você precisa do privilégio READ nesse registro.

Registro padrão: GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER CODE SPEC', 'role name')

Registro personalizado: você tem privilégios de leitura e gravação em qualquer registro personalizado criado por você mesmo. Para acessar um registro personalizado criado por outro usuário, você precisa de GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'registry name', 'role name').

Registro padrão:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED CODE SPECS', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Registro personalizado: você tem privilégios de leitura e gravação em qualquer registro personalizado criado por você mesmo. Para acessar um registro personalizado criado por outro usuário, você precisa de GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'registry name', 'role name').

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Além disso, para ver os objetos gravados em um registro personalizado, você precisa do privilégio READ nesse registro.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE UPDATE REQUEST', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE UPDATE REQUEST', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Consulte GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE para saber as permissões de função adicionais necessárias.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Consulte GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE para saber as permissões de função adicionais necessárias.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Você deve usar uma função que tenha recebido o privilégio MANAGE FIREWALL_CONFIGURATION na conta.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW COLLABORATIONS', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REVIEW COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Consulte GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE para saber as permissões de função adicionais necessárias.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Consulte GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE para saber as permissões de função adicionais necessárias.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

Consulte GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE para saber as permissões de função adicionais necessárias.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW ACTIVATIONS', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('PROCESS ACTIVATION', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name'), mais todos os privilégios adicionais no nível da conta

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE REGISTRY', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTRIES', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE REGISTRY', 'role name')

  • Para objetos de colaboração: qualquer função com CREATE COLLABORATION ou JOIN COLLABORATION pode chamar este procedimento em qualquer colaboração.

  • Para objetos de registro: somente a função que criou o registro pode chamar este procedimento nesse registro.

Você precisa da função ACCOUNTADMIN, ou de uma função com o privilégio global MANAGE GRANTS, para executar este procedimento.