Skip to main content

grants

Creates, updates, deletes, gets or lists a grants resource.

Overview

Namegrants
TypeResource
Idsnowflake.role.grants

Fields

The following fields are returned by SELECT queries:

successful

NameDatatypeDescription
containing_scopeobject
created_onstring (date-time)Date and time when the grant was created
grant_optionbooleanIf true, allows the recipient role to grant the privileges to other roles.
granted_bystringThe role that granted this privilege to this grantee
privilegesarrayList of privileges to be granted.
securableobject
securable_typestringType of the securable to be granted.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
list_grantsselectname, endpointshowLimitList all grants to the role
grant_privilegesinsertname, endpointGrant privileges to the role
revoke_grantsdeletename, endpointmodeRevoke grants from the role

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
endpointstringOrganization and Account Name (default: orgid-acctid)
namestringIdentifier (i.e. name) for the resource.
modestringQuery parameter determines whether the revoke operation succeeds or fails for the privileges, based on the whether the privileges had been re-granted to another role. - restrict: If the privilege being revoked has been re-granted to another role, the REVOKE command fails. - cascade: If the privilege being revoked has been re-granted, the REVOKE command recursively revokes these dependent grants. If the same privilege on an object has been granted to the target role by a different grantor (parallel grant), that grant is not affected and the target role retains the privilege.
showLimitintegerQuery parameter to limit the maximum number of rows returned by a command.

SELECT examples

List all grants to the role

SELECT
containing_scope,
created_on,
grant_option,
granted_by,
privileges,
securable,
securable_type
FROM snowflake.role.grants
WHERE name = '{{ name }}' -- required
AND endpoint = '{{ endpoint }}' -- required
AND showLimit = '{{ showLimit }}';

INSERT examples

Grant privileges to the role

INSERT INTO snowflake.role.grants (
data__securable,
data__containing_scope,
data__securable_type,
data__grant_option,
data__privileges,
name,
endpoint
)
SELECT
'{{ securable }}',
'{{ containing_scope }}',
'{{ securable_type }}' --required,
{{ grant_option }},
'{{ privileges }}',
'{{ name }}',
'{{ endpoint }}'
;

DELETE examples

Revoke grants from the role

DELETE FROM snowflake.role.grants
WHERE name = '{{ name }}' --required
AND endpoint = '{{ endpoint }}' --required
AND mode = '{{ mode }}';