Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Při vytváření služebního principálu zvolíte typ autentifikace přihlašování, který používá. Pro instanční objekty Azure jsou k dispozici dva typy ověřování: ověřování založené na heslech a ověřování na základě certifikátů. Ověřování založené na heslech je vhodné použít při učení o instančních objektech, ale pro aplikace doporučujeme používat ověřování založené na certifikátech .
Tento krok kurzu vysvětluje, jak použít heslo služebního objektu pro přístup k prostředku Azure.
Vytvořte služební principál obsahující heslo
Výchozí chování příkazu az ad sp create-for-rbac je vytvoření služebního účtu s náhodným heslem.
az ad sp create-for-rbac --name myServicePrincipalName \
--role reader \
--scopes /subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName
Výstupní konzola:
{
"appId": "myServicePrincipalId",
"displayName": "myServicePrincipalName",
"password": "myServicePrincipalPassword",
"tenant": "myOrganizationTenantId"
}
Výstup principálu služby s ověřováním hesla zahrnuje password klíč. Ujistěte se, že tuto hodnotu zkopírujete – následně ji nelze získat. Pokud heslo ztratíte, resetujte přihlašovací údaje aplikační identity.
Přihlášení pomocí instančního objektu pomocí hesla
Otestujte přihlašovací údaje a oprávnění nového služebního principálu tím, že se přihlásíte. Pokud se chcete přihlásit pomocí služebního principálu, potřebujete appId (také označovaný jako "ID služebního principálu", "uživatelské jméno" nebo "assignee"), tenant a password. Tady je příklad:
az login --service-principal \
--username myServicePrincipalId \
--password myServicePrincipalPassword \
--tenant myOrganizationTenantID
Pokud neznáte appId nebo --tenant, načtěte ho pomocí příkazu az ad sp list.
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
Pokud testujete v organizaci, která vyžaduje dvoufaktorové ověřování, chybová zpráva ... Vyžaduje se interaktivní ověřování..." se zobrazí. Jako alternativu použijte certifikát nebo spravované identity.
Důležité
Pokud se chcete vyhnout zobrazení hesla v konzole a používáte az login interaktivně, použijte read -s příkaz v bashsouboru .
read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>
V PowerShellu použijte rutinu Get-Credential .
$AzCred = Get-Credential -UserName <app-id>
az login --service-principal -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password --tenant <tenant>
Další kroky
Teď, když jste se naučili pracovat s instančními objekty pomocí hesla, přejděte k dalšímu kroku a zjistěte, jak používat instanční objekty s ověřováním pomocí certifikátů.