SNOWFLAKE-Datenbankrollen¶
Bei der Einrichtung eines Kontos wird die SNOWFLAKE-Datenbank automatisch importiert. Die Datenbank ist ein Beispiel, wie Snowflake Secure Data Sharing verwendet, um Objektmetadaten und andere Nutzungskennzahlen für Ihre Organisation und Ihre Konten zur Verfügung zu stellen.
Der Zugriff auf Schemaobjekte in der SNOWFLAKE-Datenbank wird durch verschiedene Datenbankrollen gesteuert. In den folgenden Abschnitten werden die SNOWFLAKE-Datenbankrollen, die zugehörigen Berechtigungen und die Schemaobjekte beschrieben, auf die die Rolle Zugriff hat.
ACCOUNT_USAGE-Schema¶
ACCOUNT_USAGE-Schemas haben vier definierte SNOWFLAKE-Datenbankrollen, die jeweils die SELECT-Berechtigung für bestimmte Ansichten haben.
Rolle |
Zweck und Beschreibung |
|---|---|
OBJECT_VIEWER |
Die Rolle OBJECT_VIEWER bietet Einblick in die Metadaten eines Objekts. |
USAGE_VIEWER |
Die Rolle USAGE_VIEWER bietet Einblick in historische Nutzungsinformationen. |
GOVERNANCE_VIEWER |
Die GOVERNANCE_VIEWER-Rolle bietet Einblick in Data Governance-bezogene Informationen. |
SECURITY_VIEWER |
Die Rolle SECURITY_VIEWER bietet Einblick in sicherheitsrelevante Informationen. |
Datenbankrolle, die für den Zugriff auf ACCOUNT_USAGE-Ansichten erforderlich ist¶
Die OBJECT_VIEWER-, USAGE_VIEWER-, GOVERNANCE_VIEWER-und SECURITY_VIEWER-Rollen haben die SELECT-Berechtigung zur Abfrage von Account Usage-Ansichten in der freigegebenen SNOWFLAKE Datenbank. Stellen Sie anhand der folgenden Tabelle fest, welche Datenbankrolle Zugriff auf eine Ansicht hat.
Ansicht |
Datenbankrollen |
|---|---|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER oder GOVERNANCE_VIEWER |
|
USAGE_VIEWER oder GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER, SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER, GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER oder GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
READER_ACCOUNT_USAGE-Schema¶
Die Datenbankrolle READER_USAGE_VIEWER SNOWFLAKE hat die SELECT-Berechtigung für alle READER_ACCOUNT_USAGE-Ansichten. Da Leserkonten von Clients erstellt werden, wird erwartet, dass die Rolle READER_USAGE_VIEWER denjenigen Rollen zugewiesen wird, die zur Überwachung der Nutzung von Leserkonten verwendet werden.
Ansicht |
|---|
ORGANIZATION_USAGE-Schema¶
Den SNOWFLAKE-Datenbankrollen ORGANIZATION_USAGE_VIEWER, ORGANIZATION_BILLING_VIEWER und ORGANIZATION_ACCOUNTS_VIEWER wird die SELECT-Berechtigung für die Organization Usage-Ansichten der freigegebenen SNOWFLAKE-Datenbank erteilt.
Ansicht |
ORGANIZATION_BILLING_VIEWER-Rolle |
ORGANIZATION_USAGE_VIEWER-Rolle |
ORGANIZATION_ACCOUNTS_VIEWER-Rolle |
|---|---|---|---|
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
CORE-Schema¶
Die SNOWFLAKE-Datenbankrolle CORE_VIEWER wird der Rolle PUBLIC in allen Snowflake-Konten zugewiesen, die eine freigegebene SNOWFLAKE-Datenbank enthalten. Die USAGE-Berechtigung wird allen von Snowflake definierten Funktionen und Bundles im CORE-Schema erteilt.
Budgetklasse¶
Die BUDGET_CREATOR Snowflake-Datenbankrolle erhält die USAGE-Berechtigung für das Schema SNOWFLAKE.CORE und die BUDGET-Klasse im Schema. Diese Berechtigung erlaubt es Benutzern mit der Rolle BUDGET_CREATOR, Instanzen der Klasse BUDGET zu erstellen.
Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Erstellen von Budgets erstellen.
Tag-Objekte¶
Die Datenbankrolle CORE_VIEWER erhält die APPLY-Berechtigung für jedes Datenklassifizierungs-System-Tag: SNOWFLAKE.CORE.PRIVACY_CATEGORY und SNOWFLAKE.CORE.SEMANTIC_CATEGORY. Mit diesen Berechtigungen können Benutzer mit einer Rolle, die die Datenbankrolle CORE_VIEWER hat, diese System-Tags zu Spalten zuzuweisen.
Weitere Details dazu finden Sie unter:
ALERT-Schema¶
Der Datenbankrolle ALERT_VIEWER SNOWFLAKE wurde die USAGE-Berechtigung für die in diesem Schema definierten Funktionen erteilt.
ML-Schema¶
Die ML_USER SNOWFLAKE-Datenbankrolle wird der PUBLIC-Rolle in allen Snowflake-Konten zugewiesen, die eine freigegebene SNOWFLAKE-Datenbank enthalten, und ermöglicht Kunden den Zugriff auf und die Nutzung von ML-Funktionen. Benutzer müssen auch über die USAGE-Berechtigung für das ML-Schema verfügen, um diese Funktionen aufzurufen.
MONITORING-Schema¶
Die Datenbankrolle MONITORING_VIEWER hat die SELECT-Berechtigung für alle Ansichten im MONITORING-Schema.
Die -Datenbankrolle MONITORING_VIEWER wird der Rolle PUBLIC in allen Snowflake-Konten zugewiesen, die eine freigegebene SNOWFLAKE-Datenbank enthalten.
SNOWFLAKE.CLASSIFICATION_ADMIN Datenbankrolle¶
Die Datenbankrolle SNOWFLAKE.CLASSIFICATION_ADMIN ermöglicht es einem Data-Engineer oder Datenverwalter, eine Instanz der Klasse CLASSIFICATION_PROFILE zu erstellen. Ein Klassifizierungsprofil wird verwendet, um eine automatische Klassifizierung sensibler Daten zu implementieren.
SNOWFLAKE.CORTEX_AGENT_USER database role¶
You can use the SNOWFLAKE.CORTEX_AGENT_USER database role to grant your users access to Snowflake Cortex Agents API without granting access to other Cortex features. Using the Cortex Agents API requires either the SNOWFLAKE.CORTEX_USER database role or the SNOWFLAKE.CORTEX_AGENT_USER database role.
By default, the SNOWFLAKE.CORTEX_USER database role is granted to the PUBLIC role. For fine-grained access control, revoke access from the PUBLIC role and grant access to the SNOWFLAKE.CORTEX_AGENT_USER database role. For more information, see Zugriff auf den Agenten einrichten.
SNOWFLAKE.CORTEX_EMBED_USER Datenbankrolle¶
The SNOWFLAKE.CORTEX_EMBED_USER database role is used to grant customers access to Snowflake Cortex embedding functions AI_EMBED, SNOWFLAKE.CORTEX.EMBED_768, and SNOWFLAKE.CORTEX_EMBED_TEXT_1024 without granting access to other Cortex features. Calling these embedding functions requires either the SNOWFLAKE.CORTEX_USER database role or the SNOWFLAKE.CORTEX_EMBED_USER database role. This role is not granted to any roles by default.
Standardmäßig wird diese Rolle keiner Rolle zugewiesen. Wenn Sie möchten, dass Benutzende Zugriff auf die Einbettungsfunktionen haben, weisen Sie diese Datenbankrolle den entsprechenden Rollen zu. Weitere Details dazu finden Sie unter Cortex LLM-Funktionen: erforderliche Berechtigungen
SNOWFLAKE.CORTEX_USER Datenbankrolle¶
Dies SNOWFLAKE.CORTEX_USER-Datenbankrolle wird verwendet, um Kunden Zugriff auf Snowflake Cortex-Features zu gewähren. Standardmäßig wird diese Rolle der PUBLIC-Rolle zugewiesen. Die PUBLIC-Rolle wird automatisch allen Benutzenden und Rollen zugewiesen, sodass alle Benutzenden in Ihrem Konto Snowflake Cortex LLM-Funktionen benutzen können.
Wenn Sie nicht möchten, dass alle Benutzenden diese Berechtigung haben, können Sie der Rolle PUBLIC die Berechtigung entziehen und den Zugriff nur bestimmten Rollen gewähren. Einzelheiten finden Sie unter Erforderliche Berechtigungen für Cortex-LLM-Funktionen.
SNOWFLAKE.COPILOT_USER Datenbankrolle¶
Mit der Datenbankrolle SNOWFLAKE.COPILOT_USER können Kunden auf die Features von Snowflake Copilot zugreifen. Diese Datenbankrolle wird zunächst der Rolle PUBLIC zugewiesen. Die Rolle PUBLIC wird automatisch allen Benutzern und Rollen zugewiesen, sodass alle Benutzer Ihres Kontos Snowflake Copilot verwenden können. Wenn Sie den Zugriff auf die Features von Snowflake Copilot beschränken möchten, können Sie den Zugriff von der Rolle PUBLIC widerrufen und den Zugriff nur bestimmten Rollen gewähren. Weitere Details dazu finden Sie unter Anforderungen an die Zugriffssteuerung.
Verwenden von SNOWFLAKE-Datenbankrollen¶
Administratoren können GRANT DATABASE ROLE verwenden, um eine SNOWFLAKE-Datenbankrolle einer anderen Rolle zuzuweisen, die dann einem Benutzer erteilt werden kann. Dies würde es dem Benutzer ermöglichen, auf eine bestimmte Teilmenge von Ansichten der SNOWFLAKE-Datenbank zuzugreifen.
Im folgenden Beispiel wird eine Rolle erstellt, mit der die Metadaten von SNOWFLAKE-Datenbankobjekten angezeigt werden können, und die Folgendes tut:
Erstellt eine kundenspezifische Rolle
Weist der kundenspezifischen Rolle die Rolle OBJECT_VIEWER zu
Weist die kundenspezifische Rolle einem Benutzer zu
Um die kundenspezifische Rolle zu erstellen und zuzuweisen, gehen Sie wie folgt vor:
Erstellen Sie mit CREATE ROLE die Rolle
CAN_VIEWMD, die für den Zugriff auf Objektmetadaten verwendet werden soll.Rollen können nur vom Benutzer mit der Systemrolle USERADMIN oder höher oder von einer anderen Rolle mit der Berechtigung CREATE ROLE für das Konto erstellt werden.
CREATE ROLE CAN_VIEWMD COMMENT = 'This role can view metadata per SNOWFLAKE database role definitions';
Weisen Sie der Rolle CAN_VIEWMD die Rolle OBJECT_VIEWER zu.
Nur Benutzer mit der Rolle OWNERSHIP können SNOWFLAKE-Datenbankrollen zuweisen. Weitere Informationen dazu finden Sie unter GRANT DATABASE ROLE.
GRANT DATABASE ROLE OBJECT_VIEWER TO ROLE CAN_VIEWMD;
Weisen Sie Rolle
CAN_VIEWMDdem Benutzersmithzu.Nur Benutzer mit der Rolle SECURITYADMIN können Benutzern Rollen zuweisen. Weitere Optionen finden Sie unter GRANT ROLE.
GRANT ROLE CAN_VIEWMD TO USER smith;