用户与安全 DDL¶
Snowflake 提供全套用于管理用户和安全的 SQL 命令。这些命令只能由被授予角色(对管理对象具有 OWNERSHIP 权限)的用户执行:这通常仅限于 ACCOUNTADMIN 和 SECURITYADMIN 角色。
但是,个人用户可以自己执行以下任务:
- 更改密码(仅通过 Web 界面)。
- View their user information (via DESCRIBE USER).
- Change their default role, virtual warehouse, or namespace (via ALTER USER).
- Change their session parameters (via ALTER SESSION).
用户管理
每个有权访问 Snowflake 的用户都由一个用户对象表示。用户对象存储有关用户的所有信息,包括他们的登录名、密码和默认值(角色、虚拟仓库和命名空间)。使用以下 DDL 命令来管理系统用户:
角色管理
Snowflake 使用角色来控制对系统对象的访问:
- 角色被授予对系统对象(数据库、表等)的访问权限。
- 角色被授予用户,使他们能够创建、修改和使用该角色拥有权限的对象。
- 可以将角色授予其他角色,以支持定义分层访问权限。
使用以下 DDL 命令来管理系统角色:
使用以下 DDL 命令管理系统中的数据库角色:
使用以下命令激活用户会话中的主要角色或辅助角色:
Object Tagging 管理¶
Snowflake supports the following DDL to create and manage tags:
- CREATE TAG
- ALTER TAG
- ALTER <object> (to set a tag on a Snowflake object)
- SHOW TAGS
- DROP TAG
- UNDROP TAG
Note that Snowflake does not support the describe operation for the tag object.
访问控制管理
使用以下命令,通过向角色授予(和撤销)对象权限以及向用户和其他角色授予角色来管理对象的访问控制:
网络策略管理
网络策略支持根据用户 IP 地址限制对账户的访问。使用以下命令创建、更改或删除网络策略:
- ALTER NETWORK POLICY
- CREATE NETWORK POLICY
- DESCRIBE NETWORK POLICY
- DROP NETWORK POLICY
- SHOW NETWORK POLICIES
密钥管理
Snowflake 支持通过以下 DDL 命令和操作来管理密钥:
密码策略管理
Snowflake provides the following DDL commands to manage password policy objects:
会话策略管理
Snowflake provides the following DDL commands to manage session policy objects:
第三方集成
集成是一个 Snowflake 对象,它在 Snowflake 和第三方服务之间提供一个接口。使用以下命令创建、更改或删除集成:
API 集成¶
- ALTER API INTEGRATION
- CREATE API INTEGRATION
- DESCRIBE INTEGRATION
- DROP INTEGRATION
- SHOW INTEGRATIONS
通知集成
- ALTER NOTIFICATION INTEGRATION
- CREATE NOTIFICATION INTEGRATION
- DESCRIBE NOTIFICATION INTEGRATION
- DROP INTEGRATION
- SHOW NOTIFICATION INTEGRATIONS
安全集成
- ALTER SECURITY INTEGRATION
- CREATE SECURITY INTEGRATION
- DESCRIBE INTEGRATION
- DROP INTEGRATION
- SHOW INTEGRATIONS
- SHOW DELEGATED AUTHORIZATIONS