GRANT

Gewährt einem Benutzer oder Prinzipal eine Berechtigung für ein Objekt. Das Erteilen einer Berechtigung für eine Datenbank (z. B. eine SELECT Berechtigung) hat den Effekt, dass diese Berechtigung implizit für alle Objekte in dieser Datenbank gewährt wird. Das Erteilen einer bestimmten Berechtigung für den Katalog hat den Effekt, dass diese Berechtigung implizit für alle Datenbanken im Katalog gewährt wird.

Hinweis

Das Ändern des Zugriffs auf den samples Katalog wird nicht unterstützt. Dieser Katalog ist für alle Arbeitsbereiche verfügbar, aber schreibgeschützt.

Syntax

GRANT
  privilege_type [, privilege_type ] ...
  ON (CATALOG | DATABASE <database-name> | TABLE <table-name> | VIEW <view-name> | FUNCTION <function-name> | ANONYMOUS FUNCTION | ANY FILE)
  TO principal

privilege_type
  : SELECT | CREATE | MODIFY | READ_METADATA | CREATE_NAMED_FUNCTION | ALL PRIVILEGES
GRANT
  USAGE
  ON (CATALOG | DATABASE <database-name>)
  TO principal
principal
  : `<user>@<domain-name>` | <group-name>

Um allen Benutzern eine Berechtigung zu gewähren, geben Sie das Schlüsselwort users nach TO an.

Beispiele

GRANT USAGE, SELECT ON DATABASE <database-name> TO `<user>@<domain-name>`
GRANT SELECT ON ANONYMOUS FUNCTION TO `<user>@<domain-name>`
GRANT SELECT ON ANY FILE TO `<user>@<domain-name>`

Ansichtsbasierte Zugriffssteuerung

Sie können eine differenzierte Zugriffssteuerung konfigurieren (z. B. für Zeilen und Spalten, die bestimmte Bedingungen erfüllen), indem Sie zugriff auf abgeleitete Sichten gewähren, die beliebige Abfragen enthalten.

Beispiele

CREATE OR REPLACE VIEW <view-name> AS SELECT columnA, columnB FROM <table-name> WHERE columnC > 1000;
GRANT SELECT ON VIEW <view-name> TO `<user>@<domain-name>`;

Ausführliche Informationen zum erforderlichen Tabellenbesitz finden Sie unter Häufig gestellte Fragen (FAQ).