Alkalmazások létrehozása felügyelt Microsoft Entra-identitások használatával

Befejeződött

Már létrehozott egy Azure-beli virtuális gépet, és hozzárendelt egy rendszer által felügyelt identitást. Azt szeretné, hogy a virtuális gépen futó alkalmazások hitelesítsék az Azure-erőforrásokra irányuló kéréseket. Jelszavak vagy megosztott kulcsok helyett a rendszer által hozzárendelt felügyelt identitást fogja használni.

Ebben az egységben többet tudhat meg arról, hogy az alkalmazások hogyan végezhetnek hitelesítést felügyelt identitásokkal. Megtudhatja, hogyan definiálhat engedélyezési szabályzatot az Azure Key Vault használatával, és hogyan engedélyezheti egy hitelesített identitás számára a titkos információk olvasását.

Managed identities

Egy korábbi leckében megtanulta, hogy Azure-támogatás a rendszer által hozzárendelt felügyelt identitásokat és a felhasználó által hozzárendelt felügyelt identitásokat. Az Azure létrehoz és kezel egy rendszer által hozzárendelt felügyelt identitást. Ez szorosan kötődik egy adott erőforráshoz. Ha például rendszer által hozzárendelt felügyelt identitással rendelkező virtuális gépet hoz létre, az Azure automatikusan létrehozza az identitást. Ezt ezután társítja a virtuális géphez. Ha a virtuális gépet törlik, az identitás is törlődik.

A felhasználó által hozzárendelt felügyelt identitások minden erőforrástól függetlenek. Manuálisan hoz létre egy felhasználó által hozzárendelt felügyelt identitást, majd hozzárendeli egy erőforráshoz vagy szolgáltatáshoz, például a készletkövető alkalmazáshoz. Az alkalmazás futtatásakor a felhasználó által hozzárendelt felügyelt identitást használja. Ehhez az identitáshoz kell hozzárendelnie a hozzáférési jogokat azon Azure-erőforrásokra vonatkozóan, amelyekhez az alkalmazásnak hozzá kell férnie. Ezzel a módszerrel több virtuális gépen is üzembe helyezheti az alkalmazást. Az alkalmazás ezt a felhasználó által hozzárendelt felügyelt identitást használja ahelyett, hogy rendszer által hozzárendelt felügyelt identitást állít be az egyes virtuális gépekhez.

Felhasználó által hozzárendelt felügyelt identitás létrehozása és kezelése

Létrehozhat egy felhasználó által hozzárendelt felügyelt identitást az Azure Portalon vagy egy parancssorból. Az alábbi parancs az Azure CLI-t használja:

az identity create \
  --name <identity name>
  --resource-group <resource group>

Futtassa a következő parancsot az identitások listájának megtekintéséhez, beleértve a rendszer által hozzárendelt felügyelt identitásokat is. Jegyezze fel az identitás résztvevő-azonosítóját. Az Azure ezzel az azonosítóval rendeli hozzá és ellenőrzi a jogosultságokat.

az identity list \
  --resource-group <resource group>

Az identitás létrehozása után a résztvevő-azonosítóval társíthatja az identitást az erőforrásokkal.

Az identitás Azure-függvényalkalmazással való használatához futtassa a következő parancsot:

az functionapp identity assign \
  --name <function app name> \
  --resource-group <resource group> \
  --role <principal id>

A függvényalkalmazás ezzel az identitással fut. Hozzáfér az identitás számára elérhető erőforrásokhoz.

A szükséges parancsok erőforrásonként eltérőek. Ha például lehetővé szeretné tenni az identitás számára a kulcsok olvasását és listázását az Azure Key Vaultból, futtassa a következő parancsot:

az keyvault set-policy \
    --name <key vault name> \
    --object-id <principal id> \
    --secret-permissions get list

Felhasználó által hozzárendelt felügyelt identitás törléséhez futtassa a következő parancsot:

az identity delete \
  --name <identity name>
  --resource-group <resource group>

Felügyelt identitás használata az Azure Key Vaulttal

A DefaultAzureCredential szolgáltató lehetővé teszi, hogy felügyelt identitásokat használjon a hitelesítéshez, amikor az alkalmazás az Azure-ban van üzembe helyezve, és helyi fejlesztői hitelesítő adatokat használ a fejlesztés során. A DefaultAzureCredential használatához telepítenie kell az Azure.Identity csomagot:

dotnet install Azure.Identity

DefaultAzureCredentialA használatával most már létrehozhatunk egy hitelesítettetSecretClient.

var client = new SecretClient(new Uri(keyVaultUrl), new DefaultAzureCredential());

Az ügyfél létrehozását követően lekérünk egy nevesített titkos kulcsot.

KeyVaultSecret secretWithValue = await client.GetSecretAsync(secret.Name).ConfigureAwait(false);