Ajánlott eljárások: Adatirányítás

Ez a dokumentum ismerteti az adatirányítás szükségét, és ismerteti azokat az ajánlott eljárásokat és stratégiákat, amelyek segítségével ezeket a technikákat a szervezeten belül implementálja. Egy tipikus üzembe helyezési munkafolyamatot mutat be, amely Azure Databricks natív felhőbeli megoldások használatával biztosítja az alkalmazástól a tárolóig az egyes rétegek biztonságát és figyelét.

Miért fontos az adatirányítás?

Az adatirányítás egy olyan ékezetes fogalom, amely az adateszközök szervezeten belüli biztonságos kezeléséhez megvalósított szabályzatokat és eljárásokat foglalja össze. A sikeres adatirányítási gyakorlat egyik legfontosabb alapkulcsa, hogy az adatbiztonság minden nagyvállalatnál kiemelten fontos szerepet játszik. Az adatbiztonság kulcsa az a képesség, hogy az adatcsapatok kiváló átláthatósággal és naplózhatósággal tudjanak hozzáférni a szervezeten belül a felhasználói adatok hozzáférési mintáihoz. Egy hatékony adatszabályozási megoldás megvalósításával a vállalatok megvédik adataikat a jogosulatlan hozzáféréstől, és gondoskodnak arról, hogy a szabályozási követelményeknek megfelelő szabályok vonatkoznak a vállalatra.

Irányítási kihívások

Akár egy startup, akár egy nagyvállalat adatait kezeli, a biztonsági csapatoknak és a platformtulajdonosoknak egyetlen feladatuk van biztosítani az adatok biztonságát és a szervezet belső vezérlőinek megfelelő felügyeletét. A szabályozási testületek a világ minden táján megváltoztatják az adatok rögzített és tárolt módját. Ezek a megfelelőségi kockázatok csak tovább bonyolítják a már eddig is bonyolult problémákat. Hogyan nyithatja meg az adatokat azok számára, akik a jövőre vonatkozó eseteket vezethetik? Végső soron olyan adat-szabályzatokat és eljárásokat kell megvalósítania, amelyek segítenek a vállalatnak értéket kihozni a gyakran hatalmas adattárak, folyamatosan növekvő tárolók értelmes alkalmazásával. Megoldásokat tudunk találni a világ legnagyobb problémáira, amikor az adatcsapatok számos különböző adatforráshoz férnek hozzá.

Tipikus kihívások az adatok felhőbeli biztonságának és rendelkezésre állásának mérlegelve:

  • Támogatják a jelenlegi adat- és elemzőeszközök a felhőbeli adatok hozzáférés-vezérlését? Hatékony naplózást biztosítanak az adatokon az adott eszközben való áthaladás során?
  • A jelenleg a Data Lake-ben található adatok iránti igény növekedésével együtt skálázva lesz a biztonsági és monitorozási megoldás? Kevés felhasználó adatelérésének kiépítése és figyelése egyszerű is lehet. Mi történik, ha több száz felhasználó számára szeretné megnyitni a data lake-et? Több ezerre?
  • Van bármi, amit tehetünk, hogy proaktívan gondoskodunk az adatelérési szabályzatok betartásáról? Nem elég egyszerűen figyelni; ez csupán több adat. Ha az adatok rendelkezésre állása csupán az adatbiztonság egyik kihívása, akkor olyan megoldást kell találnia, amely aktívan figyeli és nyomon követi az információkhoz való hozzáférést a teljes szervezetben.
  • Milyen lépéseket tud tenni a meglévő adatirányítási megoldás hiányosságainak azonosításához?

Hogyan Azure Databricks ezeket a kihívásokat?

  • Hozzáférés-vezérlés: A hozzáférés-vezérlés gazdag csomagja a tárolási rétegtől a teljes rétegen át. Azure Databricks azure-beli biztonsági szolgáltatások közvetlenül a platformon is kihasználhatják a felhő gerincét. Engedélyezze Azure Active Directory hitelesítő adatok áthaladást a Spark-fürtökön a data lake-hez való hozzáférés szabályozása érdekében.
  • Fürt-szabályzatok: Lehetővé teszi a rendszergazdák számára a számítási erőforrásokhoz való hozzáférés szabályozását.
  • ELŐSZÖR API: A kiépítés és az engedélykezelés automatizálása a Databricks-REST API.
  • Naplózás: Robusztus auditnaplók a Data Lake-hez kézbesített munkaterületen végzett műveletekről és műveletekről. Azure Databricks azure-ral adatelérési információkat nyújthat az üzembehelyi fiókban és az Ön által konfigurált többi fiókban. Ezt az információt aztán felhasználhatja olyan riasztások bekapcsolása érdekében, amelyek figyelmeztetnek a lehetséges helytelen használatra.

A következő szakaszok bemutatják, hogyan használhatók ezek Azure Databricks funkciók egy cégirányítási megoldás megvalósításához.

Hozzáférés-vezérlés beállítása

A hozzáférés-vezérlés beállításával biztonságos hozzáférést biztosít a tárterülethez, és az egyes táblák finomhangolt vezérlését valósítja meg.

Táblázat hozzáférés-vezérlésének megvalósítása

Engedélyezheti a tábla hozzáférés-vezérlését a Azure Databricks engedélyezheti, letilthatja és visszavonhatja az adatokhoz való hozzáférést a Spark SQL API-ból. Szabályozhatja a biztonságos objektumokhoz, például adatbázisokhoz, táblákhoz, nézetekhez és függvényekhez való hozzáférést. Veteksünk egy olyan helyzetet, amelyben a vállalata pénzügyi adatokat tároló adatbázissal rendelkezik. Előfordulhat, hogy azt szeretné, hogy az elemzők pénzügyi jelentéseket hozzanak létre az adatok alapján. Előfordulhat azonban, hogy az adatbázis egy másik táblája bizalmas adatokat tartalmaz, amelyekhez az elemzőknek nem szabad hozzáférniük. Megszabadhatja a felhasználónak vagy csoportnak az egyik táblából való adatbeolvasáshoz szükséges jogosultságokat, de megtagadhat minden jogosultságot a második táblához való hozzáféréshez.

Az alábbi ábrán Alice egy rendszergazda, aki a Finance adatbázis shared_data és private_data táblájának a tulajdonában van. Alice ezután biztosítja Az elemző számára az olvasáshoz szükséges jogosultságokat, de megtagad minden jogosultságot a shared_data következőtől: private_data .

Grant select

Alice SELECT jogosultságot ad a Következőből való olvasásra: shared_data

Grant select table

Alice megtagadja a hozzáféréshez szükséges összes jogosultságot a Következő private_data számára:

Deny statement

Ezt egy lépéssel tovább is használhatja, ha részletes hozzáférés-vezérlést ad meg egy tábla egy részcsoportja számára, vagy jogosultságokat ad egy tábla származtatott nézeteihez.

Deny table

Biztonságos hozzáférés az Azure Data Lake Storage

Az Azure Data Lake Storage Azure Databricks több módon is hozzáférhet Azure Databricks fürtökről. Az itt tárgyalt módszerek elsősorban annak felelnek meg, hogy az elért adatok hogyan lesznek használva a megfelelő munkafolyamatban. Ez azt jelenti, hogy interaktívabb, alkalmibb módon fogja elérni az adatokat, például egy ML modell kifejlesztésével vagy egy operatív irányítópult kialakításával? Ebben az esetben azt javasoljuk, hogy használja Azure Active Directory (Azure AD) hitelesítő adatokat. Olyan automatizált, ütemezett számítási feladatokat fog futtatni, amelyekhez a Data Lake-ben található tárolókhoz való egyszeres hozzáférés szükséges? Ezután ajánlott szolgáltatásnévvel elérni az Azure Data Lake Storage szolgáltatást.

Hitelesítő adatok átengedése

A hitelesítő adatok áthaladása felhasználói hatókörű adatelérési vezérlőket biztosít bármely kiépített fájltárhoz a felhasználó szerepköralapú hozzáférés-vezérlése alapján. Fürt konfigurálásakor válassza ki és bontsa ki a Speciális beállítások gombra a hitelesítő adatok megadásának engedélyezéséhez. A fürtön található adatokhoz hozzáférni próbáló felhasználókra a megfelelő fájlrendszer-erőforrásokra vonatkozó hozzáférés-vezérlési szabályok lesznek Active Directory szerint.

Cluster permission

Ez a megoldás sok interaktív használatra alkalmas, és leegyszerűsített megközelítést kínál, amelyhez az engedélyeket egyetlen helyen kell kezelni. Így több felhasználó számára is lefoglalhat egy fürtöt anélkül, hogy külön hozzáférés-vezérlést kellene kiépítene az egyes felhasználók számára. A fürtök folyamatelszigetelése Azure Databricks biztosítja, hogy a felhasználói hitelesítő adatok ne szivárognak ki vagy ne ossának meg más módon. Ennek a megközelítésnek az az előnye is, hogy felhasználói szintű bejegyzéseket naplóz az Azure Storage auditnaplóiban, ami segít a platform rendszergazdáinak abban, hogy a tárolási rétegbeli műveleteket adott felhasználókhoz társítsa.

A módszer néhány korlátozása:

  • Csak az Azure Data Lake Storage fájlrendszereket támogatja.
  • A Databricks REST API hozzáférést biztosít.
  • Tábla hozzáférés-vezérlése: Azure Databricks nem javasolja hitelesítő adatok megadását táblázatos hozzáférés-vezérléssel. További részletek a két funkció kombinálásával kapcsolatos korlátozásokról: Korlátozások. A táblázat hozzáférés-vezérlésének használatával kapcsolatos további információkért lásd: Táblázat hozzáférés-vezérlésének megvalósítása.
  • Hosszú ideig futó feladatokhoz vagy lekérdezésekhez nem alkalmas, mert a felhasználó hozzáférési jogkivonatán korlátozott az idő. Az ilyen típusú számítási feladatok esetében az adatok eléréséhez szolgáltatásnév használatát javasoljuk.

Az Azure Data Lake Storage csatlakoztatása hitelesítő adatok felhasználásával

Csatlakoztathat egy Azure Data Lake Storage-fiókot vagy -mappát a Databricks fájlrendszerhez (DBFS), így könnyen és biztonságosan férhet hozzá a data lake-beli adatokhoz. A csatlakoztatás egy data lake-tárolóra mutató mutató, így az adatok soha nem szinkronizálódnak helyileg. Ha az adatokat az Azure Data Lake Storage hitelesítő adatok áthaladása által engedélyezett fürttel csatlakoztatja, a csatlakoztatási pontra történő olvasás vagy írás az Azure AD hitelesítő adatait használja. Ez a csatlakoztatási pont más felhasználók számára is látható lesz, de csak azok a felhasználók lesznek olvasási és írási hozzáféréssel, akik:

  • Hozzáférés a mögöttes Azure Data Lake Storage tárfiókhoz
  • Az Azure Data Lake-hez engedélyezett fürtöt használ Storage hitelesítő adatok áthaladása

Az Azure Data Lake Storage hitelesítő adatok felhasználásával történő csatlakoztatáshoz kövesse az Azure Data Lake Storage csatlakoztatása DBFS-hez hitelesítő adatok áthaladása használatával útmutatót.

Szolgáltatásnevek

Hogyan adhat hozzáférést a felhasználóknak vagy szolgáltatásfiókok számára a hosszabb ideig futó vagy gyakori számítási feladatokhoz? Mi a teendő, ha olyan üzletiintelligencia-eszközt szeretne használni, mint például a Power BI vagy a Tableau, amely ODBC/JDBC-n keresztül fér hozzá a Azure Databricks táblázatához? Ezekben az esetekben szolgáltatásnéveket és OAuth-hitelesítést kell használnia. A szolgáltatásnév olyan identitásfiók, amely nagyon meghatározott Azure-erőforrásokra terjed ki. Amikor jegyzetfüzetben hoz létre feladatot, a következő sorokat használhatja a feladatfürt Spark-konfigurációjában, vagy futtathatja közvetlenül a jegyzetfüzetben. Ez lehetővé teszi a feladat hatókörében található megfelelő fájltárolókhoz való hozzáférést.

spark.conf.set("fs.azure.account.auth.type.<storage-account-name>.dfs.core.windows.net", "OAuth")
spark.conf.set("fs.azure.account.oauth.provider.type.<storage-account-name>.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
spark.conf.set("fs.azure.account.oauth2.client.id.<storage-account-name>.dfs.core.windows.net", "<application-id>")
spark.conf.set("fs.azure.account.oauth2.client.secret.<storage-account-name>.dfs.core.windows.net", dbutils.secrets.get(scope = "<scope-name>", key = "<key-name-for-service-credential>"))
spark.conf.set("fs.azure.account.oauth2.client.endpoint.<storage-account-name>.dfs.core.windows.net", "https://login.microsoftonline.com/<directory-id>/oauth2/token")

Hasonlóképpen, a fájltároló(k) szolgáltatásnévvel és OAuth-jogkivonattal való csatlakoztatásával közvetlenül az Azure Data Lake Storage Gen1-ről vagy Gen2 URI-ból is hozzáférhet. Miután beállította a fenti konfigurációt, közvetlenül az Azure Data Lake-ben férhet hozzá a Storage URI használatával:

"abfss://<file-system-name>@<storage-account-name>.dfs.core.windows.net/<directory-name>"

Az így regisztrált fájlrendszerrel a fürt összes felhasználója hozzáférhet a fájlrendszerben található adatokhoz.

Fürtkonfigurációk kezelése

A fürtözési szabályzatokkal Azure Databricks rendszergazdák meghatározhatják a fürtön engedélyezett fürtattribútumokat, például a példánytípusokat, a csomópontok számát, az egyéni címkéket stb. Amikor egy rendszergazda létrehoz egy szabályzatot, és hozzárendeli azt egy felhasználóhoz vagy csoporthoz, ezek a felhasználók csak azon szabályzat alapján hozhatnak létre fürtöt, amelyhez hozzáféréssel rendelkezik. Így a rendszergazdák sokkal nagyobb mértékben szabályozhatják, hogy milyen fürttípusokat lehet létrehozni.

A szabályzatokat egy JSON-szabályzatdefinícióban határozhatja meg, majd fürt szabályzatokat hozhat létre a fürt szabályzatok felhasználói felületén vagy a Fürt házirendek API-jának használatával. A felhasználók csak akkor hozhatnak létre fürtöt, ha legalább egy fürtre vonatkozó szabályzathoz engedéllyel create_cluster vagy hozzáféréssel rendelkezik. Az új elemzésiprojekt-csapat követelményeinek a fent leírtaknak megfelelően a rendszergazdák létrehozhatnak egy fürtszabályt, és hozzárendelheti őket a projektcsapat egy vagy több felhasználója számára, akik mostantól a fürtszabályban megadott szabályokra korlátozva hozhatnak létre fürtöt a csapat számára. Az alábbi képen egy olyan felhasználó látható, aki hozzáféréssel rendelkezik a fürt létrehozásához Project Team Cluster Policy a szabályzatdefiníció alapján.

Cluster policy

Fürtök automatikus kiépítése és engedélyek megadása

A fürtök és engedélyek végpontjainak hozzáadása után a Databricks REST API 2.0 megkönnyíti a fürterőforrások felhasználók és csoportok számára való, bármilyen méretű kiépítése és biztosítása számára. A Fürtök API 2.0 használatával fürtök hozhatók létre és konfigurálhatóak az adott esetben.

Ezután a [/dev-tools/api/latest/permissions.md] használatával hozzáférés-vezérlést alkalmazhat a fürtre.

Az alábbi példa egy olyan konfigurációt mutat be, amely megfelelhet egy új elemzési projektcsapatnak.

Követelmények:

  • A csapat interaktív számítási feladatainak támogatása, akik többnyire SQL Python-felhasználók.
  • Kiépít egy adatforrást az objektumtárolóban olyan hitelesítő adatokkal, amelyek hozzáférést adnak a csapatnak a szerepkörhöz kötött adatokhoz.
  • Győződjön meg arról, hogy a felhasználók egyenlő arányban osztják el a fürt erőforrásait.
  • Nagyobb, memóriaoptimalált példánytípusok kiépítése.
  • Adjon engedélyeket a fürtnek úgy, hogy csak az új projektcsapat fér hozzá.
  • Címkézheti fel ezt a fürtöt, hogy megfelelő költség-visszaterhelést tud-e fizetni a felmerülő számítási költségekre.

Üzembehelyezési szkript

Ezt a konfigurációt a Fürtök és engedélyek API-k API-végpontjaival helyezheti üzembe.

Fürt kiépítése

Végpont – https:///<databricks-instance>/api/2.0/clusters/create


{
  "autoscale": {
      "min_workers": 2,
      "max_workers": 20
  },
  "cluster_name": "project team interactive cluster",
  "spark_version": "latest-stable-scala2.11",
  "spark_conf": {
      "spark.Azure Databricks.cluster.profile": "serverless",
      "spark.Azure Databricks.repl.allowedLanguages": "python,sql",
      "spark.Azure Databricks.passthrough.enabled": "true",
      "spark.Azure Databricks.pyspark.enableProcessIsolation": "true"
  },
  "node_type_id": "Standard_D14_v2",
  "ssh_public_keys": [],
  "custom_tags": {
      "ResourceClass": "Serverless",
      "team": "new-project-team"
  },
  "spark_env_vars": {
      "PYSPARK_PYTHON": "/databricks/python3/bin/python3"
  },
  "autotermination_minutes": 60,
  "enable_elastic_disk": true,
  "init_scripts": []
}

Fürtengedély megadása

Végpont – https://<databricks-instance>/api/2.0/permissions/clusters/<cluster_id>

{
  "access_control_list": [
    {
      "group_name": "project team",
      "permission_level": "CAN_MANAGE"
    }
  ]
}

Azonnal rendelkezik egy olyan fürttel, amely biztonságos hozzáféréssel rendelkezik a kritikus fontosságú adatokhoz a lake-ben, a megfelelő csapaton belül mindenki számára zárolva van, fel van címkézve a költség-visszacsatolási címkével, és a projekt követelményeinek megfelelően van konfigurálva. A megoldás megvalósításához azonban további konfigurációs lépések is szükségesek a gazdagép felhőszolgáltatói fiókján belül, amelyek a skálázható követelmények szerint automatizálhatóak.

Hozzáférés naplózása

A hozzáférés-vezérlés konfigurálása Azure Databricks adatelérés szabályozása a tárolóban az első lépés a hatékony adatirányítási megoldás felé. Egy teljes megoldáshoz azonban szükség van az adatokhoz való hozzáférés naplózására, valamint a riasztási és figyelési képességek biztosítására. A Databricks átfogó naplózási eseményeket biztosít a Azure Databricks-felhasználók által biztosított tevékenységek naplózására, lehetővé téve a vállalatok számára a platform részletes használati mintáinak megfigyelését. Ahhoz, hogy teljes körűen át tudja érteni, hogy a felhasználók mit végeznek a platformon, és milyen adatokhoz férnek hozzá, használja a natív Azure Databricks és a felhőszolgáltató naplózási képességeit is.

A hozzáférés-vezérlés konfigurálása Azure Databricks és a tárfiókban az adatelérés szabályozása nagyszerű első lépés a hatékony adatirányítási megoldás felé. Ez azonban nem teljes, amíg nem naplózhatja az adatokhoz való hozzáférést, és nem biztosít riasztási és figyelési képességeket. Azure Databricks naplózási események átfogó készletét biztosítja a felhasználók által végzett tevékenységek naplózására, lehetővé téve a vállalatok számára a részletes használati minták figyelét a platformon.

Győződjön meg arról, hogy a diagnosztikai naplózás engedélyezve van a Azure Databricks. Miután engedélyezte a naplózást a fiókjához, a Azure Databricks automatikusan elküldi a diagnosztikai naplókat a megadott kézbesítési helyre. Lehetősége van a beállításra is, amely továbbítja a diagnosztikai Send to Log Analytics adatokat a Azure Monitor. Az alábbi példalekérdezés beírható a Napló keresőmezőbe, és lekérdezheti az összes felhasználót, aki bejelentkezett a Azure Databricks munkaterületre és azok helyére:

Azure monitor

Néhány lépésben használhatjaaz Azure monitorozási szolgáltatásait, vagy valós idejű riasztásokat hozhat létre. Az Azure-tevékenységnapló betekintést nyújt a tárfiókok és a tárolók által végzett műveletekbe. Itt is konfigurálhat riasztási szabályokat.

Azure activity log

Tudjon meg többet

Az íme néhány forrás, amely segít a szervezet igényeinek megfelelő átfogó adatirányítási megoldás felépítésében: