Verwalten des Zugriffs auf Collaborations, Ressourcen und Daten¶
Übersicht¶
Der Zugriff auf Collaborations und die Möglichkeit, Aktionen in einer Collaboration durchzuführen, werden über die folgenden Mechanismen verwaltet:
Berechtigung zur Installation von Anwendungen für das Konto ist für die Installation der Data Clean Room-Anwendung erforderlich. ACCOUNTADMIN verfügt standardmäßig darüber.
Berechtigung zum Ausführen bestimmter Collaboration-API-Prozeduren wird von DCR-Berechtigungen verwaltet.
Die Berechtigung zum Ausführen bestimmter rollenbasierter Aktionen in einer Collaboration wird von Collaboration-Rollen verwaltet. Diese Rollen bestimmen, was ein Benutzer in einer bestimmten Collaboration tun kann. Die :ref:` Definition der Collaboration<label-dcr_collaboration_spec_yaml>` muss Sie als Analyseausführenden auflisten, um eine Analyse durchführen zu können. Sie müssen als Datenanbieter aufgeführt sein, um Daten für einen bestimmten Anbieter von Analysen freizugeben.
Diese Mechanismen überlappen sich, und alle Anforderungen müssen erfüllt sein, um eine bestimmte Aktion auf einer bestimmten Ressource ausführen zu können. Beispiel: Damit Sie eine Tabelle my_data für user_1 in der bestehenden Collaboration collab_1 freigeben können, müssen alle folgenden Anforderungen erfüllt werden:
Sie müssen ein bestimmter Datenanbieter für
user_1in der Collaboration sein, und``user_1`` muss ein Analyseausführender in dieser Collaboration sein (Collaboration-Rrolle).Sie müssen die Berechtigung haben, die entsprechende Collaboration-API-Prozeduren zur Verknüpfung des Datenangebots mit der Collaboration aufzurufen (DCR-Berechtigung).
Sie müssen die REFERENCE_USAGE-Berechtigung mit GRANT OPTION für die Tabelle
my_datahaben, um sie als Datenangebotsressource zu registrieren (RBAC-Berechtigung).
Unter diesem Thema wird beschrieben, wie Sie DCR-Berechtigungen verwalten. Datenrichtlinien und Rollen für die Collaboration werden separat beschrieben.
Verwenden von DCR-Berechtigungen zum Verwalten von Berechtigungen für Konten, Objekte und Prozeduren¶
Die SAMOOHA_APP_ROLE-Rolle hat die Berechtigungen, alle Prozeduren in der Collaboration-API auszuführen. Diese Rolle hat möglicherweise einen umfassenderen Zugriff, als Sie einigen Gruppen von Benutzern in Ihrem Konto gewähren möchten. Obwohl Collaboration-Rollen die Aktionen eines Benutzers einschränken, können Sie auch bestimmte Rollen mit genaueren und eingeschränkteren Berechtigungen bereitstellen.
Nachdem die Snowflake Data Clean Rooms-App installiert wurde, können bestimmten Benutzern zusätzliche Data Clean Room-spezifische Berechtigungen zugewiesen werden.
Um einem Benutzer detaillierte API-Berechtigungen zu erteilen, führen Sie die folgenden Schritte aus:
Erstellen Sie eine Rolle.
Erteilen Sie der Rolle die Nutzungsberechtigung für das verwendete Warehouse.
Rufen Sie bei Bedarf GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE auf, um einer Rolle die entsprechenden Berechtigungen für eine bestimmte Collaboration zu erteilen.
Rufen Sie bei Bedarf GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE auf, um der Rolle entsprechende Berechtigungen für alle Collaborations im Konto zu erteilen.
Weisen Sie dem Benutzer die Rolle zu, der nun Collaboration-Prozeduren aufrufen kann, um an der Zusammenarbeit teilnehmen zu können.
Beispiel:GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE( 'JOIN COLLABORATION', 'collab_join_role' ) gewährt die collab_join_role-Berechtigung zum Aufrufen von JOIN ,REVIEW ,RUN ,LEAVE ,VIEW_DATA_OFFERINGS und vieler anderer API-Prozeduren, die erforderlich sind, um einer Collaboration beizutreten und diese zu nutzen. Im Gegensatz dazu gewährt GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'registry_1', 'registry_reader_role') der registry_reader_role die Berechtigung zum Lesen aus einer einzelnen Registry. Sie können derselben Rolle mehrere Gruppen von Berechtigungen erteilen.
Erfahren Sie, welche DCR-Berechtigungen gewährt werden müssen, um eine bestimmte Collaboration-API-Prozedur aufrufen zu können, wenn Sie SAMOOHA_APP_ROLE nicht verwenden.
Das folgende Beispiel zeigt das Erstellen einer Rolle mit dem Namen COLLABORATION_CREATOR, die eine Collaboration erstellen, eine benutzerdefinierte Registry erstellen und Datenangebote registrieren kann, sowie das Zuweisen der Rolle zum aktuellen Benutzer.
Der folgende Code verwendet die RolleCOLLABORATION_CREATOR, um eine kundenspezifische Registry zu erstellen, und gewährt dann der Rolle EU_SALES_TEAM Lesezugriff auf diese Registry:
DCR-Berechtigungsanforderungen für Collaboration-API-Prozeduren¶
Wenn Sie eine kundenspezifische Rolle (anstelle von SAMOOHA_APP_ROLE verwenden), fasst die folgende Tabelle die Berechtigungen zusammen, die für die Ausführung der einzelnen Collaboration-API-Prozedur erforderlich sind.
Wenn nicht anders angegeben, sind Berechtigungen in einer Aufzählungsliste in der Regel Alternativen: Sie benötigen nur eine der aufgeführten Berechtigungen, um die angegebene Prozedur auszuführen.
Prozedurname |
Zugriffsanforderungen |
|---|---|
Standard-Registry: Kundenspezifische Registry: Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben. Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie |
|
Standard-Registry:
Kundenspezifische Registry: Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben. Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie |
|
Wenn sich die Vorlage in einer kundenspezifischen Registry befindet oder auf eine Codespezifikation in einer kundenspezifischen Registry verweist, müssen Sie auch über die READ-Berechtigung für die Registry verfügen. |
|
|
|
Um Objekte zu sehen, die in einer kundenspezifischen Registry registriert sind, benötigen Sie außerdem die READ-Berechtigung für diese Registry. |
|
|
|
|
|
|
|
|
|
Standard-Registry: Kundenspezifische Registry: Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben. Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie Außerdem benötigt der Aufrufer folgende RBAC-Berechtigungen:
|
|
Außerdem muss der Aufrufer die REFERENCE_USAGE-Berechtigung mit GRANT OPTION für alle freizugebenden Daten haben. Ist dies nicht der Fall, erhalten Sie die Fehlermeldung, dass eine Referenznutzungsberechtigung fehlt. Erfahren Sie, wie Sie mit diesem Problem umgehen können. Wenn sich das Datenangebot in einer kundenspezifischen Registry befindet, müssen Sie auch über entsprechende Berechtigungen verfügen, die durch den Aufruf von |
|
Die |
|
|
|
|
|
Standard-Registry:
Kundenspezifische Registry: Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben. Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie |
|
Um Objekte zu sehen, die in einer kundenspezifischen Registry registriert sind, benötigen Sie außerdem die READ-Berechtigung für diese Registry. |
|
Standard-Registry: Kundenspezifische Registry: Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben. Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie |
|
Standard-Registry:
Kundenspezifische Registry: Sie haben Lese- und Schreibberechtigungen für jede kundenspezifische Registry, die Sie selbst erstellt haben. Um auf eine von einem anderen Benutzenden erstellte kundenspezifische Registry zuzugreifen, benötigen Sie |
|
Um Objekte zu sehen, die in einer kundenspezifischen Registry registriert sind, benötigen Sie außerdem die READ-Berechtigung für diese Registry. |
|
|
|
|
|
|
|
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen. |
|
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen. |
|
|
|
Sie müssen eine Rolle verwenden, der die Berechtigung MANAGE FIREWALL_CONFIGURATION für das Konto zugewiesen wurde. |
|
|
|
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen. |
|
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen. |
|
Siehe GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE für zusätzliche erforderliche Rollenberechtigungen. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Sie benötigen die ACCOUNTADMIN-Rolle oder eine Rolle mit der globalen MANAGE GRANTS-Berechtigung, um diese Prozedur auszuführen. |