Tutoriel : Créer et gérer une annonce d’organisation¶
Les annonces d’organisation dans Snowflake vous permettent de partager des produits de données en toute sécurité au sein de votre organisation, facilitant ainsi la découverte et l’utilisation de ressources fiables par les équipes internes. En tant que fournisseur, vous pouvez créer des annonces qui centralisent l’accès aux ensembles de données, aux Native Apps et à d’autres ressources, simplifiant ainsi le partage de données et la collaboration au sein de vos équipes. Ce guide vous aidera à comprendre les étapes et les exigences pour créer et gérer efficacement les annonces d’organisation, en veillant à ce que vos produits de données soient accessibles tout en maintenant le contrôle sur les personnes qui peuvent les voir et les utiliser.
Avant de commencer, assurez-vous que vous disposez des privilèges nécessaires pour créer et gérer des annonces d’organisation.
Dans ce tutoriel, nous créons un rôle personnalisé (ORG_LISTING_PROVIDER) pour gérer les annonces au nom de l’organisation.
Créer un rôle pour gérer les annonces d’organisation¶
Endossez le rôle ORGADMIN (ou ACCOUNTADMIN) pour créer un nouveau rôle et ajouter un ou plusieurs utilisateurs. Ces utilisateurs seront les administrateurs des annonces d’organisation. Ensuite, GRANT au nouveau rôle les privilèges nécessaires pour créer et partager des annonces d’organisation.
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;
Créer une annonce organisationnelle¶
Créez une annonce d’organisation à partir du partage avec les attributs requis inclus dans YAML (saisis dans les délimiteurs $$).
Cet exemple partage l’annonce avec tous les comptes de l’organisation :
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"
$$;
Modifier une annonce d’organisation¶
Modifiez les annonces d’organisation en incluant toute modification ou tout attribut supplémentaire dans le YAML.
Cet exemple partage l’annonce avec un seul compte. Il ajoute également une description à l’annonce :
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"
$$;
Voir la liste des annonces de l’organisation¶
Pour voir les annonces d’organisation, exécutez la commande suivante :
SHOW LISTINGS;
DESCRIBE LISTING ORG_LISTING;
(Facultatif) Ajouter l’exécution automatique pour les annonces d’organisation¶
Pour activer l’exécution automatique pour vos annonces d’organisation, exécutez les commandes suivantes :
Important
Avant d’exécuter la commande d’activation de l’exécution automatique, vérifiez si elle est déjà activée et notez les paramètres actuels. S’il est déjà activé, vous n’avez pas besoin d’exécuter la commande.
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>');
Nettoyer après le tutoriel¶
Pour supprimer les objets indésirables que vous avez créés au cours de ce tutoriel, exécutez une ou plusieurs des commandes suivantes, le cas échéant :
Important
Si l’exécution automatique a été activée lors de l’exécution de la dernière étape, DO NOT désactivez pas lorsque vous nettoyez le site après la requête. Ce faisant, vous arrêterez toute exécution automatique sur votre compte !
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;