Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka vysvětluje, jak nakonfigurovat kanály Azure DevOps pro ověření rozhraní příkazového řádku Databricks a volání rozhraní API do Azure Databricks.
Než začnete
Před konfigurací ověřování Azure DevOps proveďte tyto kroky:
Vytvořte instanční objekt v Azure a přidejte ho do pracovního prostoru Azure Databricks s příslušnými oprávněními. Bez tohoto kroku ověřování selže i v případě, že je váš kanál správně nakonfigurovaný.
Pro služební hlavní účty spravované Microsoft Entra ID vytvořte aplikaci Microsoft Entra ID v Azure a pak ji přidejte do pracovního prostoru. Viz Obslužní uživatelé a správa obslužních uživatelů.
Přidejte krok do svého pipeline pro instalaci Databricks CLI na agenta:
- script: | curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh displayName: 'Install Databricks CLI'Návod
Pokud chcete připnout instalaci rozhraní příkazového řádku na konkrétní verzi místo nejnovější verze, nahraďte
mainji značkou verze (napříkladv0.224.0).
Volba metody ověřování
Azure DevOps spravuje ověřování prostřednictvím připojení služeb. Přístup k nim najdete na portálu Azure DevOps v částiPřipojení služby> Service.
K ověření rozhraní příkazového řádku Databricks použijte typ připojení služby Azure Resource Manager s jednou z těchto metod:
| Metoda | Description | Nejvhodnější pro |
|---|---|---|
| Federace identit úloh (doporučeno) | K získání tokenů používá OpenID Connect (OIDC). Pro konfiguraci je nutné nastavit vystavitele a identifikátor subjektu vygenerované v Azure DevOps s vaším servisním účtem. | Zabezpečené ověřování bez tajných kódů |
| Principál služby s tajným klíčem klienta | Používá ID klienta a tajný klíč k vygenerování krátkodobých tokenů OAuth. Vyžaduje vygenerování tajemství pro služební principál. | Scénáře vyžadující sdílené přihlašovací údaje napříč úlohami |
| Spravovaná identita | Používá identitu přiřazenou k virtuálnímu počítači nebo kontejneru, na kterém běží kanál. Platí jenom pro vlastní spouštěče. Prohlédnou si dokumentaci k Azure. | Běžci pro vlastní hostování s přiřazenými identitami |
Poznámka:
Pokud je to možné, použijte federaci identit pracovních úloh. Nespoléhá na tajné kódy, takže je bezpečnější než jiné metody. Funguje automaticky s úlohou AzureCLI@2 bez ruční konfigurace. Viz Vytvořte připojení služby, které používá federaci identit úloh.
Konfigurace ověřování Azure CLI
Rozhraní příkazového řádku Databricks používá k ověřování ve výchozím nastavení Azure CLI. Všechny příkazy rozhraní příkazového řádku Databricks se musí spouštět uvnitř AzureCLI@2 úlohy, což znamená, že se jednotlivé úlohy ověřují nezávisle. To představuje určitou latenci, ale vyžaduje minimální konfiguraci.
- task: AzureCLI@2
inputs:
azureSubscription: <your-service-connection-name>
useGlobalConfig: true
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
export DATABRICKS_HOST=https://adb-<workspace-id>.<region>.azuredatabricks.net
databricks bundle deploy
Aktualizujte tyto hodnoty:
-
azureSubscription: Název připojení služby Azure Resource Manager. -
useGlobalConfig:Požadovaný. Zajišťuje, že podprocesy vytvářené pomocí příkazůdatabricks bundlemají přístup k uživatelsky ověřené relaci. -
DATABRICKS_HOST: Tuto hodnotu nastavte, pokud ještě není definována v konfiguraci sady prostředků nebo v předchozím kroku.
Konfigurace ověřování tajných klíčů klienta
Tajný klíč klienta použijte v případě, že potřebujete sdílet přihlašovací údaje napříč několika úlohami nebo když ověřování Azure CLI přidává příliš velkou latenci.
Tento přístup načte podrobnosti ověřování z připojení služby v jedné úloze a pak je exportuje jako proměnné prostředí na úrovni úlohy pro následné úlohy.
- task: AzureCLI@2
inputs:
azureSubscription: <your-service-connection-name>
addSpnToEnvironment: true
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
echo "##vso[task.setvariable variable=ARM_CLIENT_ID]${servicePrincipalId}"
echo "##vso[task.setvariable variable=ARM_CLIENT_SECRET]${servicePrincipalKey}"
echo "##vso[task.setvariable variable=ARM_TENANT_ID]${tenantId}"
- script: |
export DATABRICKS_HOST=https://adb-<workspace-id>.<region>.azuredatabricks.net
databricks bundle deploy
Poznámka:
- Klíč
addSpnToEnvironmentzpřístupňujeservicePrincipalId,servicePrincipalKeyatenantIdvloženému skriptu. - Příkazy
##vsopřevedou proměnné s úlohovým rozsahem na proměnné s rozsahem úlohy, které rozhraní příkazového řádku Databricks automaticky rozpozná. - Ve výchozím nastavení je
ARM_CLIENT_SECRETdostupná pro všechny následné kroky. Pokud chcete omezit přístup, přidejteissecret=truedo definice proměnné a pak ho explicitně předejte každému kroku, který ho potřebuje. Tajný kód se maskuje v protokolech bez ohledu na toto nastavení.
Úplný příklad najdete v tématu Autorizace služebního principálu Microsoft Entra pro přístup ke složkám Git.
Konfigurace ověřování spravovaných identit
Ověřování spravované identity spoléhá na konfiguraci virtuálního počítače nebo kontejneru místo úloh kanálu. Tato metoda nevyžaduje AzureCLI@2 úlohu.
- script: |
export DATABRICKS_AZURE_RESOURCE_ID=/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/workspaces/<workspace-name>
export ARM_CLIENT_ID=<managed-identity-client-id>
export ARM_USE_MSI=true
export DATABRICKS_HOST=https://adb-<workspace-id>.<region>.azuredatabricks.net
databricks current-user me
Aktualizujte tyto hodnoty:
-
DATABRICKS_AZURE_RESOURCE_ID: Tuto hodnotu vyhledejte v části Vlastnosti vašeho pracovního prostoru na webu Azure Portal. -
ARM_CLIENT_ID: ID klienta spravované identity. -
DATABRICKS_HOST: Volitelné. Pokud není nastavena, hodnota je odvozena zDATABRICKS_AZURE_RESOURCE_ID.
Spravovaná identita musí mít roli Přispěvatel v pracovním prostoru Azure Databricks.