Sdílet prostřednictvím


Použití instančního objektu Microsoft Entra k ověření přístupu ke složkám Git v Azure Databricks

Zjistěte, jak nakonfigurovat ověřený přístup ke složkám Git Azure Databricks hostovaným v Azure DevOps (Azure Repos) pomocí instančního objektu Microsoft Entra.

Pokud máte složky Git Databricks v projektu Databricks, které jsou podporovány úložišti Git Azure Repos a chcete je spravovat ve vaší automatizaci, můžete pomocí informací v tomto článku nakonfigurovat ověřování pomocí instančního objektu Microsoft Entra a Azure DevOps. Po dokončení této úlohy budete mít ověřené přihlašovací údaje Gitu Databricks, které můžete použít ve své automatizaci.

Proč používat Microsoft Entra a ne PAT?

V minulosti byly osobní přístupové tokeny (PAT) upřednostňovaným způsobem ověřování při volání rozhraní API, které vyžaduje specifický přístup a oprávnění k prostředkům. Tyto nosné tokeny představovaly uživatelské jméno a heslo a vyžadovaly pravidelnou rotaci, aby se minimalizovalo riziko zabezpečení, které předložili. Přístupové tokeny Microsoft Entra ID řeší tento problém automatickou správou obměny těchto tokenů každou hodinu a Databricks je doporučuje jako osvědčený postup při práci s prostředky Azure. Vytvořením instančního objektu Microsoft Entra můžete spravovat oprávnění udělená pro přístup k těmto prostředkům bez použití uživatelského účtu Microsoft Azure.

Požadavky

Musíte mít:

  • Přístup k projektu Azure DevOps s úložištěm Git Azure Repos připojeným ke složce Git Databricks
  • Oprávnění k vašemu účtu Azure k vytvoření instančního objektu MS Entra
  • Nainstalovali jsme Azure CLI .
  • Nainstalované rozhraní příkazového řádku Databricks

Krok 1: Vytvoření instančního objektu Microsoft Entra

Tento krok můžete přeskočit, pokud už máte nakonfigurovaný instanční objekt Microsoft Entra.

Pokud chcete vytvořit instanční objekt Microsoft Entra, postupujte podle pokynů v dokumentaci k Microsoft Azure: Zaregistrujte aplikaci Microsoft Entra a vytvořte instanční objekt. V části Nastavit ověřování v tomto článku ignorujte první dvě možnosti a postupujte podle kroků v části "Možnost 3: Vytvoření nového tajného klíče klienta".

Po nastavení budete mít:

  • Tajný klíč klienta. Bude přítomen jako dlouhý řetězec náhodných znaků.
    • ID instančního objektu. Toto je jedinečný název, který jste přiřadili instančnímu objektu MS Entra. Osvědčeným postupem je, že název by měl také indikovat, jak a kdy se má použít (například Databricks_CICD_SP).

(Volitelné uživatelské rozhraní pro přesměrování můžete ignorovat v dialogovém okně konfigurace MS Entra, protože se v této konfiguraci nepoužije.)

Zkopírujte je někam dolů, protože je budete používat v budoucích krocích. Po úspěšném dokončení procesu v této dokumentaci zabezpečte nebo odstraňte tyto informace.

Krok 2: Konfigurace oprávnění Azure DevOps pro instanční objekt MS Entra

Nejprve musíte instančnímu objektu MS Entra udělit oprávnění pro přístup k prostředkům Azure DevOps. K tomu musíte použít portál Azure DevOps.

  1. Přihlaste se ke svému účtu Azure DevOps a přejděte k projektu.

  2. V části Oprávnění nastavení>projektu klepněte na tlačítko Čtenáři.

    Obsah panelu Členové v části Oprávnění v nastavení projektu Azure DevOps

  3. Klikněte na kartu Členové, klepněte na tlačítko Přidat a potom přidejte název instančního objektu MS Entra, který jste vytvořili.

  4. V konzole se vraťte na úroveň organizace vaší organizace Azure DevOps a v dolní části levého podokna klikněte na Nastavení organizace.

  5. Klikněte na Přidat uživatele a>nakonfigurujte přístup pro váš instanční objekt následujícím způsobem:

    • Přidejte instanční objekt MS Entra pomocí ID, které jste vytvořili dříve.
    • Nakonfigurujte přístup instančního objektu na minimální úroveň, kterou potřebuje k provádění operací v Azure Repos. Oprávnění základní úrovně jsou obvykle dostatečná. Pokud si nejste jistí, jakou úroveň použít, obraťte se na správce organizace Azure DevOps.
    • Přidejte instanční objekt do projektu Azure DevOps.
    • Přiřaďte instanční objekt ke skupině Přispěvatelé projektu.

    Obsah panelu Uživatelé v nastavení organizace v Azure DevOps

Krok 3: Přiřazení oprávnění k instančnímu objektu v Azure Databricks

K instančnímu objektu Microsoft Entra musíte také přiřadit oprávnění v rámci Azure Databricks.

  1. Přihlaste se ke konzole pro správu účtu Azure Databricks pro váš účet.
  2. Klikněte na Uživatelé a skupiny.
  3. Klikněte na kartu Instanční objekty a potom klikněte na Přidat instanční objekt. Karta Instanční objekty v části Uživatelé a skupiny v konzole pro správu účtu Databricks
  4. Na stránce Přidat instanční objekt klikněte na spravované ID Microsoft Entra a pak přidejte ID aplikace Microsoft Entra a název instančního objektu z kroku 1: Vytvoření instančního objektu Microsoft Entra. Po dokončení klikněte na Přidat . Dialogové okno Přidat instanční objekt v konzole správce účtu Databricks
  5. Kliknutím na přidaný instanční objekt Microsoft Entra zobrazíte kartu Informace o objektu zabezpečení.
  6. Kliknutím na Vygenerovat tajný kód v levém dolním rohu stránky vygenerujete tajný kód OAuth. Tento tajný klíč umožňuje ověřovat volání rozhraní API Azure Databricks pomocí rozhraní příkazového řádku Databricks.
  7. Zkopírujte tajný řetězec a ID klienta a klikněte na tlačítko Hotovo. Oba použijete v dalším kroku. Vyberte Hotovo. Dialogové okno Generovat tajný kód v konzole pro správu účtu Databricks
  8. Na levém bočním panelu klikněte na Pracovní prostory, zvolte pracovní prostor a potom klikněte na kartu Oprávnění .
  9. Udělte instančnímu objektu oprávnění "Uživatel" a potom klikněte na přidat oprávnění.

Důležité

Pokud je karta Oprávnění zobrazená šedě, váš pracovní prostor Azure Databricks není přiřazený k metastoru katalogu Unity. Obraťte se na správce Databricks.

Dále vytvoříte přihlašovací údaje Gitu v Azure Databricks.

Krok 4: Vytvoření přístupového tokenu Microsoft Entra ID a jeho uložení jako přihlašovacích údajů Gitu v Azure Databricks

Poznámka:

Tento krok vyžaduje použití rozhraní CLI Azure i Databricks.

Pokud se chcete ověřit v Azure Databricks, musíte mít nakonfigurovaný konfigurační profil (.databrickscfg) s tajným kódem OAuth, který jste vytvořili v předchozím kroku. Chcete-li nastavit tuto konfiguraci, otevřete .databrickscfg soubor v editoru a přidejte do souboru následující:

[DEFAULT]
host = https://<workspace-url>.azuredatabricks.net/
client_id = <service principal ID>
client_secret = <Databricks OAuth token value>

Kde host je adresa URL vašeho pracovního prostoru Databricks, client_id je ID instančního objektu Microsoft Entra a client_secret jedná se o tajný klíč klienta OAuth, který jste vytvořili v kroku 3: Přiřazení oprávnění k instančnímu objektu v Azure Databricks.

Teď byste měli mít k dispozici následující hodnoty pro volání rozhraní příkazového řádku v tomto procesu:

  • ID klienta instančního objektu z kroků 1 nebo 3 – měly by být stejné. (sp_id v následujících příkladech rozhraní příkazového řádku.)
  • Název instančního objektu z kroku 1. (sp_name)
  • Tajný řetězec klienta instančního objektu z kroku 1. (sp_secret)
  • Název vaší organizace Azure DevOps (devops_org)
  • Název vašeho projektu Azure DevOps (devops_project)
  • Název úložiště Azure Repos (devops_repo)

Kromě toho potřebujete ID tenanta Azure (tenant_id v následujících příkladech) pro vaše předplatné Azure. Pokud ho chcete získat z webu Azure Portal, postupujte podle těchto pokynů.

Teď můžete vytvořit přihlašovací údaje Gitu z Azure CLI.

  1. Otevřete okno příkazového řádku s přístupem k rozhraní příkazového řádku Azure a rozhraní příkazového řádku Databricks.
  2. Spuštěním následujícího příkazu Azure CLI se přihlaste jako instanční objekt Microsoft Entra: az login --allow-no-subscriptions --service-principal -u $sp_id -p $sp_secret --tenant $tenant_id
  3. Jako instanční objekt Microsoft Entra požádejte přístupový token Microsoft Entra ID a přiřaďte ho proměnné: ENTRA_ID_TOKEN=$(az account get-access-token --resource "499b84ac-1321-427f-aa17-267ca6975798" --query "accessToken" --output tsv)
  4. Pomocí přístupového tokenu vytvořte přihlašovací údaje Gitu pro přístup k Azure Databricks pomocí úrovní oprávnění, které jste pro něj nakonfigurovali: databricks git-credentials create azureDevOpsServices --personal-access-token $ENTRA_ID_TOKEN --git-username $sp_name
  5. Nakonec vytvořte novou složku Git pomocí instančního objektu Microsoft Entra: databricks repos create \https://$sp_name@dev.azure.com/$devops_org/$devops_project/_git/$devops_repo

Odpovídající složka Git pro toto úložiště Azure DevOps je teď dostupná ve vašem pracovním prostoru Azure Databricks. Přihlašovací údaje Gitu můžete zadat ke správě z kódu pomocí rozhraní REST API Databricks Repos nebo rozhraní příkazového řádku Databricks.

Naučili jste se, jak vygenerovat přístupový token Microsoft Entra ID vymezený na Azure DevOps a uložit ho jako přihlašovací údaje Gitu Databricks.

Osvědčené postupy

Přístupový token Entra ID je krátkodobý, takže váš kanál musí aktualizovat přihlašovací údaje Gitu Databricks pomocí git-credentials update. Pak můžete z ní aktivovat žádost o přijetí změn pomocí databricks repos update.

Důležité

V produkčním nastavení jsou vyžadována další bezpečnostní opatření. V produkčním prostředí byste měli uložit tajný klíč klienta instančního objektu a token Databricks OAuth do zabezpečeného úložiště tajných kódů, jako je Azure Key Vault.

Viz také