Bejelentkezés az Azure PowerShellbe nem interaktív módon automatizálási forgatókönyvekhez
Az Azure szolgáltatásnév egy neminteraktív fiók, amely az alkalmazások, szolgáltatások és automatizálási eszközök által meghatározott Azure-erőforrások eléréséhez használt identitást biztosít. A szolgáltatásnévvel végzett hitelesítés a legjobb módja a biztonságos szkriptek írásának, mivel azok hozzárendelt engedélyekkel rendelkező biztonsági identitásként működnek, amely szabályozza, hogy mely műveletek és milyen erőforrások érhetők el. A szolgáltatásnevek segítenek biztonságosan automatizálni a felügyeleti feladatokat személyes felhasználói fiókok használata nélkül, ezáltal biztonságosabb és kezelhetőbb hozzáférést biztosítva az Azure-erőforrásokhoz. A többi felhasználói fiókhoz hasonlóan Ön is kezelheti az engedélyeiket a Microsoft Entra használatával. Az automatizálási szkriptek biztonságát úgy garantálhatjuk, ha a szolgáltatásnevek számára csak a szükséges engedélyeket adjuk meg.
Előfeltételek
- Telepítse az Az PowerShell-modul legújabb verzióját.
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 gazdagépkö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 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 az AccountId paramétert és az Identitás paramétert 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 felügyelt identitás használatával csatlakoznak myUserAssignedIdentity
. 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-beli virtuális gépen.
Bejelentkezés szolgáltatásnévvel
Szolgáltatásnévvel való bejelentkezéshez használja a parancsmag ServicePrincipal paraméterét Connect-AzAccount
. A szolgáltatásnévhez 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ásnévvel való bejelentkezés attól függ, hogy tanúsítványalapú vagy jelszóalapú hitelesítésre van-e konfigurálva.
Tanúsítványalapú hitelesítés
Ha tudni szeretné, hogyan hozhat létre egyszerű szolgáltatást az Azure PowerShellhez, olvassa el az Azure-szolgáltatásnév létrehozása az Azure PowerShell-lel című témakört.
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 egyszerű szolgáltatást 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
Figyelemfelhívás
A megadott szolgáltatásnév titkos kódját a rendszer a AzureRmContext.json
felhasználói profil$env:USERPROFILE\.Azure
() fájljában tárolja. Győződjön meg arról, hogy a címtár megfelelő védelemmel rendelkezik.
A szolgáltatásnév 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ásnév AppId
azonosítóját felhasználónévként, és konvertálja annak secret
paraméterét 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 forgatókönyvek esetén a hitelesítő adatokat egy szolgáltatásnév 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ásnév-kapcsolatok automatizálásához használja a megfelelő jelszótárolási eljárásokat.
Lásd még
- Azure-szolgáltatásnév létrehozása az Azure PowerShell használatával
- Melyek az Azure-erőforrások felügyelt identitásai?
- Felügyelt identitáshoz való hozzáférés hozzárendelése erőforráshoz a PowerShell használatával
- Felügyelt identitás szolgáltatásnévének megtekintése a PowerShell használatával
- Connect-AzAccount
- New-AzADServicePrincipal
- Get-Credential