Configuration d’un compte de lecteur¶
Un compte de lecteur venant d’être créé ne contient qu’un seul utilisateur qui sert d’administrateur pour l’ensemble du compte.
Pour configurer le compte, l’administrateur du compte doit créer un ensemble minimum d’objets supplémentaires dans le compte, y compris des utilisateurs, des rôles personnalisés (si nécessaire), des entrepôts virtuels et une ou plusieurs bases de données partagées (pour les données partagées par le compte de fournisseur).
Ce chapitre fournit une vue d’ensemble de toutes ces tâches de configuration, obligatoires et facultatives.
Note
Les tâches 2 à 4 doivent être effectuées en tant qu’administrateur de compte. Toutes les tâches restantes peuvent être déléguées à d’autres utilisateurs.
De plus, toutes ces tâches doivent être exécutées dans le compte de lecteur, par opposition au compte de fournisseur.
Dans ce chapitre :
Tâche 1 : se connecter au compte de lecteur en tant qu’administrateur du compte¶
Connectez-vous au compte de lecteur à l’aide d’une des interfaces prises en charge (par ex. SnowSQL ou l’interface Web).
Les instructions de ce chapitre supposent que vous utilisez SQL pour effectuer ces tâches, soit dans SnowSQL , soit en utilisant une feuille de calcul (dans l’interface Web). Cependant, les tâches peuvent être effectuées dans n’importe quelle interface Snowflake prise en charge.
Astuce
N’oubliez pas de définir ACCOUNTADMIN comme rôle à utiliser. Vous pouvez définir ce rôle soit pendant la connexion, soit après dans la session active.
Si vous utilisez une feuille de calcul (dans l’interface Web) pour effectuer ces tâches, définissez le rôle dans le contexte de la feuille de calcul.
Tâche 2 : créer des rôles personnalisés (facultatif)¶
Les rôles permettent un contrôle précis des tâches que les utilisateurs du compte de lecteur peuvent effectuer. Vous pouvez utiliser les rôles pour :
Spécifier des utilisateurs qui peuvent interroger les données partagées avec le compte.
Accorder le contrôle des entrepôts virtuels à des utilisateurs sélectionnés.
Déléguer certaines tâches et responsabilités d’administrateur à des utilisateurs sélectionnés (si désiré).
Chaque compte de lecteur est fourni avec des rôles standard définis par le système (SYSADMIN, SECURITYADMIN, PUBLIC). Si ces rôles ne répondent pas aux conditions d’accès pour les utilisateurs que vous allez créer dans le compte, vous pouvez créer des rôles personnalisés supplémentaires.
Pour plus de détails, voir Aperçu du contrôle d’accès.
Tâche 3 : créer des utilisateurs¶
Créez les utilisateurs qui se connecteront au compte de lecteur et interrogeront les données partagées avec le compte, et qui effectueront toute autre tâche que vous choisissez d’autoriser.
Dans le cadre du processus de création des utilisateurs, n’oubliez pas d’accorder des rôles, définis par le système ou personnalisés (si vous en avez créés), aux utilisateurs. Les rôles que vous affectez aux utilisateurs déterminent ce qu’ils peuvent faire dans le compte.
Pour plus de détails, voir CREATE USER et GRANT ROLE.
Astuce
Toutes les tâches restantes dans ce chapitre peuvent être effectuées par l’administrateur du compte ou peuvent être déléguées (par le biais de privilèges et de rôles) à d’autres utilisateurs du compte.
Au minimum, nous recommandons les choses suivantes :
Attribuer le rôle SECURITYADMIN à au moins un autre utilisateur afin qu’il puisse aider à créer et gérer d’autres utilisateurs et l’accès aux objets dans le compte.
Attribuer le rôle SYSADMIN à au moins un autre utilisateur afin qu’il puisse aider à créer et gérer d’autres objets dans le compte (par exemple, des entrepôts virtuels).
Tâche 4 : créer des moniteurs de ressources (facultatif)¶
Les entrepôts virtuels sont nécessaires pour interroger les données partagées avec le compte de lecteur. En cours d’exécution, les entrepôts virtuels consomment des crédits, qui seront débités sur votre compte de fournisseur.
Si vous souhaitez contrôler la quantité de crédits consommés mensuellement par les entrepôts virtuels dans le compte de lecteur, créez un ou plusieurs moniteurs de ressources et spécifiez s’ils contrôlent :
Tous les entrepôts du compte.
Les entrepôts individuels.
Pour plus de détails, voir CREATE RESOURCE MONITOR.
Attention
Si vous choisissez d’ignorer cette tâche, les entrepôts du compte de lecteur peuvent consommer un nombre illimité de crédits chaque mois, qui seront débités sur votre compte de fournisseur.
Tâche 5 : créer des entrepôts virtuels¶
Pour permettre l’interrogation des objets dans la base de données partagée, vous devez créer au moins un entrepôt virtuel. Vous pouvez créer autant d’entrepôts que vous le souhaitez ou dont vous avez besoin. Cependant, n’oubliez pas que votre compte de fournisseur est responsable de tous les crédits consommés par les entrepôts dans le compte de lecteur. En outre, tenez compte de ce qui suit :
Définissez la taille de l’entrepôt de manière appropriée, en évaluant les performances souhaitées de la requête par rapport à la consommation de crédit souhaitée.
Assurez-vous que l’entrepôt est réglé sur la suspension automatique lorsqu’il n’est pas utilisé.
Pour plus de détails, voir CREATE WAREHOUSE.
Tâche 7 : attribuer des privilèges sur les entrepôts virtuels et les bases de données aux rôles¶
Les fournisseurs de données peuvent choisir d’ajouter des objets à un partage soit en accordant des privilèges sur les objets à un partage via un rôle de base de données, puis en accordant le rôle de base de données à un partage (option 1) soit en accordant des privilèges sur les objets directement au partage (option 2). Les instructions de cette section diffèrent selon l’option choisie par le fournisseur de la base de données :
- Option 1:
Pour permettre l’interrogation des données partagées avec le compte lecteur, accordez un rôle de base de données dans le partage qui s’aligne sur une fonction commerciale dans votre compte avec le rôle approprié dans votre compte. Par exemple, supposons que le partage inclut un rôle de base de données nommé
shared_db1.dr1
que vous souhaitez partager avec tous les utilisateurs de votre compte. Dans ce cas, vous accordez le rôle de base de données au rôle système PUBLIC :GRANT DATABASE ROLE shared_db1.dr1 TO ROLE PUBLIC;
- Option 2:
Pour activer l’interrogation des données partagées avec le compte de lecteur, accordez les privilèges suivants aux autres rôles, définis par le système ou personnalisés (le cas échéant), dans le compte :
IMPORTED PRIVILEGES sur chaque base de données créée à partir du ou des partage(s) dans Tâche 6 : créer une base de données à partir de chaque partage partagé avec le compte (dans ce chapitre).
Par exemple, les commandes suivantes accordent les privilèges nécessaires pour deux bases de données nommées
shared_db1
etshared_db2
, et un entrepôt nommétesting_vw
, au rôle PUBLIC. Comme tous les utilisateurs du compte ont automatiquement le rôle PUBLIC, cela permet à tout utilisateur du compte d’utiliser l’entrepôt et d’interroger les bases de données :GRANT IMPORTED PRIVILEGES ON DATABASE shared_db1 TO ROLE PUBLIC; GRANT IMPORTED PRIVILEGES ON DATABASE shared_db2 TO ROLE PUBLIC;
En outre, accordez le privilège USAGE sur un entrepôt virtuel que vous avez créé pour exécuter des requêtes :
GRANT USAGE ON WAREHOUSE testing_vw TO ROLE PUBLIC;
Vous pouvez accorder des privilèges supplémentaires si vous le souhaitez. Cependant, les privilèges énumérés ci-dessus sont les privilèges minimum requis pour interroger les bases de données partagées dans le compte.
En outre, vous pouvez accorder tous les privilèges sur l’entrepôt testing_vw
au rôle SYSADMIN , permettant aux utilisateurs ayant le rôle de démarrer, d’arrêter et de redimensionner l’entrepôt :
GRANT ALL ON WAREHOUSE testing_vs TO ROLE SYSADMIN;
Pour plus de détails, voir GRANT <privilèges>.
Tâche 8 : inviter des utilisateurs à se connecter et à réinitialiser leur mot de passe¶
Comme dernière tâche de configuration, avertissez tous les utilisateurs que vous avez créés que le compte est disponible pour être utilisé.
La façon la plus rapide et la plus simple de le faire est d’utiliser la commande ALTER USER pour réinitialiser le mot de passe de chaque utilisateur. Ceci génère un URL unique pour chaque utilisateur, que vous lui envoyez ensuite. Ils utilisent l’URL pour changer leur mot de passe et se connecter au compte.
Par exemple :
ALTER USER ra_user1 RESET PASSWORD; ALTER USER ra_user2 RESET PASSWORD;
Important
Chaque URL peut être utilisé seulement une fois et expire après 4 heures. Toutefois, vous pouvez réinitialiser le mot de passe d’un utilisateur aussi souvent que nécessaire.
Pour plus de détails, voir ALTER USER.