![](/img/trans.png)
[英]Databricks API 2.0- Create Secret Scope - TEMPORARILY_UNAVAILABLE
[英]Creating DataBricks Azure Key Vault Secret Scope Backend using Rest Api and DataBricks CLI
我正在嘗試通過 azure 密鑰庫創建秘密 scope,所以當我嘗試使用秘密 api 時,我得到了一個錯誤
輸入:
response = requests.post(
'https://%s/api/2.0/secrets/scopes/create' % (DOMAIN),
headers={'Authorization': 'Bearer %s' % TOKEN,},
json={"scope": "my-simple-azure-keyvault-scope",
"scope_backend_type": "AZURE_KEYVAULT",
"backend_azure_keyvault":
{
"resource_id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/azure-rg/providers/Microsoft.KeyVault/vaults/my-azure-kv",
"dns_name": "https://my-azure-kv.vault.azure.net/"
},
"initial_manage_principal": "users"
})
Output:
{
"error_code": "INVALID_PARAMETER_VALUE",
"message": "Scope with Azure KeyVault must have userAADToken defined!"
}
我嘗試使用 Databricks Cli 的不同方法,因為我遇到了一個錯誤,所以我使用 databricks UI 創建了一個 Secret scope 並嘗試通過 cli 訪問
輸入:
databricks configure --token
Databricks Host (should begin with https://): https://adb-...azuredatabricks.net/
Token:
D:\Users\>databricks secrets list-scopes
Output:
Error: b'Bad Request'
在 Cmd 提示
有沒有辦法獲取 AAD 令牌,我已經實現了獲取令牌的Microsoft 文檔但沒有用
這是評論中鏈接的文檔中描述的眾所周知的限制 - 您必須使用用戶的 AAD 令牌來創建由 Azure KeyVault 烘焙的秘密 scope。
創建秘密 scope 的最簡單方法是不使用 API,而是使用 Databricks CLI - 有一個命令可以創建秘密 scope:
databricks secrets create-scope --scope <scope-name> \
--scope-backend-type AZURE_KEYVAULT --resource-id <azure-keyvault-resource-id> \
--dns-name <azure-keyvault-dns-name>
您甚至不需要配置 CLI - 指定DATABRICKS_HOST
和DATABRICKS_TOKEN
環境變量,如下所示:
export DATABRICKS_TOKEN=$(az account get-access-token -o tsv --query accessToken --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d)
export DATABRICKS_HOST=https://adb-.....azuredatabricks.net
請注意,這里我們使用 Azure CLI 中az account get-access-token
命令獲取用戶的 AAD 令牌(確保您之前執行過az login
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.