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. Semblable aux comptes de consommateurs standards, le compte de fournisseur utilise des partages pour partager des bases de données avec des comptes de lecteurs ; Cependant, un compte de lecteur ne peut utiliser que les données du compte fournisseur qui l’a créé :

Overview of data sharing reader accounts

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. L’ajout de nouvelles données au compte et/ou la mise à jour des données partagées dans le compte ne sont pas pris en charge. Ainsi, les commandes DML et DDL suivantes ne sont pas autorisées :

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.

Interface Web pour les comptes lecteurs

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 la page Account Account tab dans l’interface Web de Snowflake pour effectuer la plupart des tâches liées à la création et à la gestion des comptes de lecteurs.

Reader accounts page in Snowflake web interface

Vous pouvez effectuer les tâches suivantes sur cette page :

  • 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;

Créer et gérer des comptes de lecteurs à l’aide de 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 :

USE ROLE ACCOUNTADMIN;

CREATE MANAGED ACCOUNT reader_acct1
    ADMIN_NAME = user1 , ADMIN_PASSWORD = 'Sdfed43da!44' ,
    TYPE = READER;

+-------------------------------------------------------------------------------+
| status                                                                        |
|-------------------------------------------------------------------------------|
| {"accountName":"RE47190","loginUrl":"https://re47190.snowflakecomputing.com"} |
+-------------------------------------------------------------------------------+

Remarque :

  • L’identificateur spécifié pour le compte de lecteur (reader_acct1 dans cet exemple) n’est pas le nom utilisé pour accéder au compte. Le nom du compte, aussi connu sous le nom de repère, est généré par Snowflake lors de la création du compte (RE47190 dans cet exemple).

  • 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, les tâches supplémentaires suivantes doivent être effectuées 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;

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;

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.