Bonnes pratiques relatives aux espaces de travail partagés

Les recommandations suivantes détaillent comment les administrateurs peuvent planifier, configurer et gérer efficacement les espaces de travail partagés.

Planifier et configurer des espaces de travail partagés

Les espaces de travail partagés sont créés sous forme d’objets de niveau schéma dans une base de données standard et suivent le modèle de contrôle d’accès basé sur les rôles existant de Snowflake (RBAC).

Pour créer un espace de travail partagé, les utilisateurs doivent être propriétaires du schéma cible ou disposer des privilèges suivants :

  • USAGE sur la base de données et le schéma

  • CREATE WORKSPACE sur le schéma

Accorder des privilèges de création

  1. En tant qu’administrateur, pour accorder les privilèges nécessaires au niveau du schéma à un utilisateur, exécutez la commande suivante :

    GRANT USAGE ON DATABASE <database_name>.<schema_name> TO ROLE <role_name>;
    GRANT CREATE WORKSPACE ON SCHEMA <database_name>.<schema_name> TO ROLE <role_name>;
    
    Copy

Commandes de gestion des espaces de travail

Utilisez les commandes suivantes pour surveiller et gérer l’accès aux espaces de travail partagés existants :

Action

Syntaxe

Lister tous les espaces de travail

SHOW WORKSPACES IN ACCOUNT;

Afficher les autorisations de l’espace de travail

SHOW GRANTS ON WORKSPACE <workspace_name>;

Accorder des autorisations de modification

GRANT WRITE ON WORKSPACE <workspace_name> TO ROLE <role_name>;

Révoquer des autorisations de modification

REVOKE WRITE ON WORKSPACE <workspace_name> FROM ROLE <role_name>;

Exemple

GRANT WRITE ON WORKSPACE my_workspace;

REVOKE WRITE ON WORKSPACE my_workspace;
Copy

Bonnes pratiques en matière de gouvernance

Lorsque vous activez des espaces de travail partagés dans votre compte, tenez compte des bonnes pratiques suivantes :

  • Planifier intentionnellement : Alignez les espaces de travail partagés avec des équipes, des projets ou des cas d’utilisation spécifiques. Un nombre moins importants d’espaces de travail bien définis réduisent l’encombrement et la confusion auprès des utilisateurs.

  • Limiter les privilèges de création : Restreindre les privilèges CREATE WORKSPACE aux rôles de gestionnaire et aux propriétaires de schéma désignés. Accorder ce privilège de manière trop large peut entraîner des doublons inutiles ou une prolifération des espaces de travail.

  • Surveiller le cycle de vie de l’espace de travail : Examinez régulièrement les espaces de travail partagés existants et supprimez ceux qui sont obsolètes ou inutilisés. Établissez un processus d’examen optimisé (par exemple, trimestriel) pour garantir que seuls les espaces de travail actifs et pertinents restent disponibles.

Modèles organisationnels

Les administrateurs peuvent structurer les espaces de travail partagés de différentes manières en fonction du modèle de collaboration de leur entreprise.

Hub de collaboration centralisée

Une base de données et un schéma uniques dédiés aux espaces de travail partagés pour toutes les équipes fournissent un emplacement cohérent pour la collaboration inter-équipes.

Exemple de configuration

CREATE DATABASE IF NOT EXISTS SHARED_WORKSPACES_DB;
CREATE SCHEMA IF NOT EXISTS SHARED_WORKSPACES_SCHEMA;

GRANT USAGE ON DATABASE SHARED_WORKSPACES_DB.SHARED_WORKSPACES_SCHEMA TO ROLE WORKSPACES_STEWARDS;
GRANT CREATE WORKSPACE ON SCHEMA SHARED_WORKSPACES_DB.SHARED_WORKSPACES_SCHEMA TO ROLE WORKSPACES_STEWARDS;
Copy

Espaces de travail à l’échelle de l’équipe

Chaque équipe possède sa propre base de données ou son propre schéma et gère les espaces de travail partagés dans son cadre. Ce modèle convient aux organisations qui alignent déjà les bases de données et les rôles par service, branche ou unité commerciale.

Approche hybride

Utilisez un schéma central combiné pour les projets inter-équipes ou à forte visibilité, avec des schémas spécifiques à chaque équipe pour la collaboration quotidienne. Ce modèle offre un équilibre entre flexibilité, gouvernance centralisée et facilité de recherche.

Considérations relatives à la conception de rôles et à la gestion des accès

  • Les espaces de travail partagés peuvent uniquement être partagés avec des rôles (et non des utilisateurs individuels).

  • La plupart des organisations peuvent utiliser leurs rôles existants pour gérer les accès. Évitez de créer de nouveaux rôles uniquement pour les espaces de travail partagés, sauf si nécessaire.

Meilleures pratiques

  • Utilisez les rôles existants qui représentent déjà l’appartenance à une équipe ou une fonction.

  • Attribuez un rôle de gestionnaire désigné responsable de la gestion des accès et de la maintenance de la structure du lieu de travail.

Adoption et maintenance

  • Conventions de dénomination : pour améliorer la visibilité, utilisez des modèles clairs et cohérents tels que TEAM_PROJECT_NAME.

  • Propriété : attribuez un rôle de gestionnaire ou de propriétaire à chaque espace de travail partagé afin de garantir la responsabilité.

  • Documentation : tenez à jour un répertoire interne ou un wiki répertoriant les espaces de travail partagés actifs et leur objectif.

  • Cohérence : encouragez les utilisateurs à passer des espaces de travail privés aux espaces de travail partagés lorsque le code ou les requêtes sont prêtes pour la collaboration.

  • Passer en revue régulièrement : auditer régulièrement les rôles, les schémas et les espaces de travail partagés pour vous assurer qu’ils restent alignés sur les politiques organisationnelles et les structures d’équipe.