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>;
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;
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;
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:
Faça login no Snowsight.
Navegue até Data » Provider Studio.
Selecione a guia Listings.
Clique em qualquer lugar da linha que contém a listagem para modificá-la.
Na página de detalhes da listagem, selecione a guia Settings.
Na seção Privileges, clique no ícone do lápis ao lado do privilégio Modify Listing.
Clique no botão Add Role e adicione as funções necessárias.
Clique em Save.
Para conceder o privilégio MODIFY para uma listagem em uma troca de dados:
Faça login no Snowsight.
Navegue até Data » Private Sharing.
Selecione a guia Shared By My Account.
Clique em qualquer lugar da linha que contém a listagem para modificá-la.
Na página de detalhes da listagem, selecione a guia Settings.
Na seção Privileges, clique no ícone do lápis ao lado do privilégio Modify Listing.
Clique no botão Add Role e adicione as funções necessárias.
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:
Faça login no Snowsight.
Navegue até Data » Provider Studio.
Selecione a guia Listings.
Clique em qualquer lugar da linha que contém a listagem para modificá-la.
Na página de detalhes da listagem, selecione a guia Settings.
Na seção Privileges, clique no ícone do lápis ao lado do privilégio View Listing.
Clique no botão Add Role e adicione as funções necessárias.
Clique em Save.
Para conceder o privilégio USAGE para uma listagem em uma troca de dados:
Faça login no Snowsight.
Navegue até Data » Private Sharing.
Selecione a guia Shared By My Account.
Clique em qualquer lugar da linha que contém a listagem para modificá-la.
Na página de detalhes da listagem, selecione a guia Settings.
Na seção Privileges, clique no ícone do lápis ao lado do privilégio View Listing.
Clique no botão Add Role e adicione as funções necessárias.
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:
Faça login no Snowsight.
Navegue até Data » Provider Studio.
Selecione a guia Listings.
Clique em qualquer lugar da linha que contém a listagem para modificá-la.
Na página de detalhes da listagem, selecione a guia Settings.
Na seção Privileges, clique no ícone do lápis ao lado do privilégio OWNERSHIP.
Clique no botão Add Role e adicione as funções necessárias.
Clique em Save.
Para conceder o privilégio OWNERSHIP para uma listagem em uma troca de dados:
Faça login no Snowsight.
Navegue até Data » Private Sharing.
Selecione a guia Shared By My Account.
Clique em qualquer lugar da linha que contém a listagem para modificá-la.
Na página de detalhes da listagem, clique na guia Settings.
Na seção Privileges, clique no ícone do lápis ao lado do privilégio OWNERSHIP.
Clique no botão Add Role e adicione as funções necessárias.
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;
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;