概要
Power BI Desktopから、Snowflakeに接続した際に下記エラーがでた場合の対応方法の1つを共有します。Snowflakeに、Power BI セキュリティ統合時の入力ミスが原因でした。
Failed to update data source credentials: ODBC:ERROR [28000] OAuth access token expired. [275843085].
上記エラーは、Snowflake社ドキュメントに記載がある通り、サポートへの問い合わせ対応が必要となるものであり、本件では解決しない可能性もあります。
| 動作 | エラーメッセージ | トラブルシューティングアクション |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ----------------------------------------- |
| Snowflakeは、期限切れの AAD トークンをPower BI から受け取ります。 | データソースの認証情報を更新できませんでした。ODBC:ERROR [28000] OAuth アクセストークンが期限切れです。 [<番号>]。 | Snowflakeサポートにお問い合わせください。 |
エラー原因
下記SQLを実行しており、"external_oauth_issuer"に入力すべき"AZURE_AD_ISSUER"の最後に"/"を入力していないことでした。
create security integration powerbi
type = external_oauth
enabled = true
external_oauth_type = azure
external_oauth_issuer = 'https://sts.windows.net/a828b821-f44f-4698-85b2-3c6749302698'
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';
エラー対応方法
下記の箇所を修正したSQLを実行することで、接続ができました。
修正前
external_oauth_issuer = 'https://sts.windows.net/a828b821-f44f-4698-85b2-3c6749302698'
修正後
external_oauth_issuer = 'https://sts.windows.net/a828b821-f44f-4698-85b2-3c6749302698/'