GRANT

Ger en behörighet för ett objekt till en användare eller ett huvud konto. Om du beviljar en behörighet för en databas (t. ex. ett SELECT privilegium) kan du implicit bevilja behörigheten för alla objekt i databasen. Om du beviljar en speciell behörighet i katalogen, kan du implicit bevilja behörigheten för alla databaser i katalogen.

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 | USAGE | READ_METADATA | CREATE_NAMED_FUNCTION | ALL PRIVILEGES

principal
  : `<user>@<domain-name>` | <group-name>

Om du vill bevilja behörighet till alla användare anger du nyckelordet users efter TO .

Exempel

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>`

Visa-baserad åtkomst kontroll

Du kan konfigurera detaljerad åtkomst kontroll (till rader och kolumner som matchar vissa villkor, till exempel) genom att bevilja åtkomst till härledda vyer som innehåller godtyckliga frågor.

Exempel

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>`;

Information om nödvändig tabell ägarskap finns i vanliga frågor och svar (FAQ).