Menggunakan perwakilan layanan Azure dengan autentikasi berbasis kata sandi
Saat membuat perwakilan layanan, pilih jenis autentikasi masuk yang digunakannya. Ada dua jenis autentikasi yang tersedia untuk perwakilan layanan Azure: autentikasi berbasis kata sandi dan autentikasi berbasis sertifikat. Autentikasi berbasis kata sandi baik digunakan saat mempelajari perwakilan layanan, tetapi sebaiknya gunakan autentikasi berbasis sertifikat untuk aplikasi.
Langkah dalam tutorial ini menjelaskan cara menggunakan kata sandi perwakilan layanan untuk mengakses sumber daya Azure.
Membuat perwakilan layanan yang berisi kata sandi
Perilaku default az ad sp create-for-rbac adalah membuat perwakilan layanan dengan kata sandi acak.
az ad sp create-for-rbac --name myServicePrincipalName \
--role reader \
--scopes /subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName
Konsol Output:
{
"appId": "myServicePrincipalId",
"displayName": "myServicePrincipalName",
"password": "myServicePrincipalPassword",
"tenant": "myOrganizationTenantId"
}
Output perwakilan layanan dengan autentikasi kata sandi menyertakan kunci password
. Pastikan Anda menyalin nilai ini - nilai itu tidak dapat diambil kembali. Jika lupa kata sandi, atur ulang info masuk perwakilan layanan.
Masuk menggunakan perwakilan layanan menggunakan kata sandi
Uji info masuk dan izin perwakilan layanan baru dengan masuk. Untuk masuk dengan perwakilan layanan, Anda memerlukan appId
(juga dikenal sebagai "ID perwakilan layanan", "nama pengguna" atau "penerima tugas"), tenant
, dan password
. Berikut contohnya:
az login --service-principal \
--username myServicePrincipalId \
--password myServicePrincipalPassword \
--tenant myOrganizationTenantID
Jika Anda tidak mengetahui appId
atau --tenant
, ambil dengan menggunakan az ad sp list
perintah .
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
Jika Anda menguji di organisasi yang memerlukan autentikasi dua faktor, pesan kesalahan "... Autentikasi interaktif diperlukan..." ditampilkan. Sebagai alternatif, gunakan sertifikat atau identitas terkelola.
Penting
Jika Anda ingin menghindari menampilkan kata sandi Anda di konsol dan menggunakan az login
secara interaktif, gunakan read -s
perintah di bash
.
read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>
Di PowerShell, gunakan cmdlet Get-Credential
.
$AzCred = Get-Credential -UserName <app-id>
az login --service-principal -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password --tenant <tenant>
Langkah berikutnya
Sekarang setelah Anda mempelajari cara bekerja dengan perwakilan layanan menggunakan kata sandi, lanjutkan ke langkah berikutnya untuk mempelajari cara menggunakan perwakilan layanan dengan autentikasi berbasis sertifikat.