Teilnehmerrollen in Collaboration Data Clean Rooms¶
Übersicht¶
Teilnehmende agieren als eine oder mehrere der folgenden Rollen für die Zusammenarbeit in einem Clean Room. In diesem Fall ist eine Rolle eine Gruppe von Berechtigungen, nicht eine RBAC-Rolle:
Eigentümer: Diese Person definiert, erstellt und besitzt die Zusammenarbeit und definiert, welche Teilnehmenden eingeladen werden und welche Rollen sie haben. Ein Eigentümer ist nicht automatisch ein Analyseausführer oder Datenanbieter und hat keine erhöhten Ausführungsberechtigungen. Die Hauptfähigkeiten Eigentümers bestehen darin, den Clean Room zu erstellen, Rollen zuzuweisen, zu bestimmen, wer mit wem Daten teilen darf, und den Clean Room wieder abzubauen. Eine Zusammenarbeit kann nur einer Person gehören.
Datenanbieter: Stellt Datenangebote, wie z. B. Tabellen und Ansichten, für eine Zusammenarbeit bereit und gibt an, welche Analyseprotokolle diese verwenden können. Das heißt, Konto A ist ein Datenanbieter für die Konten B und C, wie in der Beschreibung der Zusammenarbeit angegeben.
Analyseausführer: Führt zulässige Vorlagen auf zulässigen Datenangeboten aus, wie in der Zusammenarbeitsdefinition angegeben.
Eine teilnehmende Person kann mehrere Rollen bei einer Zusammenarbeit haben, und mehrere teilnehmende Personen können dieselbe Rolle bei einer Zusammenarbeit haben (mit Ausnahme der Eigentümerrolle, die nur einem Benutzenden zugewiesen ist). Der Eigentümer einer Zusammenarbeit kann zum Beispiel auch ein Datenanbieter und ein Analyseausführer sein.
Sie können Ihre verfügbaren Rollen für eine Zusammenarbeit in der ROLES-Spalte durch Aufruf von GET_STATUS sehen, wodurch Ihre Rollen in der ROLES-Spalte aufgelistet werden. Wenn Sie beispielsweise ein Datenanbieter sind und sehen möchten, für wen Sie Daten freigeben können, prüfen Sie die Spezifikation für Ihre Zusammenarbeit, um Ihre Rollendetails zu sehen. Hier sehen Sie, wie Sie die Zusammenarbeitsspezifikation in einem einzigen Aufruf anzeigen können, nachdem Sie einer Zusammenarbeit beigetreten sind:
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS() ->>
SELECT "COLLABORATION_SPEC" FROM $1
WHERE "SOURCE_NAME" = $collaboration_name;
Der Eigentümer gibt alle Teilnehmenden und deren Rollen an, wenn sie die Zusammenarbeit erstellen. Teilnehmende und ihre Rollen können nicht mehr geändert werden, nachdem eine Zusammenarbeit erstellt wurde. Infolgedessen sind die folgenden Rollenfeatures festgelegt, nachdem eine Zusammenarbeit erstellt wurde:
Der Eigentümer kann nicht geändert werden.
Analyseausführer können nicht hinzugefügt oder entfernt werden.
Die Liste der Datenanbieter für die einzelnen Analyseausführer kann nicht geändert werden. Wenn Konto A bei der Erstellung der Zusammenarbeit nicht als Datenanbieter für Konto B definiert ist, kann Konto A niemals ein Datenanbieter für Konto B sein.
Allerdings können Teilnehmende Ressourcen hinzufügen oder entfernen, nachdem eine Zusammenarbeit erstellt wurde.
Beispiel¶
Das folgende Beispiel zeigt eine sehr einfache Definition der Zusammenarbeit, die Rollen, aber keine Ressourcen definiert. Sie können eine Zusammenarbeit mit oder ohne Ressourcen erstellen und diese später hinzufügen oder entfernen.
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: []
Die vorherige Zusammenarbeit definiert die folgenden Teilnehmenden und Rollen:
aliceist Eigentümer der Zusammenarbeit, Anbieter von Analysen und Datenanbieter fürbobund sich selbst.aliceist der in der Zusammenarbeit für das Kontocorp1.acct123definierte Alias.bobist Analyseausführer und Datenanbieter füralice, aber nicht für sich selbst.bobist der in der Zusammenarbeit für das Kontocorp2.acctxyzdefinierte Alias.
Diese Rollen können nicht mehr geändert werden, und neue Teilnehmende können nicht hinzugefügt werden, nachdem die Zusammenarbeit erstellt wurde.
Datenanbieter können Datenangebote hinzufügen, nachdem eine Zusammenarbeit erstellt wurde. Jede teilnehmende Person kann Vorlagen hinzufügen, nachdem eine Zusammenarbeit erstellt wurde. Das folgende Beispiel zeigt, wie Sie die Collaboration API verwenden können, um der vorherigen Zusammenarbeit Ressourcen hinzuzufügen, nachdem sie erstellt wurde:
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.
Die geänderte Zusammenarbeit unterstützt jetzt die folgenden Ressourcen und Funktionen:
alicekann Analysen mittemplate1mit Daten vonalice_data_1,alice_data_2``und ``bob_data_1ausführen.bobkanntemplate2unter Verwendung von Daten vonalice_data_1ausführen.