雪花错误:SQL 访问控制错误:操作帐户“<Account-ID>”的权限不足

我有一个 Snowflake 的免费试用帐户。我正在尝试创建存储集成。但是在运行脚本后,我遇到了以下错误:

SQL 访问控制错误:权限不足,无法对帐户 '' 进行操作

即使对于帐户管理员角色,也会出现上述错误。

stack overflow Snowflake error : SQL access control error: Insufficient privileges to operate on account '<Account-ID>'
原文答案

答案:

作者头像

在 Snowflake Web UI 中有两个位置可以设置您的角色。您需要确保将 ACCOUNTADMIN 角色更改为正确的上下文:

Setting roles in Snowflake web UI

如果您在从 Web UI 运行 SQL 语句时遇到错误,请检查您当前在工作表中的角色。您可以单击图标或角色文本进行更改。

在此示例中,您可以看到我已将右上角的角色更改为 ACCOUNTADMIN,但这仅更改了我在按钮栏的角色。在工作表中运行 SQL 语句时,我仍在使用 SYSADMIN 角色。

另请注意,每个工作表都有自己的上下文,因此如果在您打开的工作表上设置不同的工作表,则更改工作表可能会改变您的角色。

作者头像

就我而言,我遇到了这个问题,但是在使用 Terraform 并通过环境变量指定提供程序配置时。 我缺少 SNOWFLAKE_ROLE 以确定应用 Terraform 配置时使用的角色。

作者头像

我在将部署管道运行到上层环境时遇到了这个错误(从 DEV 迁移到 UAT 的代码)。这是登录用户必须能够执行可能需要多个角色成员资格的多个 SQL 操作的奇怪情况之一。

USE SECONDARY ROLES ALL;

使用次要角色 - https://docs.snowflake.com/en/sql-reference/sql/use-secondary-roles.html

请注意,每条 SQL 语句执行时都会重新评估角色集。如果向用户授予其他角色,并且该用户执行新的 SQL 语句,则新授予的角色是新 SQL 语句的活动辅助角色。

在每个部署脚本文件的顶部包含它在我的部署管道中发挥了魅力。

相关问题