Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Key Vaulthoz használt Microsoft Entra ID robusztus és biztonságos módszert kínál az alkalmazások azure-szolgáltatásokban és külső platformokon való hitelesítéséhez, amelyekhez hozzáférési kulcsok vagy hitelesítő adatok szükségesek. Ez a kombináció szükségtelenné teszi a titkos kódok kódolását az alkalmazáskódban, ehelyett felügyelt identitásokra, szerepköralapú hozzáférés-vezérlésre (RBAC) és a Key Vaulton keresztüli központi titkos kulcskezelésre támaszkodik. Ez a megközelítés leegyszerűsíti az identitáskezelést, és javítja a felhőkörnyezetek biztonsági állapotát.
Ez az útmutató a GitHub-adattárban található gyakorlati példán keresztül vizsgálja meg ezeket a hitelesítési mechanizmusokat: github.com/Azure-Samples/python-integrated-authentication.
A minta bemutatja, hogy egy Python-alkalmazás hogyan képes:
Hitelesítés az Azure-ral a DefaultAzureCredential használatával
Az Azure Key Vault titkos kulcsainak elérése hitelesítő adatok tárolása nélkül
Biztonságos kommunikáció más Azure-szolgáltatásokkal, például az Azure Storage-ral, a Cosmos DB-vel és egyebekkel
Ez a cikk egy sorozat része, amely részletesen bemutatja, hogyan hitelesíthet Python-alkalmazásokat a Microsoft Entra ID, az Azure Key Vault és az Azure Queue Storage használatával az Azure Python SDK-kódtár azure-identity használatával.
1. rész: Háttér
Bár számos Azure szolgáltatás kizárólag szerepköralapú hozzáférés-vezérlésre (RBAC) támaszkodik, mások titkos kulcsokon vagy kulcsokon keresztüli hozzáférést igényelnek. Ilyen szolgáltatások például a Azure Storage, az adatbázisok, az Öntödei eszközök, a Key Vault és az Event Hubs.
Az ezekkel a szolgáltatásokkal kommunikáló felhőalkalmazások létrehozásakor a fejlesztők az Azure Portal, a parancssori felület vagy a PowerShell használatával hozhatnak létre és konfigurálhatnak szolgáltatásspecifikus hozzáférési kulcsokat. Ezek a kulcsok bizonyos hozzáférési szabályzatokhoz vannak kötve a jogosulatlan hozzáférés megakadályozása érdekében. Ehhez a modellhez azonban az alkalmazásnak explicit módon kell kezelnie a kulcsokat, és külön hitelesítenie kell az egyes szolgáltatásokkal, ami egy fárasztó és hibalehetőséget is rejtő folyamat.
A titkos kódok közvetlenül kódba való beágyazása vagy fejlesztői gépeken való tárolása a következő kockázatokkal jár:
- Forrásvezérlő
- Nem biztonságos helyi környezetek
- Véletlenszerű naplófájlok vagy konfigurációexportok
Azure két kulcsfontosságú szolgáltatást kínál a biztonság javítása és a hitelesítés egyszerűsítése érdekében:
Azure Key Vault Az Azure Key Vault biztonságos, felhőalapú tárat biztosít a titkos kódokhoz, beleértve a hozzáférési kulcsokat, a kapcsolati sztringeket és a tanúsítványokat. Ha csak futtatókörnyezetben kér le titkos kulcsokat a Key Vaultból, az alkalmazások elkerülik a bizalmas adatok forráskódban vagy konfigurációs fájlokban való felfedését.
A Microsoft Entra által felügyelt identitásokkal az alkalmazás egyszer hitelesíthet a Microsoft Entra-azonosítóval. Innen hozzáférhet más Azure-szolgáltatásokhoz – beleértve a Key Vaultot is – anélkül, hogy közvetlenül kezelned kell a hitelesítő adatokat.
Ez a megközelítés a következő lehetőségeket nyújtja:
- Hitelesítő adatok nélküli kód (nincs titkos kód a forráskövetésben)
- Zökkenőmentes integráció az Azure-szolgáltatásokkal
- Környezeti konzisztencia: ugyanaz a kód helyileg és a felhőben fut, minimális konfigurációval
Ez az útmutató bemutatja, hogyan használhatja együtt a Microsoft Entra által felügyelt identitást és a Key Vaultot ugyanabban az alkalmazásban. A Microsoft Entra ID és a Key Vault együttes használatával az alkalmazásnak soha nem kell önálló Azure-szolgáltatásokkal hitelesítenie magát, és könnyen és biztonságosan hozzáférhet a külső szolgáltatásokhoz szükséges kulcsokhoz.
Fontos
Ez a cikk a "kulcs" általános kifejezéssel hivatkozik az Azure Key Vaultban "titkos kulcsként" tárolt adatokra, például egy REST API hozzáférési kulcsára. Ezt a használatot nem szabad összekeverni a Key Vault titkosítási kulcsok kezelésével, amely a Key Vault titkos kulcsainak egy külön funkciója.
Példa felhőalkalmazás-forgatókönyvre
Az Azure hitelesítési folyamatának mélyebb megértéséhez fontolja meg a következő forgatókönyvet: A Flask-webalkalmazás üzembe helyezése az Azure App Service-ben történik. Nyilvános, hitelesítés nélküli API-végpontot tesz elérhetővé, amely JSON-adatokat ad vissza HTTP-kérelmekre válaszul.
A válasz létrehozásához az API meghív egy külső API-t, amely hozzáférési kulcsot igényel. A kulcs kód- vagy konfigurációs fájlokban való tárolása helyett az alkalmazás biztonságosan lekéri azt futtatókörnyezetben az Azure Key Vaultból a Microsoft Entra által felügyelt identitás használatával.
Mielőtt visszaküldené válaszát az ügyfélnek, az alkalmazás egy üzenetet ír egy Azure Storage-üzenetsorba aszinkron feldolgozás céljából. Az üzenet jelenthet egy feladatot, naplót vagy jelet, bár az alsóbb rétegbeli feldolgozás nem a jelen forgatókönyv középpontjában van.
Megjegyzés:
Bár a nyilvános API-végpontokat általában saját hozzáférési kulcsok vagy hitelesítési mechanizmusok védik, ez az útmutató feltételezi, hogy a végpont nyitott és hitelesítés nélküli.
Ez az egyszerűsítés segít elkülöníteni az alkalmazás belső hitelesítési követelményeit – például a Azure Key Vault és a Azure Storage elérését – a külső ügyfelekkel kapcsolatos hitelesítési problémáktól.
A forgatókönyv kizárólag az alkalmazás viselkedésére összpontosít, és nem mutatja be vagy nem von be külső hívót a végponttal való hitelesítéshez.