Megosztás a következőn keresztül:


Bejelentkezés az Azure PowerShellbe nem interaktív módon automatizálási forgatókönyvekhez

Az Azure-beli felügyelt identitások 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 az 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 az 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ások engedélyeit a Microsoft Entra felügyeli, 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 is.

Fontos

2025 szeptemberétől az Azure PowerShell többtényezős hitelesítést (MFA) igényel a Microsoft Entra ID felhasználói identitással való bejelentkezéskor. 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 az Azure PowerShellre automatizálási forgatókönyvekben.

Előfeltételek

Bejelentkezés felügyelt identitással

A felügyelt identitások egy speciális szolgáltatásnévtípus, amely automatikusan felügyelt identitást biztosít az Azure-szolgáltatásoknak. 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:

  • Az 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 az Azure Key Vaulthoz, az Azure SQL Database-hez, az Azure Blob Storage-hoz stb. Microsoft Entra-jogkivonatokkal.
  • Ezt az identitást közvetlenül az Azure-ban felügyeli további kiépítés nélkül.

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

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

Az alábbi példa a környezet rendszer által kijelölt kezelt identitását használja a kapcsolódáshoz. 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 a Microsoft Entra-ban létrehozott és kezelt identitás. 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 a AccountId és Identity paramétereket, ahogyan az az alábbi példában látható.

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

A következő parancsok a myUserAssignedIdentity felügyelt identitásá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 Azure-beli virtuális gépeken.

Bejelentkezés szolgáltatási főszereplővel

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

  • 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ó

Az, hogy hogyan jelentkezik be egy szolgáltatási főszereplővel, attól függ, hogyan van konfigurálva: tanúsítványalapú vagy jelszóalapú hitelesítésre.

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

Ha meg szeretné tudni, hogyan hozhat létre szolgáltatásnevet az Azure PowerShell használatával, tekintse meg a következő részt: Azure-szolgáltatásnév létrehozása az Azure PowerShell-lel.

A tanúsítványalapú hitelesítéshez az Azure PowerShellnek le kell kérnie az információkat egy helyi tanúsítványtárolóból egy tanúsítvány ujjlenyomata alapján.

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 a 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ás főkomponenst az ebben a szakaszban szereplő példákhoz. További információ a szolgáltatásnevek létrehozásával kapcsolatban: Azure-beli szolgáltatásnév létrehozása az Azure PowerShell használatával.

$sp = New-AzADServicePrincipal -DisplayName ServicePrincipalName

Figyelmeztetés

A megadott szolgáltatásfő titkos kulcsot a rendszer a AzureRmContext.json fájlba tárolja a felhasználói profiljában ($env:USERPROFILE\.Azure). Győződjön meg arról, hogy a címtár megfelelő védelemmel rendelkezik.

A szolgáltatási főazonosító hitelesítő adatainak objektumként való lekéréséhez használja a Get-Credential parancsmagot. Ez a parancsmag felhasználónevet és jelszót kér. Használja a szolgáltatási fő azonosító AppId-t a felhasználónévként, és alakítsa a secret-et egyszerű 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 szcenáriók esetén a hitelesítő adatokat egy szolgáltatási főszereplő AppId és SecretText paramétereiből kell létrehozni.

$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ási hitelesítési kapcsolatok automatizálásakor használja a megfelelő jelszótárolási eljárásokat.

Lásd még