GRANT <Berechtigungen> … TO APPLICATION¶
Gewährt einer Anwendung ein oder mehrere Zugriffsrechte auf ein sicherungsfähiges Objekt. Die Berechtigungen, die erteilt werden können, sind objektspezifisch.
- Variationen:
Syntax¶
GRANT { { globalPrivileges } ON ACCOUNT
| { accountObjectPrivileges | ALL [ PRIVILEGES ] } ON { USER | RESOURCE MONITOR | WAREHOUSE | COMPUTE POOL | DATABASE | INTEGRATION | CONNECTION | FAILOVER GROUP | REPLICATION GROUP | EXTERNAL VOLUME } <object_name>
| { schemaPrivileges | ALL [ PRIVILEGES ] } ON { SCHEMA <schema_name> | ALL SCHEMAS IN DATABASE <db_name> }
| { schemaObjectPrivileges | ALL [ PRIVILEGES ] } ON { <object_type> <object_name> | ALL <object_type_plural> IN { DATABASE <db_name> | SCHEMA <schema_name> }
}
TO APPLICATION <name>
Wobei:
globalPrivileges ::=
{
CREATE {
COMPUTE POOL | DATABASE | WAREHOUSE
}
| BIND SERVICE ENDPOINT
| EXECUTE MANAGED TASK
| MANAGE WAREHOUSES
| READ SESSION
}
[ , ... ]
accountObjectPrivileges ::=
-- For COMPUTE POOL
{ MODIFY | MONITOR | OPERATE | USAGE } [ , ... ]
-- For CONNECTION
{ FAILOVER } [ , ... ]
-- For DATABASE
{ APPLYBUDGET | CREATE { DATABASE ROLE | SCHEMA }
| IMPORTED PRIVILEGES | MODIFY | MONITOR | USAGE } [ , ... ]
-- For EXTERNAL VOLUME
{ USAGE } [ , ... ]
-- For FAILOVER GROUP
{ FAILOVER | MODIFY | MONITOR | REPLICATE } [ , ... ]
-- For INTEGRATION
{ USAGE | USE_ANY_ROLE } [ , ... ]
-- For REPLICATION GROUP
{ MODIFY | MONITOR | REPLICATE } [ , ... ]
-- For RESOURCE MONITOR
{ MODIFY | MONITOR } [ , ... ]
-- For USER
{ MONITOR } [ , ... ]
-- For WAREHOUSE
{ APPLYBUDGET | MODIFY | MONITOR | USAGE | OPERATE } [ , ... ]
schemaPrivileges ::=
ADD SEARCH OPTIMIZATION
| CREATE {
ALERT | EXTERNAL TABLE | FILE FORMAT | FUNCTION
| IMAGE REPOSITORY | MATERIALIZED VIEW | PIPE | PROCEDURE
| { AGGREGATION | MASKING | PASSWORD | PROJECTION | ROW ACCESS | SESSION } POLICY
| SECRET | SEMANTIC VIEW | SEQUENCE | SERVICE | SNAPSHOT | STAGE | STREAM
| TAG | TABLE | TASK | VIEW
}
| MODIFY | MONITOR | USAGE
[ , ... ]
schemaObjectPrivileges ::=
-- For ALERT
{ MONITOR | OPERATE } [ , ... ]
-- For DYNAMIC TABLE
OPERATE, SELECT [ , ...]
-- For EVENT TABLE
{ INSERT | SELECT } [ , ... ]
-- For FILE FORMAT, FUNCTION (UDF or external function), PROCEDURE, SECRET, SEQUENCE, or SNAPSHOT
USAGE [ , ... ]
-- For IMAGE REPOSITORY
{ READ, WRITE } [ , ... ]
-- For MATERIALIZED VIEW
{ APPLYBUDGET | REFERENCES | SELECT } [ , ... ]
-- For PIPE
{ APPLYBUDGET | MONITOR | OPERATE } [ , ... ]
-- For { AGGREGATION | MASKING | PACKAGES | PASSWORD | PROJECTION | ROW ACCESS | SESSION } POLICY or TAG
APPLY [ , ... ]
-- For SECRET
READ, USAGE [ , ... ]
-- For SEMANTIC VIEW
REFERENCES [ , ... ]
-- For SERVICE
{ MONITOR | OPERATE } [ , ... ]
-- For external STAGE
USAGE [ , ... ]
-- For internal STAGE
READ [ , WRITE ] [ , ... ]
-- For STREAM
SELECT [ , ... ]
-- For TABLE
{ APPLYBUDGET | DELETE | EVOLVE SCHEMA | INSERT | REFERENCES | SELECT | TRUNCATE | UPDATE } [ , ... ]
-- For TAG
READ
-- For TASK
{ APPLYBUDGET | MONITOR | OPERATE } [ , ... ]
-- For VIEW
{ REFERENCES | SELECT } [ , ... ]
Weitere Informationen zu den für jeden Objekttyp unterstützten Berechtigungen finden Sie unter Zugriffssteuerungsrechte.
Erforderliche Parameter¶
object_nameGibt den Bezeichner für das Objekt an, für das die Berechtigungen vergeben werden.
object_typeGibt den Typ des Objekts für Objekte auf Schemaebene an.
ALERTDYNAMIC TABLEEVENT TABLEEXTERNAL TABLEFILE FORMATFUNCTIONMASKING POLICYMATERIALIZED VIEWNETWORK RULEPACKAGES POLICYPASSWORD POLICYPIPEPROCEDUREROW ACCESS POLICYSECRETSEMANTIC VIEWSESSION POLICYSEQUENCESTAGESTREAMTABLETAGTASKVIEW
object_type_pluralPluralform von Objekttyp
object_type(z. B.TABLES,VIEWS).Massenerteilung von Berechtigungen auf Pipes ist nicht zulässig.
nameGibt den Bezeichner für die Empfängeranwendung an (die Anwendung, der die Berechtigungen erteilt werden).
Nutzungshinweise¶
Es ist nicht zulässig, einer Anwendung OWNERSHIP-Berechtigungen für ein Objekt oder alle Objekte eines angegebenen Typs in einem Schema oder einer Datenbank zu erteilen oder die Eigentümerschaft an dem Objekt von einer Anwendung auf eine andere Anwendung zu übertragen.
Jede Berechtigung der ACCOUNT-Ebene (nicht REVOKE), die nicht in der aktuellen Version der Anwendung enthalten ist, ist nicht zulässig.
Beispiel¶
Erteilen Sie einer Anwendung die SELECT-Berechtigung für eine Ansicht:
GRANT SELECT ON VIEW data.views.credit_usage
TO APPLICATION app_snowflake_credits;