Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure PowerShell unterstützt mehrere Authentifizierungsmethoden. Am einfachsten können Sie mit Azure Cloud Shell beginnen, die Sie automatisch anmeldet. Mit einer lokalen Installation können Sie sich interaktiv über Ihren Browser anmelden. Beim Schreiben von Skripts für die Automatisierung besteht der empfohlene Ansatz darin, einen Dienstprinzipal mit den erforderlichen Berechtigungen zu verwenden. Wenn Sie Anmeldeberechtigungen so weit wie möglich für Ihren Anwendungsfall einschränken, helfen Sie, Ihre Azure-Ressourcen sicher zu halten.
Nach der Anmeldung werden Befehle für Ihr Standardabonnement ausgeführt. Verwenden Sie das Set-AzContext-Cmdlet , um Ihr aktives Abonnement für eine Sitzung zu ändern. Verwenden Sie "Set-AzDefault", um das Standardabonnement zu ändern, das bei der Anmeldung mit Azure PowerShell verwendet wird.
Wichtig
Ihre Anmeldeinformationen werden in mehreren PowerShell-Sitzungen gemeinsam verwendet, solange Sie angemeldet bleiben. Weitere Informationen finden Sie im Artikel zu beständigen Anmeldeinformationen.
Interaktiv anmelden
Verwenden Sie das Cmdlet Connect-AzAccount , um sich interaktiv anzumelden.
Connect-AzAccount
Wenn dieses Cmdlet ausgeführt wird, wird eine Tokenzeichenfolge angezeigt. Um sich anzumelden, kopieren Sie diese Zeichenfolge, und fügen Sie sie https://microsoft.com/devicelogin in einen Browser ein. Ihre PowerShell-Sitzung wird authentifiziert, um eine Verbindung mit Azure herzustellen.
Wichtig
Die Autorisierung von Anmeldeinformationen für Benutzername/Kennwort wurde in Azure PowerShell aufgrund von Änderungen in Active Directory-Autorisierungsimplementierungen und Sicherheitsbedenken entfernt. Wenn Sie die Autorisierung mit Anmeldeinformationen zu Automatisierungszwecken verwenden, erstellen Sie stattdessen einen Dienstprinzipal.
Anmelden mit einem Dienstprinzipal
Dienstprinzipale sind nicht interaktive Azure-Konten. Wie andere Benutzerkonten werden ihre Berechtigungen mit der Microsoft Entra-ID verwaltet. Indem Sie einem Dienstprinzipal nur die benötigten Berechtigungen erteilen, bleiben Ihre Automatisierungsskripts sicher.
Informationen zum Erstellen eines Dienstprinzipals für die Verwendung mit Azure PowerShell finden Sie unter Erstellen eines Azure-Dienstprinzipals mit Azure PowerShell.
Verwenden Sie für die Anmeldung mit einem Dienstprinzipal das Cmdlet -ServicePrincipal
mit dem Argument Connect-AzAccount
. Sie benötigen auch die Anwendungs-ID und die Anmeldeinformationen des Dienstprinzipals sowie die dem Dienstprinzipal zugeordnete Mandanten-ID. Wie Sie sich mit einem Dienstprinzipal anmelden, hängt davon ab, ob sie für die kennwortbasierte oder zertifikatbasierte Authentifizierung konfiguriert ist.
Kennwortbasierte Authentifizierung
Verwenden Sie das Cmdlet Get-Credential, um die Anmeldeinformationen des Dienstprinzipals als entsprechendes Objekt abzurufen. Mit diesem Cmdlet wird eine Eingabeaufforderung für einen Benutzernamen und ein Kennwort angezeigt. Verwenden Sie die Dienstprinzipal-ID als Benutzernamen.
$pscredential = Get-Credential
Connect-AzAccount -ServicePrincipal -Credential $pscredential -Tenant $tenantId
Für Automatisierungsszenarien müssen Sie Anmeldeinformationen aus einem Benutzernamen und einer sicheren Zeichenfolge erstellen:
$passwd = ConvertTo-SecureString <use a secure password here> -AsPlainText -Force
$pscredential = New-Object System.Management.Automation.PSCredential('service principal name/id', $passwd)
Connect-AzAccount -ServicePrincipal -Credential $pscredential -Tenant $tenantId
Stellen Sie sicher, dass Sie beim Automatisieren von Dienstprinzipalverbindungen gute Kennwortspeichermethoden verwenden.
Zertifikatbasierte Authentifizierung
Für die zertifikatbasierte Authentifizierung muss Azure PowerShell Informationen aus einem lokalen Zertifikatspeicher basierend auf einem Zertifikatfingerabdruck abrufen.
Connect-AzAccount -ApplicationId $appId -Tenant $tenantId -CertificateThumbprint <thumbprint>
Wenn Sie einen Dienstprinzipal anstelle einer registrierten Anwendung verwenden, fügen Sie das -ServicePrincipal
Argument hinzu, und stellen Sie die Anwendungs-ID des Dienstprinzipals als Wert des -ApplicationId
Parameters bereit.
Connect-AzAccount -ServicePrincipal -ApplicationId $servicePrincipalId -Tenant $tenantId -CertificateThumbprint <thumbprint>
In PowerShell 5.1 kann der Zertifikatspeicher mit dem PKI-Modul verwaltet und geprüft werden. Für PowerShell Core 6.x und höher ist der Prozess komplizierter. Die folgenden Skripts zeigen, wie Sie ein vorhandenes Zertifikat in den Zertifikatspeicher importieren, auf den PowerShell zugreifen kann.
Importieren eines Zertifikats in PowerShell 5.1
# 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
Importieren eines Zertifikats in PowerShell Core 6.x und höher
# 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()
Anmelden mithilfe einer verwalteten Identität
Verwaltete Identitäten sind ein Feature der Microsoft Entra-ID. Verwaltete Identitäten sind Dienstprinzipale, die Ressourcen zugeordnet sind, die in Azure ausgeführt werden. Sie können den Dienstprinzipal einer verwalteten Identität für die Anmeldung verwenden und ein App-exklusives Zugriffstoken für den Zugriff auf andere Ressourcen beziehen. Verwaltete Identitäten sind nur für Ressourcen verfügbar, die in einer Azure-Cloud ausgeführt werden.
Mit diesem Befehl wird eine Verbindung mit der verwalteten Identität der Hostumgebung hergestellt. Wenn beispielsweise auf einer VirtualMachine mit einer zugewiesenen verwalteten Dienstidentität ausgeführt wird, kann sich der Code mit dieser zugewiesenen Identität anmelden.
Connect-AzAccount -Identity
Melden Sie sich mit einem nicht standardmäßigen Mandanten oder als Cloud-Lösungsanbieter (Cloud Solution Provider, CSP) an.
Wenn Ihr Konto mit mehr als einem Mandanten verknüpft ist, erfordert die Anmeldung die Verwendung des -Tenant
Parameters beim Herstellen einer Verbindung. Dieser Parameter funktioniert mit jeder Anmeldemethode. Bei der Anmeldung kann dieser Parameterwert entweder die Azure-Objekt-ID des Mandanten (Mandanten-ID) oder der vollqualifizierte Domänenname des Mandanten sein.
Wenn Sie ein Cloud-Lösungsanbieter (Cloud Solution Provider, CSP) sind, -Tenant
der Wert eine Mandanten-ID sein.
Connect-AzAccount -Tenant 'xxxx-xxxx-xxxx-xxxx'
Anmelden bei einer anderen Cloud
Azure Cloud Services bieten Umgebungen, die mit regionalen Datenverarbeitungsgesetzen kompatibel sind.
Legen Sie für Konten in einer regionalen Cloud die Umgebung fest, wenn Sie sich mit dem -Environment
Argument anmelden.
Dieser Parameter funktioniert mit jeder Anmeldemethode. Beispiel: Wenn Sich Ihr Konto in der China-Cloud befindet:
Connect-AzAccount -Environment AzureChinaCloud
Der folgende Befehl ruft eine Liste der verfügbaren Umgebungen ab:
Get-AzEnvironment | Select-Object Name