Megosztás:


Ajánlott eljárások a Databricks Appshez

Ez az oldal a Databricks Apps fejlesztésének és futtatásának fontos ajánlott eljárásait sorolja fel. Ezek az irányelvek a biztonsági, teljesítmény- és platformkövetelményekre összpontosítanak.

Általános ajánlott eljárások

  • Az adatfeldolgozáshoz használja az Azure Databricks natív funkcióit. Az alkalmazásszámítás felhasználói felületi renderelésre van optimalizálva. A Databricks SQL-t használja lekérdezésekhez és adatkészletekhez, Lakeflow-feladatokat kötegelt feldolgozáshoz, valamint modell kiszolgálást MI következtetési feladatokhoz. A teljesítményproblémák elkerülése érdekében helyezze át a nagy mértékű adatfeldolgozást ezekre a szolgáltatásokra. Tesztelje az alkalmazást a várt terhelési feltételek mellett, hogy ellenőrizze, hogy megfelel-e a követelményeknek.

  • Zavartalan leállításkezelés implementálása. Az alkalmazásnak 15 másodpercen belül le kell állnia, miután egy SIGTERM jelet kap, különben erőszakkal leállítják SIGKILL.

  • Kerülje a privilegizált műveleteket. Az alkalmazások nem jogosultsággal rendelkező felhasználókként futnak, és nem hajthatnak végre olyan műveleteket, amelyek emelt szintű engedélyeket, például gyökérhozzáférést igényelnek. Rendszerszintű csomagokat nem telepíthet olyan csomagkezelők használatával, mint a apt-get, yumvagy apk. Ehelyett használja a Python-csomagokat a PyPI-ból, vagy Node.js npm-csomagokat az alkalmazásfüggőségek kezeléséhez.

  • A platform által felügyelt hálózatkezelés ismertetése. A kérelmek továbbítása fordított proxyn keresztül történik, így az alkalmazás nem függhet a kérések eredetétől. Az Azure Databricks kezeli a TLS leállítását, és megköveteli, hogy az alkalmazások támogassák a HTTP/2 cleartext (H2C) használatát. Ne implementálja az egyéni TLS-kezelést.

  • Kössön a megfelelő gazdagéphez és porthoz. Az alkalmazásnak figyelnie 0.0.0.0 kell, és a környezeti változóban megadott portot kell használnia DATABRICKS_APP_PORT . Részletekért tekintse meg a környezeti változókat .

  • A tároló indítási idejének minimalizálása. Az inicializálási logika egyszerű maradjon a hidegindítási késés csökkentése érdekében. Az indítás során kerülje az olyan műveletek blokkolását, mint a nagy függőségek telepítése vagy a külső API-hívások. Csak akkor töltsünk be nehéz erőforrásokat, ha szükséges.

  • Jelentkezzen be a stdout és a stderr fájlba. Az Azure Databricks rögzíti a naplókat a standard kimeneti és hibastreamekből. Ezekkel az összes naplózási funkcióval biztosíthatja, hogy a naplók láthatók legyenek az Azure Databricks felhasználói felületén. Kerülje a naplók helyi fájlokba való írását.

  • A váratlan hibák zökkenőmentes kezelése. A globális kivételkezelés implementálása az elkapatlan hibák okozta összeomlások megakadályozására. Megfelelő HTTP-hibaválaszokat ad vissza veremnyomok vagy bizalmas adatok felfedése nélkül.

  • Függőségi verziók rögzítése. Használjon pontos verziószámokat a requirements.txt fájlban, hogy az összeállítások környezete konzisztens legyen. Kerülje a csomagok nem rögzített vagy legújabb verzióinak használatát.

  • Felhasználói bemenet ellenőrzése és megtisztítése. Mindig ellenőrizze a bejövő adatokat, és fertőtlenítse azokat, hogy megelőzze az injektálási támadásokat vagy a hibás bemeneteket, még a belső alkalmazásokban is.

  • Használjon memóriabeli gyorsítótárazást drága műveletekhez. Gyorsítótárazza a gyakran használt adatokat, például a lekérdezési eredményeket vagy az API-válaszokat a késés csökkentése és a redundáns feldolgozás elkerülése érdekében. Használjon functools.lru_cache, cachetools vagy hasonló könyvtárakat, és gondosan határozza meg a gyorsítótárak hatókörét a többfelhasználós alkalmazásokban.

  • Használjon aszinkron kérésmintákat a hosszú ideig futó műveletekhez. Kerülje a szinkron kéréseket, amelyek a műveletek befejezésére várnak, ami időtúllépést okozhat. Ehelyett küldjön egy kezdeti kérést a művelet elindítására, majd rendszeres időközönként kérje le az erőforrás állapotát vagy végpontot a befejezési állapot ellenőrzéséhez.

Ajánlott biztonsági eljárások

  • Kövesse a minimális jogosultság elvét. Csak az egyes felhasználókhoz vagy csoportokhoz szükséges engedélyek megadása. Használja a CAN USE-t CAN MANAGE helyett, kivéve ha teljes körű vezérlés szükséges. Az engedélyekkel kapcsolatos legjobb gyakorlatokat tekintse meg.

  • Gondosan válassza ki a hitelesítési módszereket. Szolgáltatásnevek használata, ha az erőforrásokhoz és adatokhoz való hozzáférés azonos az alkalmazás összes felhasználója számára. Csak megbízható alkalmazáskészítőkkel és társmegbízott alkalmazáskóddal rendelkező munkaterületeken implementáljon felhasználói hitelesítést, ha az alkalmazásnak tiszteletben kell tartania a hívó felhasználó engedélyeit.

  • Minden alkalmazáshoz használjon dedikált szolgáltatásnevet. Ne ossza meg a szolgáltatásnév hitelesítő adatait alkalmazások vagy felhasználók között. Csak a szükséges minimális engedélyeket adja meg, például CAN USE vagy CAN QUERY. A szolgáltatói példány hitelesítő adatainak megújítása, ha az alkalmazás létrehozói kilépnek a szervezetből. Lásd: Az alkalmazások erőforrásokhoz való hozzáférésének kezelése.

  • Alkalmazáskörnyezetek elkülönítése. Különböző munkaterületek használatával elkülöníthet fejlesztési, előkészítési és éles alkalmazásokat. Ez megakadályozza az éles adatok véletlen elérését a fejlesztés és tesztelés során.

  • Adatok elérése megfelelő számítással. Ne konfigurálja az alkalmazást az adatok közvetlen elérésére vagy feldolgozására. SQL-raktárak használata lekérdezésekhez, modellszolgáltatás AI következtetéshez, és Lakeflow-feladatok kötegelt feldolgozáshoz.

  • Titkos kódok kezelése. Soha ne tegye közzé a nyers titkos értékeket a környezeti változókban. Használja valueFrom az alkalmazáskonfigurációban, és cserélje rendszeresen a titkokat, különösen akkor, ha a csapatszerepkörök megváltoznak. Tekintse meg az ajánlott eljárásokat.

  • Minimalizálja a hatóköröket, és naplózza a felhasználói műveleteket. Felhasználói engedélyezés használatakor csak az alkalmazás által igényelt hatóköröket kérje le, és naplózza az összes felhasználói műveletet strukturált naplózási rekordokkal. Tekintse meg a felhasználói engedélyezés ajánlott eljárásait.

  • A kimenő hálózati hozzáférés korlátozása. Csak az alkalmazás által igényelt domaineket, például csomagtárakat és külső API-kat engedélyezze. A konfiguráció ellenőrzéséhez használjon száraz üzemmódot és megtagadási naplókat. Tekintse meg a hálózati szabályzatok konfigurálásának ajánlott eljárásait.

  • Kövesse a biztonságos kódolási eljárásokat. Paraméterezze az SQL-lekérdezéseket az injektálási támadások megelőzése érdekében, és alkalmazzon általános biztonságos fejlesztési irányelveket, például a bemenetek érvényesítését és a hibakezelést. Lásd : Utasításvégrehajtási API: SQL futtatása a raktárakban.

  • Gyanús tevékenységek figyelése. Rendszeresen tekintse át az auditnaplókat szokatlan hozzáférési minták vagy jogosulatlan műveletek esetén. Riasztások beállítása kritikus biztonsági eseményekhez.