Parola tabanlı kimlik doğrulaması ile Azure hizmet sorumlusu kullanma
Hizmet sorumlusu oluştururken, kullanacağınız oturum açma kimlik doğrulaması türünü seçebilirsiniz. Azure hizmet sorumluları için iki tür kimlik doğrulaması sağlanır: parola tabanlı kimlik doğrulaması ve sertifika tabanlı kimlik doğrulaması. Hizmet sorumluları hakkında bilgi edinirken parola tabanlı kimlik doğrulamasının kullanılması iyidir, ancak uygulamalar için sertifika tabanlı kimlik doğrulaması kullanmanızı öneririz.
Öğreticideki bu adım, bir Azure kaynağına erişmek için hizmet sorumlusu parolasının nasıl kullanılacağını açıklar.
Parola içeren bir hizmet sorumlusu oluşturma
Az ad sp create-for-rbac'nin varsayılan davranışı, rastgele parolayla bir hizmet sorumlusu oluşturmaktır.
az ad sp create-for-rbac --name myServicePrincipalName \
--role reader \
--scopes /subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName
Çıkış Konsolu:
{
"appId": "myServicePrincipalId",
"displayName": "myServicePrincipalName",
"password": "myServicePrincipalPassword",
"tenant": "myOrganizationTenantId"
}
Parola kimlik doğrulamasına sahip bir hizmet sorumlusunun çıktısı password
anahtarı içerir. Bu değeri kopyaladığınızdan emin olun; alınamaz. Parolayı kaybederseniz hizmet sorumlusu kimlik bilgilerini sıfırlayın.
Parola kullanarak hizmet sorumlusu kullanarak oturum açma
Oturum açarak yeni hizmet sorumlusunun kimlik bilgilerini ve izinlerini test edin. Hizmet sorumlusuyla oturum açmak için ("hizmet sorumlusu kimliği", appId
"kullanıcı adı" veya "atanan" olarak da bilinir) tenant
ve password
gerekir. Aşağıda bir örnek verilmiştir:
az login --service-principal \
--username myServicePrincipalId \
--password myServicePrincipalPassword \
--tenant myOrganizationTenantID
veya --tenant
'nizi appId
bilmiyorsanız komutunu kullanarak az ad sp list
alın.
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
İki öğeli kimlik doğrulaması gerektiren bir kuruluşta test ediyorsanız hata iletisi "... Etkileşimli kimlik doğrulaması gerekiyor..." görüntülenir. Alternatif olarak, sertifika veya yönetilen kimlikler kullanın.
Önemli
Parolanızın konsolda görüntülenmesini önlemek istiyorsanız ve etkileşimli olarak kullanıyorsanız az login
içindeki bash
komutunu kullanınread -s
.
read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>
PowerShell'de cmdlet'ini Get-Credential
kullanın.
$AzCred = Get-Credential -UserName <app-id>
az login --service-principal -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password --tenant <tenant>
Sonraki Adımlar
Artık parola kullanarak hizmet sorumlularıyla çalışmayı öğrendiğinize göre, sertifika tabanlı kimlik doğrulamasıyla hizmet sorumlularını kullanmayı öğrenmek için sonraki adıma geçin.