Rôles des collaborateurs dans les salles blanches de données de collaboration¶
Vue d’ensemble¶
Les collaborateurs jouent un ou plusieurs des rôles suivants dans un scénario de collaboration en salle blanche. Dans ce cas, un rôle 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. 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 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 description 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 définition 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.
Vous pouvez consulter les rôles disponibles pour une collaboration dans la colonne ROLES en appelant GET_STATUS, qui répertorie vos rôles dans la colonne ROLES. Par exemple, si vous êtes un fournisseur de données et que vous souhaitez voir avec qui vous pouvez partager des données, examinez les spécifications de votre collaboration pour voir les détails de votre rôle. 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;
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 fonctionnalités de rôle suivantes sont fixes 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 ajouter ou supprimer des ressources après la création d’une collaboration.
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 :
aliceest propriétaire de la collaboration, gestionnaire d’analyses et fournisseur de données pourbobet elle-même.aliceest l’alias défini dans la collaboration pour le comptecorp1.acct123.bobest gestionnaire d’analyses et fournisseur de données pouralicemais pas pour lui-même.bobest l’alias défini dans la collaboration pour le comptecorp2.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 ajouter des offres de données après la création d’une collaboration. Tout collaborateur peut ajouter des modèles après la création d’une collaboration. L’exemple suivant montre comment vous pouvez utiliser l’API de collaboration pour ajouter 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 :
alicepeut exécuter des analyses à l’aide detemplate1avec des données dealice_data_1,alice_data_2etbob_data_1.bobpeut exécutertemplate2à l’aide des données dealice_data_1.