Concessão de privilégios a outras funções

O Snowflake fornece um conjunto de privilégios para o Snowflake Marketplace ou Data Exchange.

Estes privilégios podem ser concedidos a outras funções (definidas pelo sistema ou personalizadas). Então, os usuários com a função podem realizar certas tarefas no Snowflake Marketplace ou um Data Exchange.

Neste tópico:

Concessão de privilégios de administrador em um Data Exchange

Por padrão, somente um administrador de conta (ou seja, um usuário com a função ACCOUNTADMIN) na conta do administrador de Data Exchange pode gerenciar um Data Exchange que inclui as seguintes tarefas:

  • Adicionar/remover membros

  • Aprovar/recusar pedidos de aprovação de listagem

  • Aprovar/recusar pedidos de aprovação de perfil

  • Mostrar categorias

Para oferecer suporte à delegação dessas tarefas a outros usuários, o privilégio IMPORTED PRIVILEGES pode ser concedido em um Data Exchange para outras funções (definidas pelo sistema ou personalizadas)

Concessão do privilégio IMPORTED PRIVILEGES para outras funções

Para conceder o privilégio IMPORTED PRIVILEGES para um Data Exchange a uma função, use a função ACCOUNTADMIN e o comando GRANT GRANT <privilégios>.

Nota

O parâmetro WITH GRANT OPTION não oferece suporte ao privilégio IMPORTED PRIVILEGES.

Sintaxe:

grant imported privileges on data exchange <exchange_name> to <role_name>;
Copy

Onde:

  • <nome_exchange> é o nome de um Data Exchange.

  • <nome_função> é a função à qual o privilégio é concedido.

Por exemplo, conceda privilégios de importação para o mydataexchange Data Exchange à função SYSADMIN:

use role accountadmin;

grant imported privileges on data exchange mydataexchange to sysadmin;
Copy

Notas de uso

  • Este privilégio é concedido no nível do Data Exchange; portanto, permite realizar as tarefas administrativas somente para o Data Exchange para o qual foi concedido.

  • Somente um administrador de conta na conta do administrador do Data Exchange pode conceder o privilégio a outra função.

  • Quando uma função recebe IMPORTED PRIVILEGES para um banco de dados criado a partir de um compartilhamento, chamadas subsequentes para o comando SHOW GRANTS listam o privilégio como USAGE e não IMPORTED PRIVILEGES.

  • Este privilégio é destinado a um Data Exchange. No Snowflake Marketplace, somente os administradores do Snowflake podem realizar tarefas administrativas.

Concessão de privilégios de provedor a outras funções para o Snowflake Marketplace ou Data Exchange

O Snowflake fornece um conjunto de privilégios de conta, perfil do provedor e nível de listagem para executar tarefas disponíveis para os provedores de dados no Snowflake Marketplace ou um Data Exchange.

Estes privilégios podem ser concedidos a outras funções, permitindo que as tarefas sejam delegadas a outros usuários.

Privilégio

Tipo de objeto

Pode ser concedido por

Descrição

Privilégio global CREATE DATA EXCHANGE LISTING (neste tópico)

ACCOUNT

ACCOUNTADMIN

Concede a capacidade de criar uma listagem ou perfil de provedor.

Privilégio CREATE SHARE (neste tópico)

ACCOUNT

ACCOUNTADMIN

Concede a capacidade de criar um compartilhamento.

Privilégio IMPORT SHARE (neste tópico)

ACCOUNT

ACCOUNTADMIN

Concede a capacidade de visualizar um compartilhamento de entrada compartilhado com a conta e criar um banco de dados a partir do compartilhamento.

Privilégio MODIFY para uma listagem (neste tópico)

LISTING

Proprietário da listagem

Concede a capacidade de modificar propriedades da listagem.

Privilégio USAGE para uma listagem (neste tópico)

LISTING

Proprietário da listagem

Concede a capacidade de mostrar (ou seja, visualizar) uma listagem.

Privilégio OWNERSHIP para uma listagem (neste tópico)

LISTING

Proprietário da listagem

Transfere OWNERSHIP da listagem.

Privilégio MODIFY para um perfil de provedor (neste tópico)

PROVIDER PROFILE

Proprietário do perfil

Concede a capacidade de modificar propriedades para um perfil de provedor.

Privilégio OWNERSHIP para um perfil de provedor (neste tópico)

PROVIDER PROFILE

Proprietário do perfil

Transfere a OWNERSHIP de um perfil de provedor.

Privilégios de nível de conta

O Snowflake fornece os seguintes privilégios para trabalhar com compartilhamentos, listagens de dados e perfis de provedor no nível de conta no Snowflake Marketplace ou um Data Exchange:

Privilégio global CREATE DATA EXCHANGE LISTING

Se o privilégio global CREATE DATA EXCHANGE LISTING for concedido a uma função, qualquer usuário com a função pode criar uma listagem ou perfil de provedor. Como o criador e, portanto, proprietário da listagem, a função pode ser usada para executar todas as tarefas para a listagem, inclusive:

  • Criar listagens

  • Modificar propriedades das listagens

  • Ver listagens

  • Ver pedidos de acesso à listagem de entrada

  • Rejeitar pedidos de listagem

  • Enviar listagens para aprovação/publicação de listagens

  • Criar e visualizar perfis de provedor

Se uma conta é um provedor em mais de um Data Exchange, uma função com o privilégio global CREATE DATA EXCHANGE LISTING pode criar listagens em cada um desses Data Exchanges.

Nota

  • Um função que cria uma listagem torna-se o proprietário da listagem. O privilégio OWNERSHIP pode ser transferido usando Privilégio OWNERSHIP para uma listagem para uma função diferente pela função de proprietário.

  • Somente os administradores de conta (usuários com a função ACCOUNTADMIN) podem conceder o privilégio global CREATE DATA EXCHANGE LISTING a uma função.

Para conceder o privilégio global CREATE DATA EXCHANGE LISTING a um função em um Data Exchange, use o comando GRANT <privilégios> [WITH GRANT OPTION].

Por exemplo:

use role accountadmin;

-- grant the privilege to the SYSADMIN role
grant create data exchange listing on account to role sysadmin;

-- grant the privilege to the SYSADMIN role with grant option
grant create data exchange listing on account to sysadmin with grant option;
Copy

Privilégio CREATE SHARE

Se o privilégio CREATE SHARE for concedido a uma função, qualquer usuário com a função pode criar um compartilhamento. Como criador e, portanto, proprietário da ação, a função também pode ser usada para executar todas as tarefas para o compartilhamento, inclusive:

  • Concessão ou revogação de privilégios para objetos de/para o compartilhamento.

  • Adicionar ou remover contas de consumidor de/para o compartilhamento.

Para obter mais informações, consulte Habilitação de funções diferentes de ACCOUNTADMIN a executar tarefas de compartilhamento de dados.

Privilégio IMPORT SHARE

Se o privilégio IMPORT SHARE for concedido a uma função, qualquer usuário com a função pode realizar as seguintes tarefas:

  • Ver todos os compartilhamentos INBOUND (compartilhados por contas de provedor) e criar bancos de dados para os compartilhamentos.

  • Veja todos os compartilhamentos OUTBOUND de propriedade da função.

Para obter mais informações, consulte Habilitação de funções diferentes de ACCOUNTADMIN a executar tarefas de compartilhamento de dados.

Privilégios de nível de listagem

O Snowflake fornece os seguintes parâmetros de privilégios para listagens de dados.: Estes privilégios podem ser concedidos por um proprietário de listagem (um usuário com o privilégio OWNERSHIP) no Snowflake Marketplace ou por um Data Exchange.

Privilégio MODIFY para uma listagem

Se o privilégio MODIFY para uma listagem for concedido a uma função, qualquer usuário com a função pode realizar as seguintes tarefas para uma listagem:

  • Modificar propriedades das listagens

  • Ver uma listagem

  • Ver pedidos de acesso à listagem de entrada

  • Enviar a listagem para aprovação/publicação

  • Rejeitar pedidos de listagem

Somente o OWNER da listagem pode conceder este privilégio. O privilégio MODIFY só pode ser concedido para uma listagem no Snowsight, a interface da Web do Snowflake.

Para conceder o privilégio MODIFY para uma listagem no Snowflake Marketplace:

  1. Faça login no Snowsight.

  2. Navegue até Data » Provider Studio.

  3. Selecione a guia Listings.

  4. Clique em qualquer lugar da linha que contém a listagem para modificá-la.

  5. Na página de detalhes da listagem, selecione a guia Settings.

  6. Na seção Privileges, clique no ícone do lápis ao lado do privilégio Modify Listing.

  7. Clique no botão Add Role e adicione as funções necessárias.

  8. Clique em Save.

Para conceder o privilégio MODIFY para uma listagem em uma troca de dados:

  1. Faça login no Snowsight.

  2. Navegue até Data » Private Sharing.

  3. Selecione a guia Shared By My Account.

  4. Clique em qualquer lugar da linha que contém a listagem para modificá-la.

  5. Na página de detalhes da listagem, selecione a guia Settings.

  6. Na seção Privileges, clique no ícone do lápis ao lado do privilégio Modify Listing.

  7. Clique no botão Add Role e adicione as funções necessárias.

  8. Clique em Save.

Privilégio USAGE para uma listagem

Se o privilégio USAGE para uma listagem for concedido a uma função, qualquer usuário com a função pode mostrar (ou seja, visualizar) listagens e pedidos de listagem recebidos. Somente o OWNER da listagem pode conceder este privilégio.

Para conceder o privilégio USAGE para uma listagem no Snowflake Marketplace:

  1. Faça login no Snowsight.

  2. Navegue até Data » Provider Studio.

  3. Selecione a guia Listings.

  4. Clique em qualquer lugar da linha que contém a listagem para modificá-la.

  5. Na página de detalhes da listagem, selecione a guia Settings.

  6. Na seção Privileges, clique no ícone do lápis ao lado do privilégio View Listing.

  7. Clique no botão Add Role e adicione as funções necessárias.

  8. Clique em Save.

Para conceder o privilégio USAGE para uma listagem em uma troca de dados:

  1. Faça login no Snowsight.

  2. Navegue até Data » Private Sharing.

  3. Selecione a guia Shared By My Account.

  4. Clique em qualquer lugar da linha que contém a listagem para modificá-la.

  5. Na página de detalhes da listagem, selecione a guia Settings.

  6. Na seção Privileges, clique no ícone do lápis ao lado do privilégio View Listing.

  7. Clique no botão Add Role e adicione as funções necessárias.

  8. Clique em Save.

Privilégio OWNERSHIP para uma listagem

Se o privilégio OWNERSHIP para uma listagem for concedido a uma função, essa função se torna o novo OWNER da listagem. Somente o OWNER da listagem pode conceder este privilégio. OWNERSHIP é um tipo especial de privilégio que só pode ser concedido de uma função para outra; ele não pode ser revogado. Para obter mais detalhes, consulte Visão geral do controle de acesso.

Importante

Quando a propriedade da listagem é transferida, todas as concessões existentes são revogadas. Todas as funções às quais foram concedidos privilégios perdem imediatamente o acesso a esta lista, e seus privilégios são revogados. O novo proprietário da listagem deve conceder novamente estes privilégios.

Para conceder o privilégio OWNERSHIP para uma listagem no Snowflake Marketplace:

  1. Faça login no Snowsight.

  2. Navegue até Data » Provider Studio.

  3. Selecione a guia Listings.

  4. Clique em qualquer lugar da linha que contém a listagem para modificá-la.

  5. Na página de detalhes da listagem, selecione a guia Settings.

  6. Na seção Privileges, clique no ícone do lápis ao lado do privilégio OWNERSHIP.

  7. Clique no botão Add Role e adicione as funções necessárias.

  8. Clique em Save.

Para conceder o privilégio OWNERSHIP para uma listagem em uma troca de dados:

  1. Faça login no Snowsight.

  2. Navegue até Data » Private Sharing.

  3. Selecione a guia Shared By My Account.

  4. Clique em qualquer lugar da linha que contém a listagem para modificá-la.

  5. Na página de detalhes da listagem, clique na guia Settings.

  6. Na seção Privileges, clique no ícone do lápis ao lado do privilégio OWNERSHIP.

  7. Clique no botão Add Role e adicione as funções necessárias.

  8. Clique em Save.

Privilégios de nível de perfil de provedor

O Snowflake oferece os seguintes privilégios para perfis de provedor. Estes privilégios podem ser concedidos por um proprietário de perfil de provedor (um usuário com o privilégio OWNERSHIP) no Snowflake Marketplace ou por um Data Exchange:

Nota

  • Para criar um perfil, utilize o privilégio global Privilégio global CREATE DATA EXCHANGE LISTING (neste documento).

  • Qualquer função na conta do provedor pode visualizar todos os perfis. Este privilégio não precisa ser concedido explicitamente.

Privilégio MODIFY para um perfil de provedor

Se o privilégio MODIFY for concedido a uma função em um perfil de provedor, qualquer usuário com a função pode visualizar e modificar propriedades do perfil do provedor. Somente o OWNER do perfil do provedor pode conceder este privilégio.

O privilégio MODIFY pode ser concedido através da interface da Web ou usando SQL:

Snowsight

Clique em Data » Private Sharing » Manage Exchanges » Selecione uma Exchange » Selecione um perfil de provedor » Manage » Manage Profile Editors.

SQL

Execute o comando GRANT <privilégios> [WITH GRANT OPTION].

Por exemplo:

-- grant the privilege to the SYSADMIN role
grant modify on data exchange profile "<provider_profile_name>" to role sysadmin;
Copy

Privilégio OWNERSHIP para um perfil de provedor

Se o privilégio OWNERSHIP para um perfil de provedor for concedido a uma função, essa função se torna o novo OWNER do perfil. Somente o OWNER do perfil do provedor pode conceder este privilégio. OWNERSHIP é um tipo especial de privilégio que só pode ser concedido de uma função para outra; ele não pode ser revogado. Para obter mais detalhes, consulte Visão geral do controle de acesso.

Para conceder o privilégio OWNERSHIP para o perfil de um provedor a uma função, use o comando GRANT <privilégios> [WITH GRANT OPTION]. Neste momento, o privilégio não pode ser concedido através da nova interface do Snowflake.

Por exemplo:

-- grant the privilege to the SYSADMIN role
grant ownership on data exchange profile "<provider_profile_name>" to role sysadmin;
Copy