Bejelentkezés az Azure PowerShell-be a nem interaktív automatizálási forgatókönyvekhez

A Azure felügyelt identitásai biztonságos és zökkenőmentes módot biztosítanak az alkalmazások, szolgáltatások és automatizálási eszközök számára Azure erőforrások eléréséhez anélkül, hogy hitelesítő adatokat tárolnak a kódban vagy a konfigurációban. A manuális hitelesítőadat-kezelést igénylő szolgáltatásnevektől eltérően Azure automatikusan kezeli a felügyelt identitásokat, és nem tesz közzé bizalmas titkos kulcsokat. A felügyelt identitás használata ajánlott eljárás a biztonságos automatizálási szkriptek írásához, mivel leegyszerűsíti a hitelesítést, és minimalizálja a hitelesítő adatok szivárgásának kockázatát. A felügyelt identitások emellett segítenek a felügyeleti feladatok biztonságos automatizálásában anélkül, hogy felhasználói identitásokra támaszkodnak. A felügyelt identitásokra vonatkozó engedélyek kezelése Microsoft Entra történik, biztosítva, hogy csak a szükséges hozzáféréssel rendelkezzenek az erőforrásokhoz, ami növeli a biztonságot és a karbantarthatóságot.

Important

2025 szeptemberében kezdődően Azure PowerShell többtényezős hitelesítést (MFA) igényel, amikor Microsoft Entra ID felhasználói identitással jelentkezik be. Ez a módosítás javítja a biztonságot, de hatással lehet a felhasználónévre és jelszó-hitelesítésre támaszkodó automatizálási munkafolyamatokra. További információ: A többtényezős hitelesítés hatása Azure PowerShell automatizálási forgatókönyvekben.

Prerequisites

Bejelentkezés felügyelt identitással

A felügyelt identitások a szolgáltatás-főnév egy speciális típusai, amelyek automatikusan kezelt identitást biztosítanak az Azure szolgáltatások számára. Az ilyen típusú identitás használatához nincs szükség hitelesítő adatok konfigurációban vagy kódban való tárolására a felügyelt identitásokat támogató Azure szolgáltatások hitelesítéséhez.

A felügyelt identitásoknak két típusa létezik:

  • Rendszer által hozzárendelt felügyelt identitás
  • Felhasználó által hozzárendelt felügyelt identitás

A felügyelt identitások biztonságos módot biztosítanak más Azure szolgáltatásokkal való kommunikációra anélkül, hogy a fejlesztőknek hitelesítő adatokat kellene kezelnie. Emellett segítenek enyhíteni a hitelesítő adatok szivárgásának kockázatát.

A felügyelt identitások működése valós forgatókönyvekben:

  • Azure automatikusan kezeli a felügyelt identitás által használt hitelesítő adatok létrehozását és törlését.
  • A felügyelt identitással engedélyezett Azure szolgáltatások biztonságosan hozzáférhetnek más szolgáltatásokhoz, például Azure Key Vault, Azure SQL Database, Azure Blob Storage stb. Microsoft Entra jogkivonatok használatával.
  • Ezt az identitást közvetlenül a Azure kezeli anélkül, hogy további kiépítésre van szükség.

A felügyelt identitások leegyszerűsítik a biztonsági modellt azáltal, hogy elkerülik a hitelesítő adatok tárolásának és kezelésének szükségességét, és kulcsfontosságú szerepet játszanak a biztonságos felhőműveletekben azáltal, hogy csökkentik a titkos kódok kezelésével járó kockázatot.

Rendszer által hozzárendelt felügyelt identitás

Azure automatikusan létrehoz egy rendszer által hozzárendelt felügyelt identitást egy Azure szolgáltatáspéldányhoz (például Azure virtuális géphez, App Service-hez vagy Azure Functions). A szolgáltatáspéldány törlésekor Azure automatikusan törli a szolgáltatáshoz társított hitelesítő adatokat és identitást.

Az alábbi példa a gazdagép környezet rendszer által hozzárendelt felügyelt identitásával kapcsolódik. Ha egy hozzárendelt felügyelt identitással rendelkező virtuális gépen hajtják végre, lehetővé teszi, hogy a kód a hozzárendelt identitás használatával jelentkezzen be.

 Connect-AzAccount -Identity

Felhasználó által hozzárendelt felügyelt identitás

A felhasználó által hozzárendelt felügyelt identitás olyan identitás, amelyet a Microsoft Entra hoz létre és kezel. Egy vagy több Azure szolgáltatáspéldányhoz rendelhető hozzá. A felhasználó által hozzárendelt felügyelt identitás életciklusa külön van kezelve azoktól a szolgáltatáspéldányoktól, amelyekhez hozzá van rendelve.

Felhasználó által hozzárendelt felügyelt identitás használatakor meg kell adnia az AccountId és az Identity paramétereket az alábbi példában látható módon.

 Connect-AzAccount -Identity -AccountId <user-assigned-identity-clientId-or-resourceId>

A következő parancsok a myUserAssignedIdentity felügyelt identitásának használatával csatlakoznak. Hozzáadja a felhasználó által hozzárendelt identitást a virtuális géphez, majd a felhasználó által hozzárendelt identitás Ügyfélazonosítójának használatával csatlakozik.

$identity = Get-AzUserAssignedIdentity -ResourceGroupName myResourceGroup -Name myUserAssignedIdentity
Get-AzVM -ResourceGroupName contoso -Name testvm | Update-AzVM -IdentityType UserAssigned -IdentityId $identity.Id
Connect-AzAccount -Identity -AccountId $identity.ClientId # Run on the virtual machine
Account                              SubscriptionName TenantId                             Environment
-------                              ---------------- --------                             -----------
00000000-0000-0000-0000-000000000000 My Subscription  00000000-0000-0000-0000-000000000000 AzureCloud

További információ: Felügyelt identitások konfigurálása Azure erőforrásokhoz egy Azure virtuális gépen.

Bejelentkezés szolgáltatási főnévvel

Szolgáltatásnévvel való bejelentkezéshez használja a parancsmag ServicePrincipal paraméterét Connect-AzAccount . A szolgáltatási főszolgáltatóhoz a következő információkra is szüksége lesz:

  • AppId
  • Bejelentkezési hitelesítő adatok vagy hozzáférés a szolgáltatásnév létrehozásához használt tanúsítványhoz
  • Bérlő azonosító

A szolgáltatási főnévvel való bejelentkezés attól függ, hogy tanúsítvány-alapú vagy jelszó-alapú hitelesítésre van-e konfigurálva.

Tanúsítványalapú hitelesítés

Ha szeretné megtudni, hogyan lehet szolgáltatásnevet létrehozni az Azure PowerShellben, olvassa el Az Azure szolgáltatásnév létrehozása az Azure PowerShell segítségével.

A tanúsítványalapú hitelesítéshez Azure PowerShell szükséges, hogy a tanúsítvány ujjlenyomata alapján adatokat kérjen le egy helyi tanúsítványtárolóból.

Connect-AzAccount -ApplicationId $appId -Tenant $tenantId -CertificateThumbprint <thumbprint>

Ha regisztrált alkalmazás helyett szolgáltatásnevet használ, adja meg a ServicePrincipal paramétert, és adja meg a szolgáltatásnév AppId azonosítóját az ApplicationId paraméter értékeként.

Connect-AzAccount -ServicePrincipal -ApplicationId $servicePrincipalId -Tenant $tenantId -CertificateThumbprint <thumbprint>

A Windows PowerShell 5.1-ben a tanúsítványtároló a PKI modullal felügyelhető és vizsgálható. A PowerShell 7.x és újabb verziói esetében a folyamat más. Az alábbi szkriptek bemutatják, hogyan importálhat egy meglévő tanúsítványt a PowerShell által elérhető tanúsítványtárolóba.

Tanúsítvány importálása a PowerShell 7.x és újabb verzióiban

# Import a PFX
$storeName = [System.Security.Cryptography.X509Certificates.StoreName]::My
$storeLocation = [System.Security.Cryptography.X509Certificates.StoreLocation]::CurrentUser
$store = [System.Security.Cryptography.X509Certificates.X509Store]::new($storeName, $storeLocation)
$certPath = <path to certificate>
$credentials = Get-Credential -Message "Provide PFX private key password"
$flag = [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable
$certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($certPath, $credentials.Password, $flag)
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$store.Add($Certificate)
$store.Close()

Tanúsítvány importálása Windows PowerShell 5.1-ben

# Import a PFX
$credentials = Get-Credential -Message 'Provide PFX private key password'
Import-PfxCertificate -FilePath <path to certificate> -Password $credentials.Password -CertStoreLocation cert:\CurrentUser\My

Jelszóalapú hitelesítés

Hozzon létre egy szolgáltatásnevet az ebben a szakaszban szereplő példákhoz. További információ a szolgáltatásnevek létrehozásáról: A Azure szolgáltatásnév létrehozása Azure PowerShell.

$sp = New-AzADServicePrincipal -DisplayName ServicePrincipalName

Caution

A megadott szolgáltatásnév titkos kódját a felhasználói profilban található AzureRmContext.json fájl tárolja ($env:USERPROFILE\.Azure). Győződjön meg arról, hogy a címtár megfelelő védelemmel rendelkezik.

A szolgáltatásazonosító hitelesítő adatainak objektumként való megkapásához használja a Get-Credential parancsmagot. Ez a parancsmag felhasználónevet és jelszót kér. Használja a szolgáltatásnév AppId nevét a felhasználónévhez, és konvertálja egyszerű secret szöveggé a jelszóhoz.

# Retrieve the plain text password for use with Get-Credential in the next command.
$sp.PasswordCredentials.SecretText

$pscredential = Get-Credential -UserName $sp.AppId
Connect-AzAccount -ServicePrincipal -Credential $pscredential -Tenant $tenantId

Automatizálási forgatókönyvek esetén hitelesítő adatokat kell létrehoznia egy szolgáltatási főazonosító AppId és SecretText-ból:

$SecureStringPwd = $sp.PasswordCredentials.SecretText | ConvertTo-SecureString -AsPlainText -Force
$pscredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $sp.AppId, $SecureStringPwd
Connect-AzAccount -ServicePrincipal -Credential $pscredential -Tenant $tenantId

A szolgáltatásnév-kapcsolatok automatizálásához használja a megfelelő jelszótárolási eljárásokat.

Lásd még