Rôles des collaborateurs dans les salles blanches de données de collaboration

Vue d’ensemble des rôles de collaboration

Les collaborateurs ont un ou plusieurs des rôles de collaboration suivants dans un scénario de collaboration en salle blanche. Dans ce cas, un rôle de collaboration est un ensemble de capacités, et non un rôle RBAC :

  • Propriétaire : le propriétaire définit, crée et possède la collaboration, et détermine les collaborateurs qui sont invités et leurs rôles de collaboration. Un propriétaire n’est pas automatiquement un gestionnaire d’analyses ou un fournisseur de données, et ne dispose pas de privilèges d’exécution élevés. Les principales capacités du propriétaire sont de créer la salle blanche, d’attribuer des rôles de collaboration, de déterminer qui peut partager des données avec qui, et de supprimer la salle blanche. Une collaboration ne peut avoir qu’un seul propriétaire.

  • Fournisseur de données : fournit des offres de données, telles que des tables et des vues, à une collaboration, et spécifie quels gestionnaires d’analyses peuvent les utiliser. En d’autres termes, le compte A est un fournisseur de données pour les comptes B et C, comme spécifié dans la spécification de la collaboration.

  • Gestionnaire d’analyses : exécute les modèles autorisés sur les offres de données autorisées, comme spécifié par la spécification de la collaboration. Un exécutant d’analyse n’est pas un fournisseur de données pour lui-même par défaut, à moins que cela ne soit spécifié dans la spécification de la collaboration.

Un collaborateur peut avoir plusieurs rôles dans une collaboration et plusieurs collaborateurs peuvent avoir le même rôle dans une collaboration (à l’exception du rôle de propriétaire, qui n’est attribué qu’à un seul utilisateur). Par exemple, le propriétaire d’une collaboration peut également être un fournisseur de données et un gestionnaire d’analyses.

Le propriétaire spécifie tous les collaborateurs et leurs rôles lorsqu’il crée la collaboration. Les collaborateurs et leurs rôles ne peuvent pas être modifiés après la création d’une collaboration. Par conséquent, les affectations de rôles de collaboration suivantes sont définies après la création d’une collaboration :

  • Le propriétaire ne peut pas être modifié.

  • Les gestionnaires d’analyses ne peuvent pas être ajoutés ou supprimés.

  • La liste des fournisseurs de données pour chaque gestionnaire d’analyses ne peut pas être modifiée. Si le compte A n’est pas défini comme fournisseur de données pour le compte B lors de la création de la collaboration, le compte A ne peut jamais être un fournisseur de données pour le compte B.

Cependant, les collaborateurs peuvent lier ou supprimer des ressources après la création d’une collaboration.

Voir votre rôle

Appelez GET_STATUS pour voir vos rôles dans une collaboration dans la colonne ROLES :

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS($collaboration_name);

Si vous souhaitez voir plus de détails sur vos rôles, par exemple, si vous êtes un fournisseur de données et que vous voulez voir avec qui vous pouvez partager des données, vous devez examiner la spécification. Voici comment consulter les spécifications de la collaboration en un seul appel après avoir rejoint une collaboration :

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS() ->>
  SELECT "COLLABORATION_SPEC" FROM $1
    WHERE "SOURCE_NAME" = $collaboration_name;

Exemple

L’exemple suivant montre une définition de collaboration très basique qui définit les rôles, mais ne définit aucune ressource. Vous pouvez créer une collaboration avec ou sans ressources, et les ajouter ou les supprimer ultérieurement.

api_version: 2.0.0
spec_type: collaboration
name: basic_collaboration
owner: alice
collaborator_identifier_aliases:
  alice: corp1.acct123
  bob: corp2.acctxyz
analysis_runners:
  alice:
    data_providers:
      alice:
        data_offerings: []
      bob:
        data_offerings: []
  bob:
    data_providers:
      alice:
        data_offerings: []

La collaboration précédente définit les collaborateurs et les rôles suivants :

  • alice est propriétaire de la collaboration, gestionnaire d’analyses et fournisseur de données pour bob et elle-même. alice est l’alias défini dans la collaboration pour le compte corp1.acct123.

  • bob est gestionnaire d’analyses et fournisseur de données pour alice mais pas pour lui-même. bob est l’alias défini dans la collaboration pour le compte corp2.acctxyz.

Ces rôles ne peuvent pas être modifiés, et de nouveaux collaborateurs ne peuvent pas être ajoutés après la création de la collaboration.

Les fournisseurs de données peuvent lier des offres de données après la création d’une collaboration. Tout collaborateur peut demander l’ajout de modèles après la création d’une collaboration. L’exemple suivant montre comment vous pouvez utiliser l’API de collaboration pour lier des ressources à la collaboration précédente après sa création :

api_version: 2.0.0
spec_type: collaboration
name: basic_collaboration
owner: alice
collaborator_identifier_aliases:
  alice: corp1.acct123
  bob: corp2.acctxyz
analysis_runners:
  alice:
    data_providers:
      alice:
        data_offerings:
        - id: alice_data_1
        - id: alice_data_2
      bob:
        data_offerings:
        - id: bob_data_1
    templates:
    - id: template1  # Alice can run template1 using alice_data_1, alice_data_2, or bob_data_1.
  bob:
    data_providers:
      alice:
        data_offerings:
        - id: alice_data_1
    templates:
    - id: template2  # Bob can run template2 using data from alice_data_1, provided by alice.

La collaboration modifiée prend désormais en charge les ressources et capacités suivantes :

  • alice peut exécuter des analyses à l’aide de template1 avec des données de alice_data_1, alice_data_2 et bob_data_1.

  • bob peut exécuter template2 à l’aide des données de alice_data_1.