Best Practices für freigegebene Arbeitsbereiche¶
Die folgenden Empfehlungen zeigen, wie Administrierende freigegebene Arbeitsbereiche effektiv planen, konfigurieren und warten können.
Freigegebene Arbeitsbereiche planen und einrichten¶
Freigegebene Arbeitsbereiche werden als Objekte auf Schemaebene innerhalb einer Standarddatenbank erstellt und folgen dem bestehenden Modell der rollenbasierten Zugriffssteuerung (RBAC) von Snowflake.
Um einen freigegebenen Arbeitsbereich zu erstellen, müssen Benutzer entweder Eigentümer des Zielschemas sein oder über die folgenden Berechtigungen verfügen:
USAGE für Datenbank und Schema
CREATE WORKSPACE für das Schema
Berechtigungen für die Erstellung erteilen¶
Führen Sie als Admin den folgenden Befehl aus, um einer Person die erforderlichen Berechtigungen auf Schemaebene zu erteilen:
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
Befehle zur Verwaltung von Arbeitsbereichen¶
Verwenden Sie die folgenden Befehle, um den Zugriff auf bestehende freigegebene Arbeitsbereiche zu überwachen und zu verwalten:
Aktion |
Syntax |
|---|---|
Auflisten aller Arbeitsbereiche |
|
Anzeigen der Arbeitsbereichsberechtigungen |
|
Erteilen von Berechtigungen zum Bearbeiten |
|
Widerrufen von Berechtigungen zum Bearbeiten |
|
Beispiel
GRANT WRITE ON WORKSPACE my_workspace;
REVOKE WRITE ON WORKSPACE my_workspace;
Bewährte Governance-Praktiken¶
Wenn Sie freigegebene Arbeitsbereiche in Ihrem Konto aktivieren, beachten Sie die folgenden Best Practices:
Bewusst planen: Richten Sie freigegebene Arbeitsbereiche auf bestimmte Teams, Projekte oder Anwendungsfälle aus. Weniger, aber dafür gut definierte Arbeitsbereiche sorgen für mehr Übersichtlichkeit und reduzieren Verwirrung bei Benutzenden.
Berechtigungen zum Erstellen einschränken: Beschränken Sie CREATE WORKSPACE-Berechtigungen auf bestimmte Verwalterrollen und Schemabesitzende. Eine zu großzügige Gewährung dieser Berechtigung kann zu unnötigen Duplizierungen oder einer Überlastung des Arbeitsbereichs führen.
Lebenszyklus des Arbeitsbereichs überwachen: Überprüfen Sie regelmäßig bestehende freigegebene Arbeitsbereiche, und deaktivieren Sie veraltete oder nicht genutzte Arbeitsbereiche. Richten Sie einen unkomplizierten Überprüfungsprozess ein (z. B. vierteljährlich), um sicherzustellen, dass nur aktive und relevante Arbeitsbereiche verfügbar bleiben.
Organisationsmodelle¶
Administrierende können freigegebene Arbeitsbereiche je nach Zusammenarbeitsmodell ihrer Organisation auf unterschiedliche Weise strukturieren.
Zentraler Hub für die Zusammenarbeit¶
Eine einzige Datenbank und ein einziges Schema für die gemeinsamen Arbeitsbereiche aller Teams bieten einen einheitlichen Ort für die teamübergreifende Zusammenarbeit.
Beispiel-Setup
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;
Arbeitsbereiche für Teams¶
Jedes Team besitzt eine eigene Datenbank oder ein eigenes Schema und verwaltet innerhalb seines Bereichs gemeinsam genutzte Arbeitsbereiche. Dieses Modell eignet sich für Organisationen, die Datenbanken und Rollen bereits nach Abteilungen, Ausführungen oder Geschäftsbereichen ausrichten.
Hybrider Ansatz¶
Verwenden Sie ein kombiniertes, zentrales Schema für teamübergreifende Projekte oder Projekte mit hoher Sichtbarkeit mit teamspezifischen Schemas für die tägliche Zusammenarbeit. Dieses Modell bietet ein Gleichgewicht zwischen Flexibilität und zentralisierter Governance und Auffindbarkeit.
Hinweise zum Rollendesign und Zugriffsmanagement¶
Freigegebene Arbeitsbereiche können nur für Rollen (nicht für einzelne Benutzende) freigegeben werden.
Die meisten Organisationen können ihre vorhandenen Rollen verwenden, um den Zugriff zu verwalten. Vermeiden Sie es, neue Rollen ausschließlich für freigegebene Arbeitsbereiche zu erstellen, sofern dies nicht erforderlich ist.
Best Practices¶
Verwenden Sie bestehende Rollen, die bereits eine Teammitgliedschaft oder Funktion darstellen.
Weisen Sie eine bestimmte Verwalterrolle zu, die für die Verwaltung des Zugriffs und die Aufrechterhaltung der Arbeitsbereichsstruktur verantwortlich ist.
Einführung und Wartung¶
Namenskonventionen: Um die Auffindbarkeit zu verbessern, verwenden Sie klare und konsistente Muster wie
TEAM_PROJECT_NAME.Eigentümerschaft: Weisen Sie jedem freigegebenen Arbeitsbereich eine Verwalter- oder Eigentümerrolle zu, um die Verantwortlichkeit zu gewährleisten.
Dokumentation: Pflegen Sie ein internes Verzeichnis oder Wiki, das die aktiven freigegebenen Arbeitsbereiche und deren Verwendungszweck auflistet.
Konsistenz: Bewegen Sie Benutzende dazu, von privaten in freigegebene Arbeitsbereiche zu wechseln, wenn Code oder Abfragen für die Zusammenarbeit bereit sind.
Regelmäßige Überprüfung: Überprüfen Sie Rollen, Schemas und freigegebene Arbeitsbereiche in regelmäßigen Abständen, um sicherzustellen, dass sie mit den Richtlinien und Teamstrukturen des Unternehmens übereinstimmen.