【问题标题】:Specific table querying role in Snowflake can't USE a warehouseSnowflake中特定的表查询角色不能使用仓库
【发布时间】:2021-09-23 08:31:14
【问题描述】:

我创建了一个我认为非常标准的用户,可以访问可以查询单个表的单个角色:

create user new_user;
alter user new_user set password = 'some_pw';
create role new_role;
alter user new_user set default_warehouse = 'compute_wh';
alter user new_user set default_role = 'new_role';
grant role new_role to user new_user;
grant usage on warehouse compute_wh to role new_role;
grant usage on schema my_schema to new_role;
grant usage on database my_db to role new_role;
grant select on my_db.my_schema.my_table to role new_role;
GRANT OPERATE ON WAREHOUSE COMPUTE_WH TO ROLE new_role;

但是,当我在 SQL 客户端(如 DBeaver)中设置此用户时,我无法运行任何查询:

USE WAREHOUSE COMPUTE_WH; -- fails even here
USE DATABASE my_db;
SELECT * FROM my_db.my_schema.my_table;

SQL 错误 [2043] [02000]:SQL 编译错误:对象没有 存在,或无法执行操作。

我可能会缺少哪些额外权限?

【问题讨论】:

  • 如果您以该用户身份登录 Snowflake WebUI,您可以运行这 3 条语句吗?我认为您还需要在架构上授予使用权限
  • @NickW 是对的,您的用户 new_user 也需要在架构上授予使用权限
  • 您还需要将角色授予用户。设置默认角色不会将角色授予用户
  • 角色已授予用户,并且已在架构上授予 select。不幸的是还是同样的错误。
  • 您需要在架构上使用 USAGE,而不是 SELECT

标签: permissions snowflake-cloud-data-platform ansi-sql


【解决方案1】:

使用仓库计算_WH; -- 在这里也失败了

如果用户可以访问仓库但不能使用它,它可能表明它已被暂停。我会添加operate特权:

GRANT OPERATE ON WAREHOUSE COMPUTE_WH TO ROLE NEW_ROLE;

并检查是否自动恢复或显式启动仓库:

ALTER WAREHOUSE IF EXISTS COMPUTE_WH RESUME IF SUSPENDED;
USE WAREHOUSE COMPUTE_WH;

编辑:

要检查当前角色,可以使用以下代码:

SELECT CURRENT_ROLE();

如果角色与预期不同,可以通过以下方式更改:

USE ROLE COMPUTE_WH;

【讨论】:

  • 感谢您的评论。我已经尝试过了,它也不起作用。我可以运行“SHOW GRANTS”和“SHOW ROLES”之类的命令,但仍然无法运行 USE WAREHOUSE COMPUTE_WH
  • @LittleBobbyTables SHOW WAREHOUSES 是否显示清单上的仓库?也许USE WAREHOUSE "COMPUTE_WH"
  • @LittleBobbyTables 但我将从最简单的SELECT CURRENT_ROLE(); 开始,并确认您使用的是“NEW_ROLE”。如果不同,use warehouse 之前的第一个语句应该是 use role new_role
  • 哦,成功了!谢谢@lukasz! SELECT CURRENT_ROLE() 是 PUBLIC 所以在 USE ROLE new_role 之后一切正常。请您修改您的答案以便我接受吗?我很放心。它不识别默认角色真是太奇怪了。
猜你喜欢
  • 1970-01-01
  • 2022-07-14
  • 2020-05-16
  • 2021-09-04
  • 2020-11-15
  • 2021-04-14
  • 1970-01-01
  • 2014-05-27
  • 2021-04-13
相关资源
最近更新 更多