Ověření přístupu k prostředkům Azure Databricks
Pokud chcete získat přístup k prostředku Azure Databricks pomocí rozhraní příkazového řádku Databricks nebo rozhraní REST API, musí se klienti ověřit pomocí účtu Azure Databricks s požadovanou autorizací pro přístup k prostředku. Pokud chcete bezpečně spustit příkaz Rozhraní příkazového řádku Databricks nebo volat požadavek rozhraní Databricks 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. Tento článek popisuje možnosti ověřování, které poskytují tyto přihlašovací údaje a autorizuje přístup k pracovnímu prostoru nebo účtu Azure Databricks.
Následující tabulka ukazuje metody ověřování dostupné pro váš účet Azure Databricks.
Metody ověřování Azure Databricks
Vzhledem k tomu, že nástroje a sady SDK Azure Databricks pracují s jednou nebo více podporovanými metodami ověřování Azure Databricks, můžete pro svůj případ použití vybrat nejlepší metodu ověřování. Podrobnosti najdete v dokumentaci k nástroji nebo sadě SDK v Vývojářské nástroje.
metoda | Popis | Případ použití |
---|---|---|
OAuth pro instanční objekty (OAuth M2M) | Krátkodobé tokeny OAuth pro instanční objekty | Scénáře bezobslužného ověřování, jako jsou plně automatizované pracovní postupy a pracovní postupy CI/CD. |
OAuth pro uživatele (OAuth U2M) | Krátkodobé tokeny OAuth pro uživatele | V reálném čase se účastníte scénářů ověřování, kdy se pomocí webového prohlížeče ověřujete pomocí Azure Databricks v reálném čase. |
Osobní přístupové tokeny (PAT) | Krátkodobé nebo dlouhodobé tokeny pro uživatele nebo instanční objekty | Scénáře, ve kterých cílový nástroj nepodporuje OAuth |
Ověřování spravovaných identit 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. |
Ověřování instančních objektu 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. |
Ověřování přes Azure CLI | Tokeny ID Microsoft Entra pro uživatele nebo instanční objekty Microsoft Entra ID. | Slouží k ověřování přístupu k prostředkům Azure a Azure Databricks pomocí Azure CLI. |
Ověřování 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ě. |
Jaký přístup ověřování mám zvolit?
K ověření příkazu rozhraní příkazového řádku Databricks nebo volání rozhraní API pro přístup k prostředkům Azure Databricks máte dvě možnosti:
- Použijte uživatelský účet Azure Databricks (označovaný jako ověřování uživatele k počítači nebo U2M). Tuto možnost zvolte jenom v případě, že spouštíte příkaz Rozhraní příkazového řádku Azure Databricks z místního klientského prostředí nebo voláte požadavek rozhraní API Azure Databricks z kódu, který vlastníte a spouštíte výhradně.
- Použijte instanční objekt Azure Databricks (označovaný jako ověřování typu machine-to-machine nebo M2M). Tuto možnost vyberte, pokud ostatní budou spouštět váš kód (zejména v případě aplikace), nebo pokud vytváříte automatizaci, která bude volat příkazy rozhraní příkazového řádku Nebo požadavky rozhraní API služby Azure Databricks.
- Pokud používáte Azure Databricks, můžete k ověření přístupu k účtu nebo pracovnímu prostoru Azure Databricks použít také instanční objekt MS Entra. Databricks však doporučuje použít instanční objekt Databricks s naším poskytnutým ověřováním OAuth přes ověřování instančního objektu MS Entra. Důvodem je to, že ověřování Databricks používá přístupové tokeny OAuth, které jsou robustnější při ověřování pouze v 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.
Musíte mít také přístupový token propojený s účtem, který použijete k volání rozhraní Databricks API. Tento token může být přístupový token OAuth 2.0 nebo token PAT (Personal Access Token). Azure Databricks ale důrazně doporučuje používat ověřování OAuth pro autorizaci, protože tokeny OAuth se ve výchozím nastavení automaticky aktualizují a nevyžadují přímou správu přístupového tokenu, což zlepšuje zabezpečení proti napadení tokenu a nežádoucímu přístupu. Vzhledem k tomu, že OAuth vytváří a spravuje přístupový token za vás, 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 sami. PaT zpřístupňují riziko dlouhodobých tokenů poskytujících výchozí příležitosti, pokud nejsou pravidelně auditovány a obměňovány nebo odvolány, nebo pokud řetězce tokenů a hesla nejsou pro vaše vývojové prostředí bezpečně spravované.
Návody použít OAuth k ověřování pomocí Azure Databricks?
Azure Databricks poskytuje jednotné ověřování klientů, které vám pomůže s ověřováním 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.
- V případě ověřování uživatelských účtů (uživatelem na počítač) se Azure Databricks OAuth zpracovává s jednotným ověřováním klienta 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 páru výzvy kódu
- V případě ověřování instančního objektu (machine-to-machine) vyžaduje Azure Databricks OAuth, aby volající zadal přihlašovací údaje klienta spolu s adresou URL koncového bodu tokenu, kde je možné žádost autorizovat. (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í instančního objektu k pracovním prostorům, ke kterým bude mít přístup, budete mít ID klienta a tajný klíč klienta, který nastavíte s konkrétními proměnnými prostředí.
Tyto proměnné prostředí jsou:
DATABRICKS_HOST
: Tato proměnná prostředí je nastavená na adresu URL konzoly účtu Azure Databricks (http://accounts.cloud.databricks.com
) nebo adresy 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 příkazy rozhraní příkazového řádku nebo požadavky rozhraní REST API na úrovni účtu Azure Databricks, 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. Pokud ho chcete získat, přečtěte si téma Vyhledání ID vašeho účtu.DATABRICKS_CLIENT_ID
: (pouze M2M OAuth) ID klienta, které jste při vytváření instančního objektu přiřadili.DATABRICKS_CLIENT_SECRET
: (pouze M2M OAuth) 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é Gitu, jako je GitHub, GitLab a Bitbucket, mají přístup k rozhraním API Azure Databricks pomocí instančního objektu 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í instančního objektu a ID MS Entra. 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 ověření. 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.