Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a lap bemutatja, hogyan konfigurálhatja az Azure DevOps-folyamatokat a Databricks CLI hitelesítéséhez és az Azure Databricks api-hívások indításához.
Mielőtt hozzákezdene
Az Azure DevOps-hitelesítés konfigurálása előtt hajtsa végre az alábbi lépéseket:
Hozza létre a szolgáltatásnevet az Azure-ban, és adja hozzá az Azure Databricks-munkaterülethez megfelelő engedélyekkel. E lépés nélkül a hitelesítés akkor is meghiúsul, ha a folyamat megfelelően van konfigurálva.
A Microsoft Entra ID által felügyelt szolgáltatásnevekhez hozzon létre egy Microsoft Entra ID-alkalmazást az Azure-ban, majd adja hozzá a munkaterülethez. Lásd: Szolgáltatásnevek és szolgáltatásnevek kezelése.
Adjon hozzá egy lépést a folyamathoz a Databricks parancssori felület ügynökre való telepítéséhez:
- script: | curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh displayName: 'Install Databricks CLI'Jótanács
Ha a cli-telepítést a legújabb helyett egy adott verzióra szeretné rögzíteni, cserélje le
mainegy verziócímkére (példáulv0.224.0).
Hitelesítési módszer kiválasztása
Az Azure DevOps szolgáltatáskapcsolatokkal kezeli a hitelesítést. Az Azure DevOps portálon érheti el őket a Project Settings>Service-kapcsolatok alatt.
A Databricks parancssori felület hitelesítéséhez használja az Azure Resource Manager szolgáltatás kapcsolattípusát az alábbi módszerek egyikével:
| Metódus | Description | A következőkre alkalmas |
|---|---|---|
| Számítási feladatok identitásának összevonása (ajánlott) | Az OpenID Connect (OIDC) használatával szerez be jogkivonatokat. Az Azure DevOps által létrehozott kiállító és tulajdonosazonosító konfigurálását igényli a szolgáltatásnévvel. | Biztonságos, titkos kulcs nélküli hitelesítés |
| Szolgáltatásfelelős ügyféltitokkal | Egy ügyfélazonosítót és titkos kulcsot használ a rövid élettartamú OAuth-jogkivonatok létrehozásához. Az ügyfélhivatkozási azonosító titkos kulcsának létrehozása szükséges. | Megosztott hitelesítő adatokat igénylő forgatókönyvek a tevékenységek között |
| Kezelt identitás | A folyamatot futtató virtuális géphez vagy tárolóhoz rendelt identitást használja. Csak saját üzemeltetésű runnerek esetén alkalmazható. Tekintse meg az Azure dokumentációját. | Saját üzemeltetésű futók hozzárendelt identitásokkal |
Megjegyzés:
Ha lehetséges, használja a számítási feladatok identitásának összevonását. Nem támaszkodik titkos kódokra, így biztonságosabb, mint más módszerek. Manuális konfigurálás nélkül automatikusan működik a AzureCLI@2 feladattal. Lásd: Számítási feladatok identitás-összevonását használó szolgáltatáskapcsolat létrehozása.
Azure CLI-hitelesítés konfigurálása
A Databricks CLI alapértelmezés szerint az Azure CLI-t használja a hitelesítéshez. Minden Databricks CLI-parancsnak egy AzureCLI@2 tevékenységen belül kell futnia, ami azt jelenti, hogy minden tevékenység egymástól függetlenül hitelesít. Ez némi késést eredményez, de minimális konfigurációt igényel.
- 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
Frissítse az alábbi értékeket:
-
azureSubscription: Az Azure Resource Manager-szolgáltatáskapcsolat neve. -
useGlobalConfig:Szükséges. Biztosítja, hogy a parancsok általdatabricks bundlelétrehozott alfolyamatok hozzáférhessenek a hitelesített munkamenethez. -
DATABRICKS_HOST: Ezt akkor állítsa be, ha még nincs definiálva a csomagkonfigurációban vagy egy előző lépésben.
Ügyfél titkos hitelesítésének konfigurálása
Használjon ügyfélkulcsot, ha hitelesítő adatokat kell megosztania több feladat között, vagy ha az Azure CLI-hitelesítés túl sok késést ad hozzá.
Ez a módszer egyetlen tevékenységben kéri le a hitelesítési adatokat a szolgáltatáskapcsolatból, majd exportálja őket feladathatókörű környezeti változókként a későbbi tevékenységekhez.
- 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
Megjegyzés:
- A
addSpnToEnvironmentkulcs hozzáférést biztosít aservicePrincipalId,servicePrincipalKeyéstenantIdszámára a beágyazott szkriptben. - A
##vsoparancsok a feladat hatókörű változóit a Databricks parancssori felülete által automatikusan felismert feladathatókörű változókra előléptetik. - Alapértelmezés szerint
ARM_CLIENT_SECRETminden további lépéshez elérhető. A hozzáférés korlátozásához adja hozzáissecret=truea változódefiníciót, majd explicit módon adja át minden szükséges lépésnek. A titkos kód ettől a beállítástól függetlenül a naplókban maszkolva van.
Egy teljes példáért lásd: Microsoft Entra szolgáltatásnév engedélyezése a Git-mappák eléréséhez.
Felügyelt identitás hitelesítésének konfigurálása
A felügyelt identitáshitelesítés a folyamatfeladatok helyett a virtuális gépre vagy a tárolókonfigurációra támaszkodik. Ehhez a metódushoz nincs szükség a feladatra AzureCLI@2 .
- 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
Frissítse az alábbi értékeket:
-
DATABRICKS_AZURE_RESOURCE_ID: Keresse meg ezt az értéket a munkaterület Tulajdonságai területén az Azure Portalon. -
ARM_CLIENT_ID: A felügyelt identitás ügyfélazonosítója. -
DATABRICKS_HOST: Nem kötelező. Ha nincs beállítva, az értéket a(z)DATABRICKS_AZURE_RESOURCE_IDalapján következtetjük le.
A felügyelt identitásnak közreműködői szerepkört kell tartalmaznia az Azure Databricks-munkaterületen.