管理针对 OAuth 的用户同意¶
本主题介绍如何管理 OAuth 的委派授权,即向与指定角色的 Snowflake 集成关联的一个或多个客户端授予的用户同意。
添加委派授权
为用户添加委派授权,预授权同意使用特定集成的指定角色发起会话。如果没有委派授权,则用户必须在身份验证后授予对角色的同意。请注意,委派授权只能绕过给定角色的授权步骤;用户必须始终进行身份验证才能请求授权码。
The ability to add delegated authorizations is limited to custom clients. For public clients (that is, Tableau Cloud or Desktop), Snowflake always displays the confirmation dialog for a given role.
Add user consent for a role using ALTER USER with the ADD DELEGATED AUTHORIZATION keywords:
其中:
username指定要添加其同意的用户。
role_name指定与访问令牌关联的角色。
integration_name指定与特定客户端的访问令牌关联的集成。
Note
只有安全管理员(即具有 SECURITYADMIN 角色的用户)或更高级别的用户才能执行此 SQL 命令。
例如,为针对 MYINT 集成的用户 JANE.SMITH 添加 CUSTOM1 角色的用户同意:
查看委派授权
List the active delegated authorizations for which you have access privileges, using SHOW DELEGATED AUTHORIZATIONS:
列出指定用户的有效委派授权。用户可以列出自己的委派授权;否则,此命令变体需要用户的 OWNERSHIP 权限。
列出指定集成的有效委派授权。此命令变体需要关于集成的 OWNERSHIP 权限(即 ACCOUNTADMIN 角色):
撤消委派授权
用户可以撤消对指定集成的同意。这实际上是撤消与集成相关的任何访问令牌。
要撤消用户对给定集成的同意,请执行 ALTER USER …REMOVE DELEGATED AUTHORIZATIONS 命令。
Note
只有安全管理员(即具有 SECURITYADMIN 角色的用户)或更高级别的用户才能执行此 SQL 命令。
To revoke user consent associated with a specific role, include the OF ROLE role_name parameter in the statement:
其中:
username指定您要撤消其同意的用户。
role_name指定与访问令牌关联的角色。
integration_name指定与特定客户端的访问令牌关联的集成。
例如,从针对 MYINT 集成的用户 JANE.SMITH 中移除 CUSTOM1 角色的用户同意: