Snowflake Feature Store-Zugriffssteuerungsmodell¶
Bemerkung
Der Snowflake Feature Store API ist im Snowpark ML Python-Paket (snowflake-ml-python) v1.5.0 und höher verfügbar.
Die vom Snowflake Feature Store geforderten Berechtigungen hängen von der Art des Benutzers ab.
Ersteller können Feature-Ansichten erstellen und mit ihnen arbeiten.
Verbraucher können Informationen über Feature-Ansichten und Entitäten im Feature Store lesen.
Normalerweise hat jeder Typ von Benutzer eine eigene Snowflake-Datenbankrolle mit den erforderlichen Berechtigungen. Feature Store-Rollen werden am natürlichsten über eine Rollenhierarchie konfiguriert.
Die Ersteller benötigen die folgenden Berechtigungen:
CREATE DYNAMIC TABLE, CREATE TAG und CREATE VIEW für das Feature Store-Schema
Bemerkung
Für von Snowflake verwaltete Feature-Ansichten (die von einer dynamischen Tabelle unterstützt werden) mit inkrementeller Aktualisierung muss in den Quelltabellen die Änderungsverfolgung aktiviert sein, oder der Benutzer muss OWNERSHIP dieser Tabellen so einstellen, dass die Änderungsverfolgung automatisch aktiviert wird, wenn die Feature-Ansicht erstellt wird.
CREATE TABLE und CREATE DATASET für das Feature Store-Schema und/oder das Zielschema beim Generieren von Datensets für das Training.
OPERATE auf die dynamischen Tabellen und Aufgaben m Schema des Feature Stores, um die Einstellungen für die Aktualisierung der Feature-Ansicht zu verwalten.
USAGE auf das Warehouse, das an den Feature Store-Initializer übergeben wurde.
CREATE SCHEMA ist optional, wenn das Schema des Feature Stores bereits existiert und die Ersteller die Berechtigung haben, es zu verwenden.
Alle unten aufgeführten Berechtigungen für Verbraucher.
Als Verbraucher benötigen Sie mindestens die folgenden Berechtigungen:
USAGE für die Feature Store-Datenbank und das Feature Store-Schema
SELECT und MONITOR für DYNAMIC TABLES im Feature Store-Schema
SELECT und REFERENCE für Ansichten im Feature Store-Schema
USAGE für das Warehouse, das an den Feature Store-Initialisierer übergeben wurde
Verbraucher können auch über die folgenden Berechtigungen verfügen, um die Daten des Feature Stores nutzen zu können:
CREATE TABLE und CREATE DATASET für das Feature Store-Schema und/oder das Zielschema zum Generieren von Datensets für das Training.
SELECT und REFERENCE für Tabellen im Feature Store oder für jedes Schema, das generierte Datensets enthält.
USAGE on DATASETs im Feature Store-Schema oder für jedes Schema, das generierte Datensets enthält.
Wenn Sie mehrere Feature Stores haben, werden Sie wahrscheinlich diese beiden Typen von Rollen für jeden einzelnen Feature Store oder für logische Gruppierungen von Feature Stores haben.
Bemerkung
Sie benötigen eine Rolle mit den Berechtigungen MANAGE GRANTS, CREATE ROLE und CREATE SCHEMA ON DATABASE <DB>, um die erforderlichen Feature Store-Rollen und -Rechte zu konfigurieren. Sie können die integrierte Rolle ACCOUNTADMIN verwenden oder eine kundenspezifische Rolle mit diesen Berechtigungen verwenden.
Einrichtung der Zugriffssteuerung in Python¶
snowflake-ml-python-Paket ab Version 1.6.3 enthält eine setup_feature_store-Dienstprogramm-API für die Konfiguration eines neuen Feature Store mit Rollen und Berechtigungen für Ersteller und Verbraucher. Im folgenden Beispiel geben Sie die Namen der Datenbank, des Schemas, des Warehouse und der Ersteller- und Konsumentenrolle ein, wo dies angegeben ist.
Zugriffssteuerung mit SQL einrichten¶
Sie können die Rollen und Berechtigungen des Feature Store mit den folgenden SQL-Befehlen manuell konfigurieren. Beachten Sie, dass es im ersten Block mehrere SET-Befehle gibt, die dem Skript die Namen mitteilen, die Sie für Ihre Ersteller- und Verbraucher-Rollen verwenden möchten, sowie die Namen der Datenbank und des Schemas, in denen die Feature-Ansichten gespeichert werden sollen. Falls diese Objekte noch nicht vorhanden sind, werden sie erstellt.