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 obsahuje seznam důležitých osvědčených postupů pro vývoj a spouštění aplikací Databricks. Tyto pokyny se zaměřují na požadavky na zabezpečení, výkon a platformu.
Obecné osvědčené postupy
Ke zpracování dat použijte nativní funkce Azure Databricks. Výpočetní prostředí aplikace je optimalizované pro vykreslování uživatelského rozhraní. Databricks SQL můžete použít pro dotazy a datové sady, úlohy Lakeflow pro dávkové zpracování a obsluhu modelů pro úlohy odvozování AI. Přenechat intenzivní zpracování dat na tyto služby, aby se předešlo problémům s výkonem. Otestujte aplikaci za očekávaných podmínek načítání a ověřte, že splňuje vaše požadavky.
Implementujte řádné zpracování vypnutí. Aplikace se musí vypnout do 15 sekund po přijetí signálu
SIGTERM, nebo se vynuceně ukončí sSIGKILL.Vyhněte se privilegovaným operacím. Aplikace běží jako neprivilegovaní uživatelé a nemůžou provádět akce, které vyžadují zvýšená oprávnění, jako je kořenový přístup. Balíčky na úrovni systému nemůžete instalovat pomocí správců balíčků, jako je
apt-get,yumneboapk. Místo toho ke správě závislostí aplikace použijte balíčky Pythonu z PyPI nebo Node.js balíčky z npm.Seznamte se se sítěmi spravovanými platformou. Požadavky se přeposílají přes reverzní proxy server, takže vaše aplikace nemůže záviset na původu požadavků. Azure Databricks zpracovává ukončení protokolu TLS a vyžaduje, aby aplikace podporovaly cleartext HTTP/2 (H2C). Neimplementujte vlastní zpracování protokolu TLS.
Vytvořte vazbu na správného hostitele a portu. Aplikace je povinna naslouchat na
0.0.0.0a používat port zadaný v prostředí proměnnéDATABRICKS_APP_PORT. Podrobnosti najdete v proměnných prostředí .Minimalizujte čas spuštění kontejneru. Udržujte logiku inicializace odlehčenou, aby se snížila latence studeného spuštění. Vyhněte se blokování operací, jako jsou instalace velkých závislostí nebo volání externích rozhraní API během spouštění. Načtěte náročné prostředky pouze v případě potřeby.
Přihlaste se k stdoutu a stderru. Azure Databricks zaznamenává protokoly ze standardních výstupních a chybových datových proudů. Použijte je pro všechny protokolování, abyste měli jistotu, že jsou protokoly viditelné v uživatelském rozhraní Azure Databricks. Vyhněte se zápisu protokolů do místních souborů.
Zvládněte neočekávané chyby efektivně. Implementujte globální zpracování výjimek, abyste předešli pádům způsobeným nezachycenými chybami. Vrácení správných chybových odpovědí HTTP bez vystavení trasování zásobníku nebo citlivých dat
Zafixovat verze závislostí. Pomocí přesných čísel verzí v
requirements.txtsouboru zajistěte konzistentní prostředí napříč sestaveními. Nepoužívejte odepnuté nebo nejnovější verze balíčků.Ověřte a sanitujte uživatelský vstup. Vždy ověřte příchozí data a očišťujte je, abyste předešli injekčním útokům nebo neplatným vstupům, i v případě interních aplikací.
Ukládání do mezipaměti v paměti se používá pro nákladné operace. Ukládání často používaných dat do mezipaměti, jako jsou výsledky dotazů nebo odpovědi rozhraní API, aby se snížila latence a zabránilo redundantnímu zpracování. Používejte pečlivě
functools.lru_cache,cachetoolsnebo podobné knihovny a důkladně spravujte mezipaměť v aplikacích pro více uživatelů.Pro dlouhotrvající operace používejte vzory asynchronních požadavků. Vyhněte se synchronním požadavkům, které čekají na dokončení operací, což může způsobit vypršení časového limitu. Místo toho proveďte počáteční požadavek na spuštění operace a pak se pravidelně dotazujte koncového bodu nebo stavu prostředku pro zkontrolování stavu dokončení.
Osvědčené postupy zabezpečení
Dodržujte zásadu nejnižších oprávnění. Udělte pouze oprávnění potřebná pro každého uživatele nebo skupinu. Používejte
CAN USEmístoCAN MANAGE, pokud není vyžadováno úplné ovládání. Přečtěte si osvědčené postupy pro oprávnění.Pečlivě zvolte metody ověřování. Použijte služební principály, pokud je přístup k prostředkům a datům stejný pro všechny uživatele aplikace. Implementovat ověřování uživatelů pouze v pracovních prostorech s důvěryhodnými autory aplikací a s kódem aplikace s posouzením od kolegů, pokud aplikace musí respektovat oprávnění uživatele voláním.
Pro každou aplikaci používejte vyhrazené služební principály. Nesdílejte přihlašovací údaje služebního principála mezi aplikacemi nebo uživateli. Udělte pouze minimální potřebná oprávnění, například
CAN USEneboCAN QUERY. Obměňte přihlašovací údaje entity služby, když tvůrci aplikací opustí organizaci. Viz Správa přístupu aplikací k prostředkům.Izolace aplikačních prostředí K oddělení vývojových, přípravných a produkčních aplikací používejte různé pracovní prostory. Zabráníte tak náhodnému přístupu k produkčním datům během vývoje a testování.
Přístup k datům prostřednictvím vhodných výpočetních prostředků Nenakonfigurujte aplikaci pro přímý přístup k datům ani je nezpracovávejte. Používejte SQL warehouses pro dotazy, Model Serving pro inferenci AI a úlohy Lakeflow pro dávkové zpracování.
Správa tajných kódů Nikdy nezpřístupňujte nezpracované tajné hodnoty v proměnných prostředí. Používejte
valueFromv konfiguraci aplikace a obměňujte tajné kódy pravidelně, zejména když se mění týmové role. Podívejte se na osvědčené postupy.Minimalizujte rozsahy a protokolujte akce uživatelů. Při použití autorizace uživatele požádejte pouze o obory, které vaše aplikace potřebuje, a protokolujte všechny akce uživatelů se strukturovanými záznamy auditu. Přečtěte si osvědčené postupy pro autorizaci uživatelů.
Omezte odchozí síťový přístup. Povolte jenom domény, které vaše aplikace potřebuje, například úložiště balíčků a externí rozhraní API. K ověření konfigurace použijte režim suchého spuštění a protokoly odepření. Přečtěte si osvědčené postupy pro konfiguraci zásad sítě.
Dodržujte postupy zabezpečeného kódování. Parametrizujte dotazy SQL, abyste zabránili útokům prostřednictvím injektáže a použili obecné pokyny pro zabezpečený vývoj, jako je ověřování vstupu a zpracování chyb. Viz rozhraní pro provádění příkazů API: Spuštění SQL ve skladištích.
Monitorování podezřelých aktivit Pravidelně kontrolujte protokoly auditu o neobvyklých vzorech přístupu nebo neautorizovaných akcích. Nastavte výstrahy pro kritické události zabezpečení.