【问题标题】:Snowflake Database proper grants for Kafka connector role雪花数据库对 Kafka 连接器角色的适当授权
【发布时间】:2020-06-26 10:21:26
【问题描述】:

我正在关注指南:Installing and Configuring the Kafka Connector

无法创建雪花接收器并出现错误:snowflake.database.name 数据库未退出

稍作调查,kafka_connector 用户无法从 showsql 控制台看到数据库:

kafka_connector_user_2#(no warehouse)@(no database).(no schema)>SHOW DATABASES like 'kafka%';
+------------+------+------------+------------+--------+-------+---------+---------+----------------+
| created_on | name | is_default | is_current | origin | owner | comment | options | retention_time |
|------------+------+------------+------------+--------+-------+---------+---------+----------------|
+------------+------+------------+------------+--------+-------+---------+---------+----------------+
0 Row(s) produced.

来自系统管理员帐户:

数据库

SHOW DATABASES like 'kafka%';
+-------------------------------+----------+------------+------------+--------+----------+---------+---------+----------------+
| created_on                    | name     | is_default | is_current | origin | owner    | comment | options | retention_time |
|-------------------------------+----------+------------+------------+--------+----------+---------+---------+----------------|
| 2020-06-24 05:02:47.370 -0700 | KAFKA_DB | N          | N          |        | SYSADMIN |         |         | 1              |
+-------------------------------+----------+------------+------------+--------+----------+---------+---------+----------------+

数据库授权:

>SHOW GRANTS on database KAFKA_DB;
+-------------------------------+-----------------+------------+----------+------------+------------------------+--------------+------------+
| created_on                    | privilege       | granted_on | name     | granted_to | grantee_name           | grant_option | granted_by |
|-------------------------------+-----------------+------------+----------+------------+------------------------+--------------+------------|
| 2020-06-26 01:11:22.082 -0700 | CREATE SCHEMA   | DATABASE   | KAFKA_DB | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-26 01:11:22.082 -0700 | MODIFY          | DATABASE   | KAFKA_DB | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-26 01:11:22.082 -0700 | MONITOR         | DATABASE   | KAFKA_DB | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-26 01:11:22.082 -0700 | REFERENCE_USAGE | DATABASE   | KAFKA_DB | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-26 01:11:22.082 -0700 | USAGE           | DATABASE   | KAFKA_DB | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-24 05:02:47.167 -0700 | OWNERSHIP       | DATABASE   | KAFKA_DB | ROLE       | SYSADMIN               | true         | SYSADMIN   |
+-------------------------------+-----------------+------------+----------+------------+------------------------+--------------+------------+

角色 - 用户:

>SHOW GRANTS to user KAFKA_CONNECTOR_USER_2;
+-------------------------------+------------------------+------------+------------------------+---------------+
| created_on                    | role                   | granted_to | grantee_name           | granted_by    |
|-------------------------------+------------------------+------------+------------------------+---------------|
| 2020-06-26 01:04:59.699 -0700 | KAFKA_CONNECTOR_ROLE_1 | USER       | KAFKA_CONNECTOR_USER_2 | SECURITYADMIN |
+-------------------------------+------------------------+------------+------------------------+---------------+

角色授予:

SHOW GRANTS to role KAFKA_CONNECTOR_ROLE_1;
+-------------------------------+--------------------------+------------+-----------------------+------------+------------------------+--------------+------------+
| created_on                    | privilege                | granted_on | name                  | granted_to | grantee_name           | grant_option | granted_by |
|-------------------------------+--------------------------+------------+-----------------------+------------+------------------------+--------------+------------|
| 2020-06-26 01:11:22.082 -0700 | CREATE SCHEMA            | DATABASE   | KAFKA_DB              | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-26 01:11:22.082 -0700 | MODIFY                   | DATABASE   | KAFKA_DB              | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-26 01:11:22.082 -0700 | MONITOR                  | DATABASE   | KAFKA_DB              | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-26 01:11:22.082 -0700 | REFERENCE_USAGE          | DATABASE   | KAFKA_DB              | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-26 01:11:22.082 -0700 | USAGE                    | DATABASE   | KAFKA_DB              | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-25 10:49:19.359 -0700 | CREATE PIPE              | SCHEMA     | KAFKA_DB.KAFKA_SCHEMA | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-25 10:49:18.358 -0700 | CREATE STAGE             | SCHEMA     | KAFKA_DB.KAFKA_SCHEMA | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-25 10:49:16.356 -0700 | CREATE TABLE             | SCHEMA     | KAFKA_DB.KAFKA_SCHEMA | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-25 10:49:14.354 -0700 | USAGE                    | SCHEMA     | KAFKA_DB.KAFKA_SCHEMA | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
| 2020-06-26 01:16:36.396 -0700 | OPERATE                  | WAREHOUSE  | COMPUTE_WH            | ROLE       | KAFKA_CONNECTOR_ROLE_1 | false        | SYSADMIN   |
+-------------------------------+--------------------------+------------+-----------------------+------------+------------------------+--------------+------------+

我错过了什么?

【问题讨论】:

  • 你有什么问题?您在测试什么,遇到了什么错误?

标签: snowflake-cloud-data-platform


【解决方案1】:

您的“上下文”似乎没有为该会话设置,其中上下文包括“当前”:

  • 角色
  • 仓库
  • 数据库和架构

我建议您查看您的 connection properties,并执行以下操作并重试:

ALTER USER kafka_connector_user_2 SET DEFAULT_ROLE = 'KAFKA_CONNECTOR_ROLE_1';
ALTER USER kafka_connector_user_2 SET DEFAULT_WAREHOUSE = 'COMPUTE_WH' ;
ALTER USER kafka_connector_user_2 SET DEFAULT_NAMESPACE = 'KAFKA_DB.KAFKA_SCHEMA' ;

https://docs.snowflake.com/en/sql-reference/sql/alter-user.html

我建议所有“程序化”用户(也称为“服务帐户”)设置用户的默认上下文。

我希望这会有所帮助...丰富

【讨论】:

  • 谢谢,设置默认上下文立即有所帮助。我同意你关于 sql 控制台的用户默认上下文的观点,但是从 Kafka Connect 配置页面来看它有点模糊
  • 很高兴它对您有所帮助,如果您发现自己“一切就绪”,请随时通过单击“选择为最佳”按钮来表明此问题已得到回答。
猜你喜欢
  • 2020-10-26
  • 1970-01-01
  • 2021-07-22
  • 2021-10-21
  • 1970-01-01
  • 2021-08-26
  • 2021-12-04
  • 2021-01-04
  • 1970-01-01
相关资源
最近更新 更多