Megosztás:


Azure-ban üzemeltetett Python-alkalmazások hitelesítése Azure-erőforrásokhoz rendszer által hozzárendelt felügyelt identitással

Az Azure által üzemeltetett alkalmazások más Azure-erőforrásokhoz való hitelesítésének ajánlott módszere egy felügyelt identitáshasználata. Ez a megközelítés támogatott a legtöbb Azure-szolgáltatás, beleértve az Azure App Service-en, az Azure Container Apps-en és az Azure-beli virtuális gépeken üzemeltetett alkalmazásokat is. A hitelesítés áttekintési oldalán talál további információkat a különböző hitelesítési technikákról és módszerekről. Az alábbi szakaszokban a következő ismereteket fogja elsajátítani:

  • Alapvető felügyelt identitásfogalmak
  • Rendszer által hozzárendelt felügyelt identitás létrehozása az alkalmazáshoz
  • Szerepkörök hozzárendelése a rendszer által hozzárendelt felügyelt identitáshoz
  • Hitelesítés a rendszer által hozzárendelt felügyelt identitással az alkalmazáskódból

Alapvető felügyelt identitásfogalmak

A felügyelt identitással az alkalmazás biztonságosan csatlakozhat más Azure-erőforrásokhoz titkos kulcsok vagy más alkalmazáskulcsok használata nélkül. Az Azure belsőleg nyomon követi az identitást, és hogy mely erőforrásokhoz csatlakozhat. Az Azure ezeket az információkat arra használja, hogy automatikusan lekérjük a Microsoft Entra-jogkivonatokat az alkalmazáshoz, hogy más Azure-erőforrásokhoz csatlakozzon.

A felügyelt identitások kétféleképpen konfigurálhatók a üzemeltetett alkalmazás konfigurálásakor:

  • rendszer által hozzárendelt felügyelt identitások közvetlenül egy Azure-erőforráson vannak engedélyezve, és az életciklusukhoz vannak kötve. Amikor az erőforrást törlik, az Azure automatikusan törli az identitást is. A rendszer által hozzárendelt identitások minimalista megközelítést biztosítanak a felügyelt identitások használatához.
  • felhasználó által hozzárendelt felügyelt identitások különálló Azure-erőforrásokként jönnek létre, és nagyobb rugalmasságot és képességeket biztosítanak. Olyan megoldásokhoz ideálisak, amelyek több Olyan Azure-erőforrást tartalmaznak, amelyeknek azonos identitással és engedélyekkel kell rendelkezniük. Ha például több virtuális gépnek kell elérnie ugyanazt az Azure-erőforráskészletet, a felhasználó által hozzárendelt felügyelt identitás újrahasználhatóságot és optimalizált felügyeletet biztosít.

Jótanács

További információ a rendszer által hozzárendelt és a felhasználó által hozzárendelt felügyelt identitások kiválasztásáról és kezeléséről a felügyelt identitásokkal kapcsolatos ajánlott eljárásokra vonatkozó javaslatokkal foglalkozó cikkben.

Az alábbi szakaszok ismertetik a rendszer által hozzárendelt felügyelt identitás azure-beli alkalmazásokhoz való engedélyezésének és használatának lépéseit. Ha felhasználó által hozzárendelt felügyelt identitást kell használnia, további információért tekintse meg a felhasználó által hozzárendelt felügyelt identitásokat cikket.

Rendszer által hozzárendelt felügyelt identitás engedélyezése az Azure-beli üzemeltetési erőforráson

Ha rendszer által hozzárendelt felügyelt identitást szeretne használni az alkalmazással, engedélyezze az identitást az alkalmazást üzemeltető Azure-erőforráson, például az Azure App Service-en, az Azure Container App-on vagy az Azure Virtual Machine-on.

Az Azure-erőforrásokhoz rendszer által hozzárendelt felügyelt identitást az Azure Portal vagy az Azure CLI használatával engedélyezheti.

  1. Az Azure Portalon keresse meg az alkalmazáskódot tároló erőforrást, például egy Azure App Service-t vagy egy Azure Container App-példányt.

  2. Az erőforrás Áttekintés lapján bontsa ki a Beállítások elemet, és válassza ki az Identitás elemet a navigációs sávon.

  3. Az Identitás lapon állítsa a Állapot csúszkát Be állásba.

  4. Válassza a Mentés lehetőséget a módosítások alkalmazásához.

    Képernyőkép a rendszer által hozzárendelt felügyelt identitások tárolóalkalmazásokon való engedélyezéséről.

Szerepkörök hozzárendelése a felügyelt identitáshoz

Ezután határozza meg, hogy az alkalmazásnak mely szerepkörökre van szüksége, és rendelje hozzá ezeket a szerepköröket a felügyelt identitáshoz. A szerepköröket a következő hatókörökben rendelheti hozzá egy felügyelt identitáshoz:

  • erőforrás-: A hozzárendelt szerepkörök csak az adott erőforrásra vonatkoznak.
  • erőforráscsoport: A hozzárendelt szerepkörök az erőforráscsoportban található összes erőforrásra vonatkoznak.
  • Előfizetési: A hozzárendelt szerepkörök az előfizetésben található összes erőforrásra vonatkoznak.

Az alábbi példa bemutatja, hogyan rendelhet hozzá szerepköröket az erőforráscsoport hatóköréhez, mivel számos alkalmazás egyetlen erőforráscsoport használatával kezeli az összes kapcsolódó Azure-erőforrást.

  1. Lépjen a Áttekintés lapjára annak az erőforráscsoportnak, amely a rendszer által hozzárendelt felügyelt identitással rendelkező alkalmazást tartalmazza.

  2. Válassza Hozzáférés-vezérlés (IAM) a bal oldali navigációs sávon.

  3. A Hozzáférés-vezérlés (IAM) lapon válassza a + hozzáadása lehetőséget a felső menüben, majd válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget a Szerepkör-hozzárendelés hozzáadása lapra való navigáláshoz.

    Képernyőkép az identitásszerepkör-hozzárendelési lap eléréséről.

  4. A Szerepkör-hozzárendelés hozzáadása oldal egy füles, többlépéses munkafolyamatot jelenít meg a szerepkörök identitásokhoz való hozzárendeléséhez. A kezdeti Szerepkör lapon a felső keresőmezővel keresse meg az identitáshoz hozzárendelni kívánt szerepkört.

  5. Válassza ki a szerepkört az eredmények közül, majd a Következő lehetőséget választva lépjen a Tagok lapra.

  6. A Hozzáférés hozzárendeléséhez a beállításnál válassza ki a Felügyelt identitáslehetőséget.

  7. A Tagok beállításnál válassza a + Tagok kijelölése lehetőséget a Felügyelt identitások kiválasztása panel megnyitásához.

  8. A Felügyelt identitások kiválasztása panelen az Előfizetés és Felügyelt identitás legördülő menükből szűrheti az identitások keresési eredményeit. A Select keresőmezővel keresse meg az alkalmazást üzemeltető Azure-erőforráshoz engedélyezett rendszeridentitást.

    Képernyőkép a felügyelt identitás-hozzárendelési folyamatról.

  9. Válassza ki az azonosságot, és válassza a Kijelölés lehetőséget a panel alján a folytatáshoz.

  10. Válassza a Véleményezés és a Hozzárendelés lehetőséget az oldal alján.

  11. Az utolsó Véleményezés és hozzárendelés lapon válassza az Véleményezés és hozzárendelés lehetőséget a munkafolyamat befejezéséhez.

Hitelesítés az Azure-szolgáltatásokban az alkalmazásból

Az Azure Identity-kódtár különböző hitelesítő adatokat biztosít– a TokenCredential különböző forgatókönyvekhez és a Microsoft Entra hitelesítési folyamatokhoz igazított implementációkat. Mivel a felügyelt identitás helyi futtatáskor nem érhető el, az alábbi lépések bemutatják, hogy melyik hitelesítő adatot melyik forgatókönyvben érdemes használni:

  • Helyi fejlesztési környezet: helyi fejlesztés során csakhasználjon egy DefaultAzureCredential nevű osztályt a hitelesítő adatok véleményezett, előre konfigurált láncolatához. DefaultAzureCredential A felhasználói hitelesítő adatokat a helyi eszközkészletből vagy IDE-ből, például az Azure CLI-ből vagy a Visual Studio Code-ból észleli. Emellett rugalmasságot és kényelmet biztosít az újrapróbálkozáshoz, a válaszok várakozási idejéhez és a több hitelesítési lehetőség támogatásához is. További információért olvassa el a Azure-szolgáltatások hitelesítése a helyi fejlesztés során című cikket.
  • Azure-ban üzemeltetett alkalmazások: Ha az alkalmazás az Azure-ban fut, a ManagedIdentityCredential használatával biztonságosan felderítheti az alkalmazáshoz konfigurált felügyelt identitást. Ennek a hitelesítő adattípusnak a megadása megakadályozza, hogy más elérhető hitelesítő adatok váratlanul átvehetők legyenek.

A kód implementálása

Adja hozzá az azure-identity csomagot az alkalmazáshoz az alkalmazásprojekt könyvtárába lépve, és futtassa a következő parancsot:

pip install azure-identity

Az Azure-szolgáltatások speciális ügyfélosztályokkal érhetők el a különböző Azure SDK-ügyfélkódtárakból. Az alábbi példakód bemutatja, hogyan hozhat létre hitelesítőadat-példányt, és hogyan használhatja azt egy Azure SDK-szolgáltatásügyféllel. Az alkalmazáskódban hajtsa végre a következő lépéseket a felügyelt identitás használatával történő hitelesítéshez:

  1. Importálja az osztályt ManagedIdentityCredential a azure.identity modulból.
  2. Hozzon létre egy ManagedIdentityCredential objektumot.
  3. Adja át az ManagedIdentityCredential objektumot az Azure SDK-ügyfélkonstruktornak.

Az alábbi példa egy rendszer által hozzárendelt felügyelt identitás használatával történő hitelesítést BlobServiceClient mutatja be:

from azure.identity import ManagedIdentityCredential
from azure.storage.blob import BlobServiceClient

# Authenticate using system-assigned managed identity
credential = ManagedIdentityCredential()

blob_service_client = BlobServiceClient(
    account_url="https://<account-name>.blob.core.windows.net",
    credential=credential
)

Ha helyben dolgozik, használhatja a DefaultAzureCredential-t, amely felismeri a hitelesítő adatokat a helyi fejlesztői eszközökből. Azure-ra való üzembe helyezéskor váltson éles ManagedIdentityCredential forgatókönyv használatára.

import os
from azure.identity import DefaultAzureCredential, ManagedIdentityCredential
from azure.storage.blob import BlobServiceClient

# Use ManagedIdentityCredential in Azure, DefaultAzureCredential locally
if os.getenv("WEBSITE_HOSTNAME"):
    credential = ManagedIdentityCredential()
else:
    credential = DefaultAzureCredential()

blob_service_client = BlobServiceClient(
    account_url="https://<account-name>.blob.core.windows.net",
    credential=credential
)