繁体   English   中英

我在 Snowflake 中启用了 SSO,但无法连接到 Power BI

[英]I've enabled SSO in Snowflake and can't connect to Power BI

我有点奇怪。 因此,我们的 Snowflake 帐户位于 AWS 中,我们最近不得不将 Okta SSO 集成到 Snowflake 中,并且我们正在使用 Power BI 来可视化数据。 我已经集成了 SSO,并且在 Snowflake Web UI 上运行良好。 但是,在 Power BI 中,登录不再起作用。

在此处输入图像描述

这些是我到目前为止所做的步骤:

  1. 我从负责 Okta 的工作人员那里获得了证书字符串和ssoUrl ,并运行了以下脚本
alter account set saml_identity_provider = 
 '{ "certificate": "<CERT STRING>",
 "ssoUrl": "<SSO URL>",
 "type" : "OKTA", 
 "label" : "<LABEL>"
  }';    
    
alter account set sso_login_page = true;
  1. 我已将一个用户添加到添加到 Okta 的安全组中,并在 Snowflake 中创建了该用户。 测试用户能够使用 SSO 集成成功登录到 Snowflake 的 Web UI
  2. 我遵循了雪花的文档并将我的查询编译如下:
create or replace security integration powerbi
    type = external_oauth
    enabled = true
    external_oauth_type = azure
    external_oauth_issuer = 'https://sts.windows.net/<TENANT_ID>/'
    external_oauth_jws_keys_url = 'https://login.windows.net/common/discovery/keys'
    external_oauth_audience_list = ('https://analysis.windows.net/powerbi/connector/Snowflake')
    external_oauth_token_user_mapping_claim = 'upn'
    external_oauth_snowflake_user_mapping_attribute = 'login_name'
    external_oauth_any_role_mode = 'ENABLE';

但是,我仍然收到上述错误(我们无法使用提供的凭据进行身份验证。请重试。 ),尽管它成功地将我重定向到 Okta 页面。

我没有使用网络策略或网关,因此它应该能够直接登录。

任何人都可以帮忙吗?

我发现了这个问题。 我使用的external_oauth_issuer似乎来自我们发布报告的租户,该租户与我们拥有 Azure 帐户的租户不同。 我已经改变了它,现在它似乎工作了。

此问题最可能的原因是以下任一原因:

  1. 从 PBI 使用的用户没有设置“default_role”值。

  2. 如果它设置了一个值,那么该角色对从 PBI 设置的 WH 没有 USAGE 特权。

运行以下命令来检查:

显示仓库赠款;

对于 PowerBI SSO-Snowflake 验证令牌,从令牌中提取用户名,将其映射到 Snowflake 用户,并使用用户的默认角色为 Power BI 服务创建 Snowflake session。 因此,如上所述,请确保用于 SSO 登录的 Power BI 用户必须在 Snowflake 中设置默认角色。 有关更多详细信息,请参阅下面的文章。 https://community.snowflake.com/s/article/PowerBI-Service-displays-credentials-related-error-when-logging-in-or-publishing-report-from-PowerBI-Desktop

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM