我有一个包含 Snowflake 中的架构、表和 View 的数据库,以及一个用于运行查询的仓库。公共(public)角色已被授予对所有角色的 SELECT 和 USAGE 访问权限。
但是当我将 Snowflake 连接到 AWS QuickSight 时,没有可用的架构或表。
为了测试我已检查的权限,我可以使用公共(public)角色以及仓库、数据库和架构查询 Snowflake 工作表中的 View 。作为进一步的测试,我还连接了 Redash到 Snowflake 并可以查询那里的 View 。
尽管如此,使用相同的凭据,QuickSight 中没有任何可用内容。我尝试过使用大写和小写的数据库和仓库名称( Quicksight Data sets - Unable to see snowflake schema and tables )。
如果我将 QuickSight 更改为连接到 SNOWFLAKE_SAMPLE_DATA 数据库,我可以看到架构列表,但不会显示任何架构的表。
我可能会错过什么?
最佳答案
我建议您为 Quicksight/Redash 或此类应用程序创建一个新角色,并将其授予您的 Quicksight 用户。 奇怪的是你可以从 redash 看到。
假设您有一个名为 REPORTING
的角色,这里是您需要的最低权限:
GRANT USAGE ON WAREHOUSE YOUR_WH TO ROLE REPORTING;
GRANT USAGE ON DATABASE YOUR_DB TO ROLE REPORTING;
GRANT USAGE ON SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;
GRANT SELECT ON ALL TABLES IN SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;
GRANT SELECT ON FUTURE TABLES IN SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;
GRANT SELECT ON ALL VIEWS IN SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;
GRANT SELECT ON FUTURE VIEWS IN SCHEMA YOUR_DB.PUBLIC TO ROLE REPORTING;
此外,请务必运行此命令:
GRANT ROLE REPORTING TO USER QUICKSIGHTS;
我们始终在 Snowflake 中使用大写关键字。
关于amazon-web-services - Quicksight - Snowflake 数据源为 "No tables found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61777029/