Snowflake创建OAuth安全集成报错,修改参数后问题仍未解决
解决Snowflake自定义OAuth安全集成创建时的特权角色阻止错误
问题原因
- 参数名称错误:你修改的
EXTERNAL_OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST是针对外部OAuth集成的配置,而当前创建的是自定义OAuth客户端集成,对应的账户参数应为OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST。 - SQL语法错误:原创建语句末尾多了一个
]符号,导致编译失败,这也是提示“Integration不存在”的直接原因。
解决步骤
1. 修正账户参数配置
使用ACCOUNTADMIN角色执行以下命令,关闭自动阻止特权角色的默认配置:
USE ROLE ACCOUNTADMIN; ALTER ACCOUNT SET OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST = FALSE;
2. 重新创建OAuth安全集成
去掉原语句末尾的多余符号],执行正确的创建命令:
CREATE SECURITY INTEGRATION cr_integration_10 TYPE=OAUTH ENABLED=TRUE OAUTH_CLIENT = CUSTOM OAUTH_CLIENT_TYPE='CONFIDENTIAL' OAUTH_REDIRECT_URI='https://oauth.pstmn.io/v1/browser-callback' OAUTH_ISSUE_REFRESH_TOKENS = TRUE OAUTH_REFRESH_TOKEN_VALIDITY = 86400 BLOCKED_ROLES_LIST = ('ORGADMIN');
3. 验证集成信息
创建成功后,执行描述命令查看集成详情:
DESCRIBE INTEGRATION cr_integration_10;
额外说明
默认情况下,OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST参数为开启状态,Snowflake会自动将ACCOUNTADMIN、ORGADMIN、SECURITYADMIN这三个高权限角色加入阻止列表。此时即使手动指定BLOCKED_ROLES_LIST,也会触发冲突错误。关闭该参数后,即可自定义配置需要阻止的角色列表。
内容的提问来源于stack exchange,提问作者Shubham Takankhar
相关产品推荐
相关产品推荐

