gpt4 book ai didi

azure - 使用服务主体从 DevOps Pipeline 调用 Databricks API

转载 作者:行者123 更新时间:2023-12-03 00:55:42 26 4
gpt4 key购买 nike

我希望能够从 DevOps 管道调用 Databricks API。我可以使用我的帐户的个人访问 token 来执行此操作,但是我想让 API 调用独立于用户,因此我想使用服务主体(应用程序注册)。我按照这个教程https://learn.microsoft.com/en-us/azure/databricks/dev-tools/api/latest/aad/service-prin-aad-token为服务主体创建访问 token ,但我有两个问题:

  1. 这样生成的 token 将在 1 小时后过期 - 有什么优雅的方法可以自动刷新它吗?
  2. 即使使用此 token 调用 ADB API 时,我也会收到 403 未经授权 - 我还应该做什么吗?应用注册具有 ADB 服务的贡献者角色。

编辑:在应用程序注册中添加了 AzureDatabricks 的 API 权限并授予管理员同意,但仍然没有运气。

最佳答案

所以我最后找到了3种可能的解决方案。

  1. 为服务主体生成访问 token ,为服务主体生成管理服务 token 并使用这两者来访问 Databricks API - reference
  2. 使用访问 token 和管理 token 通过 Databricks token API 为服务主体生成 Databricks 个人访问 token ,然后您可以将其用于 Databricks CLI - reference
  3. 使用 AAD token 通过 CLI 对 Databricks 进行身份验证(reference 和 Databricks CLI 帮助):
    1. az login --service-principal -u <app-id> -p <app-password> --tenant <tenant-id>
    2. token_response=$(az account get-access-token --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d)
    3. export DATABRICKS_AAD_TOKEN=$(jq .accessToken -r <<< "$token_response")
    4. databricks configure --host https://<adb-url> --aad-token

关于azure - 使用服务主体从 DevOps Pipeline 调用 Databricks API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69573529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com