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.
Beim Erstellen eines Dienstprinzipals wählen Sie den Typ der von ihm verwendeten Anmeldeauthentifizierung aus. Für Azure-Dienstprinzipale sind zwei Arten von Authentifizierung verfügbar: kennwortbasiert und zertifikatbasiert. Die kennwortbasierte Authentifizierung eignet sich gut, wenn Sie mehr über Dienstprinzipale erfahren, es wird jedoch empfohlen, die zertifikatbasierte Authentifizierung für Anwendungen zu verwenden.
In diesem Schritt im Lernprogramm wird erläutert, wie Sie ein Dienstprinzipalkennwort für den Zugriff auf eine Azure-Ressource verwenden.
Erstellen Sie ein Dienstobjekt mit einem Kennwort
Das Standardverhalten von az ad sp create-for-rbac besteht darin, einen Dienstprinzipal mit einem zufälligen Kennwort zu erstellen.
az ad sp create-for-rbac --name myServicePrincipalName \
--role reader \
--scopes /subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName
Ausgabekonsole:
{
"appId": "myServicePrincipalId",
"displayName": "myServicePrincipalName",
"password": "myServicePrincipalPassword",
"tenant": "myOrganizationTenantId"
}
Die Ausgabe für einen Dienstprinzipal mit Kennwortauthentifizierung enthält den password
Schlüssel.
Denken Sie unbedingt daran, diesen Wert zu kopieren – er kann nicht abgerufen werden. Wenn Sie das Kennwort verlieren, setzen Sie die Anmeldeinformationen des Dienstprinzipals zurück.
Anmelden mit einem Dienstprinzipal mithilfe eines Kennworts
Testen Sie die Anmeldeinformationen und Berechtigungen des neuen Dienstprinzipals, indem Sie sich anmelden. Um sich mit einem Dienstprinzipal anzumelden, benötigen Sie die appId
(auch als "Dienstprinzipal-ID", "Benutzername" oder "Zuweisung" bezeichnet) tenant
und password
. Ein Beispiel:
az login --service-principal \
--username myServicePrincipalId \
--password myServicePrincipalPassword \
--tenant myOrganizationTenantID
Wenn Sie Ihr appId
oder --tenant
nicht kennen, rufen Sie es mithilfe des az ad sp list
-Befehls ab.
spID=$(az ad sp list --display-name myServicePrincipalName --query "[].{spID:appId}" --output tsv)
tenantID=$(az ad sp list --display-name myServicePrincipalName --query "[].{tenant:appOwnerOrganizationId}" --output tsv)
echo "Using appId $spID in tenant $tenantID"
az login --service-principal \
--username $spID \
--password {paste your password here} \
--tenant $tenantID
Wenn Sie in einer Organisation testen, die eine zweistufige Authentifizierung erfordert, wird die Fehlermeldung "... Interaktive Authentifizierung ist erforderlich..." wird angezeigt. Alternativ können Sie ein Zertifikat oder verwaltete Identitäten verwenden.
Von Bedeutung
Wenn Sie die Anzeige Ihres Kennworts in der Konsole vermeiden möchten und az login
interaktiv verwenden, können Sie den Befehl read -s
in bash
nutzen.
read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>
Verwenden Sie in PowerShell das Get-Credential
Cmdlet.
$AzCred = Get-Credential -UserName <app-id>
az login --service-principal -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password --tenant <tenant>
Nächste Schritte
Nachdem Sie nun gelernt haben, wie Sie mit Dienstprinzipalen mit einem Kennwort arbeiten, fahren Sie mit dem nächsten Schritt fort, um zu erfahren, wie Sie Dienstprinzipale mit zertifikatbasierter Authentifizierung verwenden.