Gestion des comptes de lecteur

Les comptes de lecteur (anciennement appelés « comptes en lecture seule ») permettent aux fournisseurs de partager des données avec des consommateurs qui ne sont pas encore des clients Snowflake sans demander aux consommateurs de devenir clients Snowflake.

Note

Toutes les tâches décrites dans ce chapitre doivent être exécutées en utilisant le rôle ACCOUNTADMIN ou un rôle bénéficiant du privilège global CREATE ACCOUNT.

Dans ce chapitre :

Vue d’ensemble

Un compte de lecteur permet aux consommateurs de données d’accéder aux données partagées par le fournisseur du compte et de les interroger, sans frais d’installation ou d’utilisation pour le consommateur, et sans qu’il soit nécessaire de signer un contrat de licence avec Snowflake.

Le compte de lecteur est créé, détenu et géré par le compte de fournisseur qui assume l’entière responsabilité des frais de crédit encourus par les utilisateurs du compte de lecteur. De même qu’avec des comptes consommateurs standards, le compte fournisseur utilise des partages pour partager des bases de données avec des comptes lecteurs ; en revanche, un compte lecteur ne peut consommer que les données du compte fournisseur qui l’a créé.

Overview of data sharing reader accounts, where reader accounts exist within the context of a provider account while consumer accounts are external to the provider account.

Note

Les entrepôts d’un compte de lecteur peuvent consommer un nombre illimité de crédits chaque mois, qui seront débités sur votre compte de fournisseur. Pour limiter l’utilisation, configurez un moniteur de ressources pour l’entrepôt.

Qu’est-ce qui est limité/autorisé dans un compte de lecteur ?

Un compte de lecteur est principalement destiné à interroger des données partagées par le fournisseur du compte. Vous pouvez travailler avec des données, par exemple en créant des vues matérialisées.

Vous ne pouvez pas effectuer les tâches suivantes dans un compte de lecteur :

  • Chargement de nouvelles données.

  • Modification des données existantes.

  • Déchargement de données à l’aide d’une intégration de stockage. Cependant, vous pouvez utiliser la commande COPY INTO <emplacement> avec vos identifiants de connexion pour décharger les données dans un emplacement de stockage dans le Cloud.

En outre, vous ne pouvez pas exécuter les commandes suivantes dans un compte de lecteur :

Toutes les autres opérations sont autorisées.

Qui fournit l’assistance pour un compte de lecteur ?

Étant donné qu’un compte de lecteur n’a pas de contrat de licence avec Snowflake, les services d’assistance ne sont pas disponibles pour les utilisateurs généraux du compte. En tant que fournisseur du compte, vous collectez les questions et demandes des utilisateurs dans le compte, et leur répondez de manière appropriée.

Si vous n’êtes pas en mesure de répondre directement à leurs questions ou de résoudre leurs demandes ou problèmes, vous pouvez ouvrir un ticket d’assistance Snowflake via les canaux habituels (comme indiqué dans votre contrat d’assistance). Une fois qu’une réponse a été fournie par le service d’assistance de Snowflake, vous communiquez ensuite l’information aux utilisateurs concernés dans le compte de lecteur.

Gestion et création de comptes de lecteur à l’aide de l’interface Web

Si vous avez le rôle ACCOUNTADMIN (ou si vous avez un rôle qui s’est vu accorder le privilège CREATE ACCOUNT), vous pouvez utiliser Snowsight ou l”Classic Console pour effectuer la plupart des tâches liées à la création et à la gestion des comptes de lecteur.

Utilisation de Snowsight

Pour créer ou gérer des comptes de lecteur dans Snowsight, procédez comme suit :

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, sélectionnez Data » Private Sharing.

  3. Sélectionnez l’onglet Reader accounts.

Sur cette page, vous pouvez effectuer les opérations suivantes :

  • Créer un compte de lecteur en sélectionnant + New.

  • Examiner les comptes de lecteurs existants.

  • Détruire un compte de lecteur en sélectionnant » Drop.

À l’aide de la console classique

Pour créer ou gérer des comptes de lecteur dans l”Classic Console, utilisez la page Account Account tab.

Sur cette page, vous pouvez effectuer les tâches suivantes :

  • Créer un compte de lecteur.

  • Détruire un compte de lecteur.

DDL pour les comptes de lecteur

Pour permettre la création et la gestion des comptes de lecteur, Snowflake fournit un objet de première classe, MANAGED ACCOUNT, qui prend en charge les commandes DDL suivantes :

Permettre à d’autres rôles de créer et de gérer des comptes de lecteur

Par défaut, seuls les utilisateurs ayant le rôle ACCOUNTADMIN peuvent créer des comptes de lecteur et donc, en tant que propriétaire du compte, gérer les comptes. Pour prendre en charge la délégation de ces tâches à d’autres utilisateurs, le privilège global CREATE ACCOUNT peut être accordé à d’autres rôles (définis par le système ou personnalisés). Ensuite, les utilisateurs ayant le rôle peuvent créer des comptes de lecteur et exécuter toutes les tâches associées à la gestion des comptes créés à l’aide du rôle.

Par exemple, pour accorder le privilège au rôle SYSADMIN :

USE ROLE ACCOUNTADMIN;

GRANT CREATE ACCOUNT ON ACCOUNT TO ROLE SYSADMIN;
Copy

Création et gestion de comptes de lecteurs à l’aide de SQL

En plus d’utiliser l’interface Web pour gérer et créer des comptes de lecteur, vous pouvez également utiliser SQL.

Création d’un compte de lecteur

Pour créer un compte de lecteur, utilisez le rôle ACCOUNTADMIN (ou un rôle ayant le privilège global CREATE ACCOUNT) et la commande CREATE MANAGED ACCOUNT.

Dans la commande, spécifiez l’identifiant du compte et l’utilisateur qui servira d’administrateur du compte. Par exemple, utilisez la syntaxe suivante :

USE ROLE ACCOUNTADMIN;

CREATE MANAGED ACCOUNT <account_name>
    ADMIN_NAME = <username> , ADMIN_PASSWORD = '<password>' ,
    TYPE = READER;
Copy

Après avoir exécuté la commande, vous voyez le nom du compte et l’URL de connexion pour le compte :

+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| status                                                                                                                                                                            |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| {"accountName":"READER_ACCT1","accountLocator":"IIB88126","url":"https://myorg-reader_acct1.snowflakecomputing.com","accountLocatorUrl":"https://iib88126.snowflakecomputing.com"}|
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Remarque :

  • L” url est l’URL de compte préférée pour le nouveau compte de lecteur. Le localisateur de compte est un identificateur hérité du compte.

  • Le compte de lecteur utilise la même édition Snowflake que le compte de fournisseur et est créé dans la même région.

  • Par défaut, le nombre total de comptes de lecteur qu’un fournisseur peut créer est de 20. Si vous atteignez la limite et avez besoin de créer des comptes supplémentaires, veuillez contacter l’assistance Snowflake.

Important

Après avoir créé un compte de lecteur, attendez jusqu’à cinq minutes pour vous assurer que le compte est entièrement provisionné. Ensuite, vous devez effectuer les tâches supplémentaires suivantes avant que le compte ne soit prêt à être utilisé :

  1. Ajoutez le compte à un ou plusieurs partages pour que les objets Snowflake des partages puissent être partagés avec le compte.

  2. Configurez le compte.

Destruction d’un compte de lecteur

Pour détruire un compte de lecteur, utilisez la commande DROP MANAGED ACCOUNT. Par exemple :

USE ROLE ACCOUNTADMIN;

DROP MANAGED ACCOUNT reader_acct1;
Copy

Attention

Détruire un compte de lecteur détruit tous les objets créés dans le compte et restreint immédiatement tout accès au compte. Cela supprime également le compte de votre nombre total de comptes de lecteur.

Cette opération est irréversible. Avant de détruire un compte de lecteur, veuillez en tenir compte.

Affichage des comptes de lecteur

Pour afficher tous les comptes de lecteur qui ont été créés pour votre compte, utilisez la commande SHOW MANAGED ACCOUNTS. Par exemple :

USE ROLE ACCOUNTADMIN;

SHOW MANAGED ACCOUNTS;
Copy

Cette commande peut être utilisée pour surveiller le nombre total de comptes de lecteur pour votre compte. Si le nombre total atteint la limite (20), vous devrez peut-être détruire certains comptes ou contacter l’assistance Snowflake pour demander que la limite soit augmentée.

De plus, vous pouvez utiliser les vues du schéma READER_ACCOUNT_USAGE (dans la base de données partagée SNOWFLAKE) pour demander des informations sur les comptes de lecteur créés pour votre compte. Pour plus de détails, voir Account Usage.