GRANT

Verleent een bevoegdheid voor een object aan een gebruiker of principal. Het verlenen van een bevoegdheid voor een database (bijvoorbeeld een bevoegdheid) heeft als gevolg dat deze bevoegdheid impliciet wordt verleent aan alle SELECT objecten in die database. Het verlenen van een specifieke bevoegdheid voor de catalogus heeft als gevolg dat deze bevoegdheid impliciet wordt verleent aan alle databases in de catalogus.

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>

Als u alle gebruikers een bevoegdheid wilt verlenen, geeft u het trefwoord users op na TO .

Voorbeelden

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

Op weergave gebaseerd toegangsbeheer

U kunt fijn bedoeld toegangsbeheer configureren (bijvoorbeeld voor rijen en kolommen die overeenkomen met specifieke voorwaarden) door toegang te verlenen tot afgeleide weergaven die willekeurige query's bevatten.

Voorbeelden

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

Zie Veelgestelde vragen (FAQ) voor meer informatie over vereist tabeleigendom.