snowflake.core.grant.Grants¶

class snowflake.core.grant.Grants(root: Root)¶

Bases: object

The entry point of the Snowflake Core Python APIs to manage Snowflake Grants.

Methods

grant(grant: Grant) → None¶

Grant the specified privilege(s) on the named securable to the named grantee.

Parameters:

grant (Grant) – The Grant object, together with the Grant’s properties: grantee, securable, privilege; grant_option is optional.

Examples

Applying a grant to a test role:

>>> root.grants.grant(
...     Grant(
...         grantee=Grantees.role(name=role_name),
...         securable=Securables.current_account,
...         privileges=[Privileges.create_database],
...     )
... )
Copy
revoke(grant: Grant, mode: DeleteMode = DeleteMode.restrict) → None¶

Revoke the specified privilege(s) on the named securable to the named grantee.

Parameters:

grant (Grant) – The Grant object, together with the Grant’s properties: grantee, securable, privilege; grant_option is optional.

Examples

Revoking a Privilege from test role:

>>> root.grants.revoke(
...     Grant(
...         grantee=Grantees.role(name=role_name),
...         securable=Securables.current_account,
...         privileges=[Privileges.create_database],
...     )
... )
Copy
revoke_grant_option(grant: Grant, mode: DeleteMode = DeleteMode.restrict) → None¶

Revoke the grant option on the specified privilege(s) on the named securable to the named grantee.

Parameters:

grant (Grant) – The Grant object, together with the Grant’s properties: grantee, securable, privilege; grant_option is optional.

Examples

Revoking grant option for a Privilege from test role:

>>> root.grants.revoke(
...     Grant(
...         grantee=Grantees.role(name=role_name),
...         securable=Securables.current_account,
...         privileges=[Privileges.create_database],
...     )
... )
Copy
to(grantee: Grantee, limit: int | None = None) → Iterable[GrantModel]¶

List the roles and privileges granted to the specified grantee.

Parameters:

grantee (Grantee) – The Grantee to list the roles and privileges of.

Examples

Listing the roles and privileges granted to the grantee:

>>> root.grants.to(
...    Grantee(
...         name="test-user",
...         grantee_type="user",
...         limit = 10,
...     )
... )
Copy