Felhasználói hitelesítő adatok megőrzése a PowerShell-munkamenetek között
Figyelmeztetés
Az AzureRM PowerShell-modul 2024. február 29-én hivatalosan elavult. Javasoljuk a felhasználóknak, hogy migráljanak az AzureRM-ből az Az PowerShell-modulba a folyamatos támogatás és frissítések biztosítása érdekében.
Bár az AzureRM-modul továbbra is működik, a továbbiakban nem tart fenn vagy nem támogatott, így a folyamatos használatot a felhasználó saját belátása szerint és kockázatára teheti. Az Az modulra való áttéréshez tekintse meg a migrálási erőforrásainkat.
Az Azure PowerShell új, Azure-környezet automatikus mentése nevű funkciója a következő szolgáltatásokat nyújtja:
- A bejelentkezési adatok megőrzése és ismételt használata az új PowerShell-munkamenetekben.
- A háttérfeladatok egyszerűbb használata a hosszú ideig futó parancsmagok végrehajtásához.
- Váltás a fiókok, előfizetések és környezet között külön bejelentkezés nélkül.
- Feladatok egyidejű végrehajtása több bejelentkezés és előfizetés használatával ugyanabból a PowerShell-munkamenetből.
Az Azure-környezetek
Az Azure-környezet az Azure PowerShell-parancsmagok célját meghatározó adatok halmaza. A környezet öt részből áll:
- A Fiók – Az Azure-beli kommunikáció hitelesítéséhez használt felhasználónév vagy szolgáltatásnév
- Az előfizetés – Az adott erőforrásokat tartalmazó Azure-előfizetés, amelyre a műveletek irányulnak.
- Bérlő – Az előfizetést tartalmazó Microsoft Entra-bérlő. A bérlők a szolgáltatásnévvel való hitelesítés során fontosabbak.
- A környezet – A célzott Azure-felhő, általában az Azure globális felhője. A környezetbeállításban azonban megadhat országos, kormányzati és helyszíni (Azure Stack) felhőket is.
- A hitelesítő adatok – Az Azure által az identitás és az Azure-erőforrások hozzáférési jogosultságának ellenőrzéséhez használt adatok.
A korábbi kiadásokban az új PowerShell-munkamenetek megnyitásakor minden egyes alkalommal létre kellett hozni egy Azure-környezetet. Az Azure PowerShell 4.4.0-s verziójától kezdve azonban új PowerShell-munkamenet megnyitásakor beállítható az Azure-környezet automatikus mentése.
A környezet automatikus mentése a következő bejelentkezéshez
Az Azure PowerShell a 6.3.0-s verziótól kezdve automatikusan megőrzi a környezet adatait a munkamenetek között. Ha szeretné beállítani, hogy a PowerShell elfelejtse a környezetet és a hitelesítő adatokat, használja a Disable-AzureRmContextAutoSave
parancsmagot. Ekkor minden alkalommal újra be kell majd jelentkeznie az Azure-ba, amikor megnyit egy PowerShell-munkamenetet.
Ha szeretné engedélyezni, hogy az Azure PowerShell megjegyezze a környezet adatait a PowerShell-munkamenetek bezárásakor, használja az Enable-AzureRmContextAutosave
parancsmagot. A rendszer automatikusan menti a környezet adatait és a hitelesítő adatokat egy speciális rejtett mappába a felhasználó könyvtárában (%AppData%\Roaming\Windows Azure PowerShell
). Minden egyes új PowerShell-munkamenet az utolsó munkamenet során használt környezetre irányul.
Az Azure-környezetek kezeléséhez használt parancsmagokkal pontosan szabályozható a működés. Például megadhatja, hogy a módosítások csak az aktuális PowerShell-munkamenetre (Process
hatókör) vagy minden PowerShell-munkamenetre (CurrentUser
hatókör) érvényesek legyenek. Ezeket a beállításokat a részletesebben a Környezeti hatókörök használata című szakasz tárgyalja.
Azure PowerShell-parancsmagok futtatása háttérfeladatként
Az Azure-környezet automatikus mentése funkcióval megoszthatja a környezetet a PowerShell-háttérfeladatokkal. A PowerShell segítségével a hosszú lefutású feladatokat indíthatja és monitorozhatja háttérfeladatokként is, így nem kell megvárnia, amíg ezek befejeződnek. A hitelesítő adatokat kétféleképpen oszthatja meg a háttérfeladatokkal:
A környezet átadása argumentumként
A legtöbb AzureRM-parancsmagba a környezet átadható a parancsmag paramétereként. A környezet a háttérfeladat számára az alábbi példában látható módon adható át:
$job = Start-Job { param ($ctx) New-AzureRmVm -AzureRmContext $ctx [... További paraméterek ...]} -ArgumentList (Get-AzureRmContext)
- Using the default context with Autosave enabled
If you have enabled **Context Autosave**, background jobs automatically use the default saved
context.
```powershell
$job = Start-Job { New-AzureRmVm [... Additional parameters ...]}
Ha tájékozódni szeretne egy háttérfeladat kimeneteléről, a Get-Job
parancsmaggal ellenőrizheti le a feladat állapotát, és a Wait-Job
parancsmaggal várhatja meg a feladat befejezését. A Receive-Job
parancsmaggal rögzítheti és jelenítheti meg a háttérfeladat kimenetét. További információkért lásd a feladatokat ismertető szakaszt.
Környezetek létrehozása, kiválasztása, átnevezése és eltávolítása
Környezetek létrehozásához be kell jelentkeznie az Azure-ba. Az Connect-AzureRmAccount
parancsmag (vagy az aliasa, a Login-AzureRmAccount
parancsmag) beállítja az Azure PowerShell-parancsmagok által használt alapértelmezett környezetet, valamint lehetővé teszi a bejelentkezési hitelesítő adatai számára engedélyezett bérlők vagy előfizetések elérését.
A bejelentkezés után új környezet hozzáadásához használja a Set-AzureRmContext
parancsmagot (vagy az aliasát, a Select-AzureRmSubscription
parancsmagot).
Set-AzureRMContext -Subscription 'Contoso Subscription 1' -Name 'Contoso1'
Az előző példa hozzáad egy új környezetet, amely a „Contoso Subscription 1” nevű előfizetést célozza az aktuális hitelesítő adatokkal. Az új környezet neve „Contoso1”. Ha nem ad meg nevet a környezetnek, a rendszer egy alapértelmezett nevet ad a használt fiók- és előfizetés-azonosító alapján.
Meglévő környezetek átnevezéséhez használja a Rename-AzureRmContext
parancsmagot. Példa:
Rename-AzureRmContext '[user1@contoso.org; 123456-7890-1234-564321]' 'Contoso2'
A példa az automatikusan elnevezett [user1@contoso.org; 123456-7890-1234-564321]
környezetet átnevezi az egyszerű „Contoso2” névre. A környezetek kezelésére szolgáló parancsmagok parancssori kiegészítés funkcióval rendelkeznek, így a beírásukkor gyorsan kiválasztható a környezet.
A környezet a Remove-AzureRmContext
parancsmaggal távolítható el. Példa:
Remove-AzureRmContext Contoso2
Elfelejti a „Contoso2” nevű környezetet. A környezet a Set-AzureRmContext
parancsmaggal hozható újra létre
Hitelesítő adatok eltávolítása
Egy adott felhasználó vagy szolgáltatásnév összes hitelesítő adatát és társított környezetét a Disconnect-AzureRmAccount
(vagy más néven Logout-AzureRmAccount
) parancsmaggal távolíthatja el. Paraméterek nélkül a Disconnect-AzureRmAccount
parancsmag az aktuális környezetben bejelentkezett felhasználó vagy szolgáltatásnév összes társított hitelesítő adatát és környezetét eltávolítja. A parancsmagnak átadható egy felhasználónév, egyszerű szolgáltatásnév vagy egy környezet is, ha egy adott szolgáltatást kíván megcélozni.
Disconnect-AzureRmAccount user1@contoso.org
Környezeti hatókörök használata
Előfordulhat, hogy úgy szeretné kiválasztani, módosítani vagy eltávolítani egy PowerShell-munkamenet valamely környezetét, hogy a többi munkamenetet ne érintse a módosítás. A környezeti parancsmagok alapértelmezett viselkedésének módosításához használja a Scope
paramétert. A Process
hatókör felülírja az alapértelmezett viselkedést, hogy csak az aktuális munkamenetre vonatkozzon. A CurrentUser
hatókör ezzel szemben nemcsak az aktuális, hanem minden munkamenetben módosítja a környezetet.
Ha például anélkül szeretné módosítani az aktuális PowerShell-munkamenet alapértelmezett környezetét, hogy a módosítás a többi ablakot vagy a munkamenet következő megnyitásakor használt környezetet is érintené, használja a következő parancsmagot:
Select-AzureRmContext Contoso1 -Scope Process
A környezet automatikus mentési beállításainak megőrzése
A rendszer a felhasználó Azure PowerShell-könyvtárába (%AppData%\Roaming\Windows Azure PowerShell
) menti a környezet automatikus mentési beállításait. Előfordulhat, hogy egyes számítógépfiókok nem rendelkeznek hozzáféréshez ehhez a könyvtárhoz. Ilyen esetekben használhatja a következő környezeti változót:
$env:AzureRmContextAutoSave=$true
Ha be van $true
állítva, a rendszer automatikusan menti a környezetet. Ha be van $false
állítva, a környezet nem lesz mentve.
Az AzureRM.Profile modul változásai
Új parancsmagok a környezetek kezeléséhez
- Enable-AzureRmContextAutosave – A környezet mentésének engedélyezése a PowerShell-munkamenetek között. Minden változás módosítja a globális környezetet.
- Disable-AzureRmContextAutosave – A környezet automatikus mentésének kikapcsolása. Minden egyes új PowerShell-munkamenetnek újra be kell jelentkeznie.
- Select-AzureRmContext – Az alapértelmezett környezet kiválasztása. Az összes parancsmag ennek a környezetnek a hitelesítő adatait használja.
- Disconnect-AzureRmAccount – Egy fiókhoz tartozó összes hitelesítő adat és környezet eltávolítása.
- Remove-AzureRmContext – Egy elnevezett környezet eltávolítása.
- Rename-AzureRmContext – Meglévő környezet eltávolítása.
Meglévő profilparancsmagok változásai
- Add-AzureRmAccount – A bejelentkezés hatóköre beállításának engedélyezése a folyamatra vagy az aktuális felhasználóra. Lehetővé teszi az alapértelmezett környezet elnevezését a bejelentkezés után.
- Import-AzureRmContext – A bejelentkezés hatóköre beállításának engedélyezése a folyamatra vagy az aktuális felhasználóra.
- Set-AzureRmContext – A meglévő elnevezett környezetek kiválasztásának, valamint a hatókör a folyamatra vagy az aktuális felhasználóra való beállításának engedélyezése.