Sdílet prostřednictvím


Autorizace přístupu k prostředkům Azure Databricks

Toto téma popisuje základní přístupy k provádění zabezpečených volání rozhraní příkazového řádku Azure Databricks nebo rozhraní REST API pomocí přihlašovacích údajů účtu Azure Databricks, jako jsou uživatelské účty nebo instanční objekty.

Autorizace Azure Databricks CLI a API

Pokud chcete získat přístup k prostředku Azure Databricks pomocí rozhraní příkazového řádku Databricks nebo rozhraní REST API, musí klienti autorizovat pomocí účtu Azure Databricks. Tento účet musí mít oprávnění pro přístup k prostředku, který může nakonfigurovat správce Azure Databricks nebo uživatelský účet s oprávněními správce.

Existují dva typy účtů, které můžete použít v závislosti na tom, jak máte v úmyslu přistupovat k prostředkům Azure Databricks:

  • uživatelský účet: Použijte ho k interaktivnímu zadávání příkazů rozhraní příkazového řádku Azure Databricks nebo volání rozhraní REST API.
  • Hlavní služba: Použijte to k automatizaci příkazů Azure Databricks CLI nebo volání REST API bez lidského zásahu.

Jakmile se rozhodnete pro typ účtu Azure Databricks, musíte získat přístupový token , který představuje přihlašovací údaje účtu. Tento přístupový token poskytnete při přístupu k prostředkům účtu ve skriptech nebo kódu nebo v interaktivních relacích.

  1. Pokud používáte Azure Databricks, můžete k autorizaci přístupu k vašemu účtu nebo pracovnímu prostoru Azure Databricks také využít principál služby MS Entra. Databricks však doporučuje, abyste místo autorizace služebního principála MS Entra použili služební principál Databricks s naší autorizací OAuth. Důvodem je to, že autorizace Databricks používá přístupové tokeny OAuth, které jsou robustnější při autorizaci pouze s Azure Databricks.

Další podrobnosti o použití instančního objektu MS Entra pro přístup k prostředkům Databricks najdete v tématu Ověřování instančního objektu MS Entra.

Získání přístupového tokenu

Přihlašovací údaje vašeho účtu jsou reprezentovány zabezpečeným přístupovým tokenem, který zadáte přímo nebo nepřímo pro příkaz rozhraní příkazového řádku nebo volání rozhraní API.

Pokud chcete bezpečně spustit příkaz rozhraní příkazového řádku Databricks nebo požadavek rozhraní API, který vyžaduje autorizovaný přístup k účtu nebo pracovnímu prostoru, musíte zadat přístupový token na základě platných přihlašovacích údajů účtu Azure Databricks.

Následující tabulka ukazuje metody autorizace dostupné pro váš účet Azure Databricks.

způsoby autorizace v Azure Databricks

Vzhledem k tomu, že nástroje a sady SDK Azure Databricks pracují s jednou nebo více podporovanými metodami autorizace Azure Databricks, můžete pro svůj případ použití vybrat nejlepší metodu autorizace. Podrobnosti najdete v dokumentaci k nástroji nebo sadě SDK, viz místní vývojové nástroje.

Uživatelé Azure Databricks můžou vyžadovat přístup k prostředkům specifickým pro Azure, které nejsou přímo spravované v rámci vašeho účtu Databricks. Metody přístupu k těmto prostředkům jsou také zahrnuty v této tabulce. Pro přístup k prostředkům Azure používáte identitu spravované služby Azure (MSI) nebo ID MS Entra (v závislosti na vašem scénáři) a ne přihlašovací údaje k účtu Azure Databricks.

metoda Popis Případ použití
Databricks OAuth pro instanční objekty Krátkodobé tokeny OAuth pro instanční objekty Bezobslužné scénáře autorizace, jako jsou plně automatizované pracovní postupy a pracovní postupy CI/CD
Databricks OAuth pro uživatele Krátkodobé tokeny OAuth pro uživatele Podporované scénáře autorizace, kdy při zobrazení výzvy použijete webový prohlížeč nebo jinou interaktivní metodu k autorizaci s Databricks.
Databricks osobní přístupové tokeny (PAT) Krátkodobé nebo dlouhodobé tokeny pro uživatele nebo instanční objekty Použijte ho jenom v případech, kdy cílový nástroj nepodporuje OAuth.
Autorizace spravované identity služby Azure Tokeny ID Microsoft Entra pro spravované identity Azure Používejte pouze s prostředky Azure, které podporují spravované identity, jako jsou virtuální počítače Azure.
autorizace principálu služby Microsoft Entra ID Tokeny ID Microsoft Entra pro instanční objekty Microsoft Entra ID. Používejte pouze s prostředky Azure, které podporují tokeny ID Microsoft Entra a nepodporují spravované identity, jako je Azure DevOps.
autorizace Azure CLI Tokeny ID Microsoft Entra pro uživatele nebo instanční objekty Microsoft Entra ID. Slouží k autorizaci přístupu k prostředkům Azure a Azure Databricks pomocí Azure CLI.
autorizace uživatele Microsoft Entra ID Tokeny ID Microsoft Entra pro uživatele Používejte pouze s prostředky Azure, které podporují pouze tokeny MICROSOFT Entra ID. Databricks nedoporučuje vytvářet tokeny ID Microsoft Entra pro uživatele Azure Databricks ručně.

Jakou možnost autorizace mám zvolit?

Azure Databricks poskytuje 2 možnosti autorizace nebo ověřování pomocí přístupového tokenu:

  • Přístupové tokeny založené na OAuth 2.0
  • Osobní přístupové tokeny (PAT).

Poznámka

Azure Databricks důrazně doporučuje používat OAuth místo PATs k autorizaci, protože tokeny OAuth se ve výchozím nastavení automaticky obnovují a nevyžadují přímou správu přístupového tokenu, což zlepšuje zabezpečení proti unesení tokenu a nežádoucímu přístupu.

Vzhledem k tomu, že OAuth za vás vytvoří a spravuje přístupový token, zadáte adresu URL koncového bodu tokenu OAuth, ID klienta a tajný klíč, který vygenerujete z pracovního prostoru Azure Databricks, a nemusíte přímo zadávat řetězec tokenu. Pokud integrujete nástroj nebo službu třetí strany, která není podporována jednotným ověřováním klientů Azure Databricks nebo nemá žádnou podporu OAuth, zvolte pouze PATs.

Jak můžu pomocí OAuth autorizovat přístup k prostředkům Azure Databricks?

Azure Databricks poskytuje sjednocené ověřování klientů, které vám pomůžou s autorizací pomocí výchozí sady proměnných prostředí, které můžete nastavit na konkrétní hodnoty přihlašovacích údajů. To vám pomůže pracovat snadněji a bezpečněji, protože tyto proměnné prostředí jsou specifické pro prostředí, ve kterém budou spouštět příkazy Rozhraní příkazového řádku Azure Databricks nebo volat rozhraní API Azure Databricks.

  • Pro autorizaci uživatelských účtů se za vás zpracovává ověřovací část Azure Databricks OAuth – vytvoření a správa přístupových tokenů – s klientem sjednocené ověřování Databricks, pokud nástroje a sady SDK implementují svůj standard. Pokud ne, můžete ručně vygenerovat ověřitel kódu OAuth a dvojici výzvy, abyste ho mohli použít přímo v příkazech rozhraní příkazového řádku Azure Databricks a požadavcích rozhraní API. Viz krok 1: Vygenerování ověřovacího kódu OAuth a dvojice výzvy kódu.
  • Pro autorizaci aplikačního objektu vyžaduje Azure Databricks OAuth, aby volající poskytl klientské přihlašovací údaje spolu s adresou URL koncového bodu tokenu, kde může být autorizován požadavek. (To se za vás zpracovává, pokud používáte nástroje a sady SDK Azure Databricks, které podporují jednotné ověřování klientů Databricks.) Přihlašovací údaje zahrnují jedinečné ID klienta a tajný klíč klienta. Klient, což je instanční objekt Databricks, který bude spouštět váš kód, musí být přiřazen k pracovním prostorům Databricks. Po přiřazení principálu služby k pracovním prostorům, k nimž bude mít přístup, obdržíte ID klienta a tajný klíč klienta, který nastavíte pomocí specifických proměnných prostředí.

Tyto proměnné prostředí jsou:

Proměnná prostředí Popis
DATABRICKS_HOST Tato proměnná prostředí je nastavena na URL buď konzoly účtu Azure Databricks (http://accounts.cloud.databricks.com), nebo URL pracovního prostoru Azure Databricks (https://{workspace-id}.cloud.databricks.com). Zvolte typ adresy URL hostitele na základě typu operací, které budete provádět ve svém kódu. Konkrétně pokud používáte Azure Databricks příkazy rozhraní příkazového řádku nebo požadavky rozhraní REST API na úrovni účtu, nastavte tuto proměnnou na adresu URL účtu Azure Databricks. Pokud používáte příkazy rozhraní příkazového řádku na úrovni pracovního prostoru Azure Databricks nebo požadavky rozhraní REST API, použijte adresu URL pracovního prostoru Azure Databricks.
DATABRICKS_ACCOUNT_ID Používá se pro operace účtu Azure Databricks. Toto je ID vašeho účtu Azure Databricks. Chcete-li ho získat, podívejte se na Vyhledání ID účtu.
DATABRICKS_CLIENT_ID (Pouze OAuth služebního principu) ID klienta, které vám bylo přiřazeno při vytváření služebního principu.
DATABRICKS_CLIENT_SECRET (Pouze OAuth instančního objektu) Tajný klíč klienta, který jste vygenerovali při vytváření instančního objektu.

Můžete je nastavit přímo nebo pomocí konfiguračního profilu Databricks (.databrickscfg) na klientském počítači.

Pokud chcete použít přístupový token OAuth, musí váš pracovní prostor nebo správce účtu Azure Databricks udělit vašemu uživatelskému účtu nebo instančnímu objektu CAN USE oprávnění pro účet a funkce pracovního prostoru, ke kterým bude váš kód přistupovat.

Další podrobnosti o konfiguraci autorizace OAuth pro vašeho klienta a kontrolu možností autorizace specifické pro poskytovatele cloudu najdete v tématu Jednotné ověřování klientů.

Ověřování pro služby a nástroje třetích stran

Pokud píšete kód, který přistupuje ke službám, nástrojům nebo sadám SDK třetích stran, musíte použít mechanismy ověřování a autorizace poskytované třetí stranou. Pokud ale musíte udělit nástroj třetí strany, sadu SDK nebo službu přístup k vašemu účtu nebo prostředkům pracovního prostoru Azure Databricks, poskytuje Databricks následující podporu:

  • Zprostředkovatel Terraformu Databricks: Tento nástroj má přístup k rozhraním API Azure Databricks z Terraformu vaším jménem pomocí uživatelského účtu Azure Databricks. Další podrobnosti najdete v tématu Zřízení instančního objektu pomocí Terraformu.

  • Poskytovatelé Git, jako je GitHub, GitLab a Bitbucket, mohou přistupovat k API Azure Databricks pomocí služebního principálu Databricks. Další podrobnosti najdete v tématu Instanční objekty pro CI/CD.

  • Jenkins má přístup k rozhraním API Azure Databricks pomocí instančního objektu Databricks. Další podrobnosti najdete v tématu CI/CD s Jenkinsem v Azure Databricks.

  • Azure DevOps má přístup k rozhraním API Azure Databricks pomocí služebního principálu založeného na MS Entra ID. Další podrobnosti najdete v tématu Ověřování pomocí Azure DevOps v Databricks.

Konfigurační profily Azure Databricks

Konfigurační profil Azure Databricks obsahuje nastavení a další informace, které Azure Databricks potřebuje k autorizaci přístupu. Konfigurační profily Azure Databricks jsou uložené v místních klientských souborech pro vaše nástroje, sady SDK, skripty a aplikace, které se mají použít. Standardní soubor konfiguračního profilu má název .databrickscfg.

Další informace najdete v konfiguračních profilech Azure Databricks.