Az Azure-szolgáltatásokhoz és -adatbázisokhoz való biztonságos kapcsolódás a Azure-alkalmazás Szolgáltatásból
Előfordulhat, hogy az appszolgáltatásnak más Azure-szolgáltatásokhoz, például adatbázishoz, tárhoz vagy más alkalmazáshoz kell csatlakoznia. Ez az áttekintés különböző kapcsolódási módszereket javasol, és hogy mikor érdemes használni őket.
Ma a kapcsolati megközelítéssel kapcsolatos döntés szorosan kapcsolódik a titkos kódok kezeléséhez. A kapcsolati titkos kódok kapcsolati sztring való használatának gyakori mintája, például a felhasználónév és a jelszó, a titkos kulcs stb. már nem tekinthető a kapcsolat legbiztonságosabb megközelítésének. A kockázat ma még nagyobb, mert a fenyegetést jelölő szereplők rendszeresen bejárják a nyilvános GitHub-adattárakat a véletlenül véglegesített kapcsolati titkos kódokhoz. A felhőalkalmazások esetében a legjobb titkos kódok kezelése az, ha egyáltalán nincsenek titkos kulcsok. A Azure-alkalmazás Szolgáltatásba való migráláskor előfordulhat, hogy az alkalmazás titkos kódokon alapuló kapcsolattal kezdődik, és az App Service lehetővé teszi a titkos kódok biztonságos megőrzését. Az Azure azonban segíthet az alkalmazás háttérkapcsolatának védelmében a Microsoft Entra-hitelesítéssel, amely teljesen kiküszöböli az alkalmazásban lévő titkos kulcsokat.
Kapcsolati módszer | Mikor érdemes használni? |
---|---|
Csatlakozás alkalmazás-identitással | * Teljesen el szeretné távolítani a hitelesítő adatokat, kulcsokat vagy titkos kulcsokat az alkalmazásból. * Az alsóbb rétegbeli Azure-szolgáltatás támogatja a Microsoft Entra-hitelesítést, például a Microsoft Graphot. * Az alsóbb rétegbeli erőforrásnak nem kell ismernie az aktuális bejelentkezett felhasználót, vagy nincs szüksége az aktuális bejelentkezett felhasználó részletes engedélyezésére. |
Csatlakozás a bejelentkezett felhasználó nevében | * Az alkalmazásnak hozzá kell férnie egy alsóbb rétegbeli erőforráshoz a bejelentkezett felhasználó nevében. * Az alsóbb rétegbeli Azure-szolgáltatás támogatja a Microsoft Entra-hitelesítést, például a Microsoft Graphot. * Az alsóbb rétegbeli erőforrásnak részletesen meg kell adnia az aktuális bejelentkezett felhasználót. |
Csatlakozás titkos kódokkal | * Az alsóbb rétegbeli erőforráshoz kapcsolati titkos kulcsok szükségesek. * Az alkalmazás nem Azure-szolgáltatásokhoz, például helyszíni adatbázis-kiszolgálóhoz csatlakozik. * Az alsóbb rétegbeli Azure-szolgáltatás még nem támogatja a Microsoft Entra-hitelesítést. |
Csatlakozás alkalmazás-identitással
Ha az alkalmazás már egyetlen hitelesítőadat-készletet használ egy alsóbb rétegbeli Azure-szolgáltatás eléréséhez, gyorsan átalakíthatja a kapcsolatot alkalmazásadentitás használatára. A Microsoft Entra-azonosítóból származó felügyelt identitás lehetővé teszi, hogy az App Service titkos kulcsok nélkül férhessen hozzá az erőforrásokhoz, és a hozzáférését szerepköralapú hozzáférés-vezérléssel (RBAC) kezelheti. A felügyelt identitások bármilyen Olyan Azure-erőforráshoz csatlakozhatnak, amely támogatja a Microsoft Entra-hitelesítést, és a hitelesítés rövid élettartamú jogkivonatokkal történik.
Az alábbi képen az alábbi App Service látható, amely más Azure-szolgáltatásokhoz csatlakozik:
- Válasz: A felhasználó felkeresi az Azure App Service webhelyét.
- B: Biztonságos csatlakozás az App Service-ből egy másik Azure-szolgáltatáshoz felügyelt identitás használatával.
- C: Biztonságos csatlakozás az App Service-ből a Microsoft Graphhoz felügyelt identitás használatával.
Példák alkalmazáskulcsok adatbázishoz való csatlakozására:
- Oktatóanyag: Azure-adatbázisokhoz való csatlakozás az App Service-ből titkos kulcsok nélkül felügyelt identitás használatával
- Oktatóanyag: Csatlakozás az SQL Database-hez a NET App Service-ből titkok nélkül felügyelt identitás segítségével
- Oktatóanyag: Csatlakozás PostgreSQL-adatbázishoz a Java Tomcat App Service-ből titkos kódok nélkül felügyelt identitás használatával
Csatlakozás a bejelentkezett felhasználó nevében
Előfordulhat, hogy az alkalmazásnak csatlakoznia kell egy alsóbb rétegbeli szolgáltatáshoz a bejelentkezett felhasználó nevében. Az App Service lehetővé teszi a felhasználók egyszerű hitelesítését a leggyakoribb identitásszolgáltatók használatával (lásd: Hitelesítés és engedélyezés a Azure-alkalmazás Szolgáltatásban és az Azure Functionsben). Ha a Microsoft-szolgáltatót (Microsoft Entra-hitelesítést) használja, akkor a bejelentkezett felhasználót bármely alárendelt szolgáltatásba átadhatja. Példa:
- Futtasson egy adatbázis-lekérdezést, amely bizalmas adatokat ad vissza, amelyeket a bejelentkezett felhasználó jogosult olvasni.
- Személyes adatok lekérése vagy műveletek végrehajtása bejelentkezett felhasználóként a Microsoft Graphban.
Az alábbi képen egy alkalmazás látható, amely biztonságosan hozzáfér egy SQL-adatbázishoz a bejelentkezett felhasználó nevében.
Néhány gyakori forgatókönyv a következő:
- Csatlakozás a Microsoft Graphhoz a felhasználó nevében
- Csatlakozás SQL-adatbázishoz a felhasználó nevében
- Csatlakozás egy másik App Service-alkalmazáshoz a felhasználó nevében
- A bejelentkezett felhasználó átvitele a downstream szolgáltatások több rétegén keresztül
Csatlakozás titkos kódokkal
Az alkalmazásban kétféleképpen használhat titkos kulcsokat: az Azure Key Vaultban tárolt titkos kulcsokat vagy az App Service alkalmazásbeállításaiban tárolt titkos kulcsokat.
Titkos kulcsok használata a Key Vaultból
Az Azure Key Vault használható titkos kulcsok és kulcsok biztonságos tárolására, a titkos kódok elérésének és használatának figyelésére, valamint az alkalmazás titkos kulcsainak felügyeletének egyszerűsítésére. Ha az alsóbb rétegbeli szolgáltatás nem támogatja a Microsoft Entra-hitelesítést, vagy kapcsolati sztring vagy kulcsot igényel, a Key Vault használatával tárolja a titkos kulcsokat, és csatlakoztassa az alkalmazást a Key Vaulthoz egy felügyelt identitással, és kérje le a titkos kulcsokat. Az alkalmazás az alkalmazás beállításaiban Key Vault-hivatkozásként férhet hozzá a kulcstartó titkos kulcsaihoz.
A Key Vaulttal integrált felügyelt identitások előnyei a következők:
- A kulcstartó titkos kulcsához való hozzáférés az alkalmazásra korlátozódik.
- Előfordulhat, hogy az alkalmazás közreműködői, például a rendszergazdák teljes mértékben felügyelik az App Service-erőforrásokat, ugyanakkor nem férnek hozzá a kulcstartó titkos kulcsaihoz.
- Nincs szükség kódmódosításra, ha az alkalmazáskód már hozzáfér a kapcsolati titkos kódokhoz az alkalmazás beállításaival.
- A Key Vault figyeli és naplózja, hogy ki fért hozzá a titkos kulcsokhoz.
- A kulcstartó titkos kulcsainak rotálása nem igényel módosítást az App Service-ben.
Az alábbi kép bemutatja, hogy az App Service egy felügyelt identitással csatlakozik a Key Vaulthoz, majd egy Azure-szolgáltatáshoz a Key Vaultban tárolt titkos kulcsokkal fér hozzá:
Titkos kódok használata az alkalmazásbeállításokban
Titkos kódokat (például felhasználóneveket, jelszavakat és API-kulcsokat) használó szolgáltatásokhoz csatlakozó alkalmazások esetén az App Service biztonságosan tárolhatja őket az alkalmazásbeállításokban. Ezeket a titkos kulcsokat az alkalmazás indításakor környezeti változókként injektáljuk az alkalmazás kódjába. Az alkalmazásbeállítások mindig titkosítva lesznek tároláskor (inaktív állapotban titkosítva). A speciálisabb titkos kódok kezeléséhez, például a titkos kódok rotálásához, a hozzáférési szabályzatokhoz és a naplózási előzményekhez próbálja meg használni a Key Vaultot.
Példák alkalmazáskulcsok adatbázishoz való csatlakozására:
- Oktatóanyag: ASP.NET Core- és Azure SQL Database-alkalmazás üzembe helyezése Azure-alkalmazás Szolgáltatásban
- Oktatóanyag: ASP.NET-alkalmazás üzembe helyezése az Azure-ban az Azure SQL Database használatával
- Oktatóanyag: PHP-, MySQL- és Redis-alkalmazás üzembe helyezése Azure-alkalmazás Szolgáltatásban
- Node.js + MongoDB-webalkalmazás üzembe helyezése az Azure-ban
- Python (Django vagy Flask) webalkalmazás üzembe helyezése a PostgreSQL-lel az Azure-ban
- Oktatóanyag: Tomcat-webalkalmazás létrehozása a Azure-alkalmazás Szolgáltatással Linuxon és MySQL-en
- Oktatóanyag: Java Spring Boot-webalkalmazás létrehozása a Linuxon és az Azure Cosmos DB-n futó Azure-alkalmazás Szolgáltatással
Következő lépések
Az alábbiak végrehajtásának módját ismerheti meg:
- Titkos kulcsok biztonságos tárolása az Azure Key Vaultban.
- Felügyelt identitással érheti el az erőforrásokat.
- Titkos kulcsok tárolása az App Service alkalmazásbeállításai alapján.
- Csatlakozzon felhasználóként a Microsoft Graphhoz .
- Csatlakozzon egy SQL-adatbázishoz felhasználóként.
- Csatlakozzon egy másik App Service-alkalmazáshoz felhasználóként.
- Csatlakozzon egy másik App Service-alkalmazáshoz, majd egy alsóbb rétegbeli szolgáltatáshoz felhasználóként.