Tutorial: como criar e gerenciar uma listagem organizacional¶
As listas organizacionais no Snowflake permitem que você compartilhe produtos de dados com segurança dentro de sua organização, facilitando a descoberta e o uso de recursos confiáveis pelas equipes internas. Como provedor, é possível criar listagens que centralizam o acesso a conjuntos de dados, Native Apps e outros recursos, simplificando o compartilhamento de dados e a colaboração entre suas equipes. Este guia o ajudará a entender as etapas e os requisitos para criar e gerenciar listagens organizacionais de forma eficaz, garantindo que seus produtos de dados sejam acessíveis e, ao mesmo tempo, mantendo o controle sobre quem pode vê-los e usá-los.
Antes de começar, verifique se você tem os privilégios necessários para criar e gerenciar listagens organizacionais.
Neste tutorial, criamos uma função personalizada (ORG_LISTING_PROVIDER) para gerenciar as listagens em nome da organização.
Criação de uma função para gerenciar listagens organizacionais¶
Alterne para a função ORGADMIN (ou ACCOUNTADMIN) para criar uma nova função e adicionar um ou mais usuários. Estes usuários serão os administradores das listagens organizacionais. Em seguida, GRANT à nova função os privilégios necessários para criar e compartilhar listagens organizacionais.
USE ROLE ACCOUNTADMIN;
CREATE ROLE ORG_LISTING_PROVIDER;
GRANT ROLE ORG_LISTING_PROVIDER TO USER <user_name>;
GRANT CREATE SHARE ON ACCOUNT TO ROLE ORG_LISTING_PROVIDER;
Criação de uma listagem organizacional¶
Crie uma listagem organizacional a partir do compartilhamento com os atributos necessários inclusos em YAML (inseridos entre delimitadores $$).
Esse exemplo compartilha a listagem com todas as contas da organização:
USE ROLE ORG_LISTING_PROVIDER;
CREATE ORGANIZATION LISTING ORG_LISTING
SHARE ORG_SHARE AS
$$
title : "My title"
organization_profile: INTERNAL
organization_targets:
access:
- all_accounts : true
locations:
access_regions:
- name: "ALL"
auto_fulfillment:
refresh_type: "SUB_DATABASE"
refresh_schedule: "10 MINUTE"
$$;
Para obter uma lista completa de todos os campos e valores de uma listagem de organizações, consulte Referência do manifesto da listagem da organização.
Alteração de uma listagem organizacional¶
Altere as listagens organizacionais, incluindo quaisquer alterações ou atributos adicionais no YAML.
Cuidado
Ao alterar uma listagem organizacional, você deve incluir todos os atributos do manifesto da listagem original. A não inclusão de todos os atributos pode causar erros ou a remoção inesperada de atributos existentes do manifesto de listagem. A Snowflake recomenda capturar o manifesto de listagem existente com o comando DESCRIBE LISTING e, em seguida, usar os resultados como entrada no comando ALTER LISTING.
Esse exemplo compartilha a listagem com uma única conta e adiciona uma descrição à listagem:
USE ROLE ORG_LISTING_PROVIDER;
ALTER LISTING ORG_LISTING
AS
$$
title : "My title"
organization_profile: INTERNAL
organization_targets:
access:
- all_accounts : false
locations:
access_regions:
- name: "ALL"
auto_fulfillment:
refresh_type: "SUB_DATABASE"
refresh_schedule: "10 MINUTE"
$$;
Veja uma lista de listagens organizacionais¶
Para visualizar as listagens organizacionais, execute o seguinte comando:
SHOW LISTINGS;
DESCRIBE LISTING ORG_LISTING;
(Opcional) Como adicionar preenchimento automático para listagens organizacionais¶
Para ativar o preenchimento automático para suas listagens organizacionais, execute os seguintes comandos:
Importante
Antes de executar o comando para ativar o preenchimento automático, verifique se ele já está ativado e anote as configurações atuais. Se já estiver ativado, você não precisa executar o comando.
USE ROLE ACCOUNTADMIN;
GRANT MANAGE LISTING AUTO FULFILLMENT ON ACCOUNT TO ROLE ORG_LISTING_PROVIDER;
USE ROLE ORG_LISTING_PROVIDER;
SHOW ORGANIZATION ACCOUNTS;
SELECT SYSTEM$IS_GLOBAL_DATA_SHARING_ENABLED_FOR_ACCOUNT('<ORGACCOUNT>');
CALL SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT('<ORGACCOUNT>');
Limpeza após o tutorial¶
Para eliminar quaisquer objetos indesejados que você tenha criado durante este tutorial, execute um ou mais dos seguintes comandos, conforme necessário:
Importante
Se o preenchimento automático tiver sido ativado quando você executou a última etapa, DO NOT desative-o ao fazer a limpeza após a consulta. Se fizer isso, você interromperá o preenchimento automático de sua conta!
DROP LISTING <organizational_listing_name>;
DROP SHARE org_listing1_share1;
DROP DATABASE org_listing_db1;
--CALL SYSTEM$DISABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT('ORGACCOUNT');
DROP ROLE ORG_LISTING_PROVIDER;