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) tenantve passwordgerekir. 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 bashkomutunu 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.