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"
$$;
Alteração de uma listagem organizacional¶
Altere as listagens organizacionais, incluindo quaisquer alterações ou atributos adicionais no YAML.
Este exemplo compartilha a listagem de apenas uma conta. Ele também 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;