Bagikan melalui


Masuk ke Azure dengan perwakilan layanan menggunakan Azure CLI

Perwakilan layanan adalah akun yang tidak terkait dengan pengguna tertentu, yang dapat memiliki izin pada mereka yang ditetapkan melalui peran yang telah ditentukan sebelumnya. Autentikasi dengan perwakilan layanan adalah cara terbaik untuk menulis skrip atau program yang aman, sehingga Anda dapat menerapkan pembatasan izin dan informasi info masuk statik yang disimpan secara lokal. Untuk mempelajari selengkapnya tentang perwakilan layanan, lihat Bekerja dengan perwakilan layanan Azure menggunakan Azure CLI.

Untuk masuk dengan perwakilan layanan, Anda memerlukan:

  • URL atau nama yang terkait dengan perwakilan layanan
  • Rahasia klien perwakilan layanan, atau sertifikat X509 yang digunakan untuk membuat perwakilan layanan dalam format PEM
  • Penyewa yang terkait dengan perwakilan layanan, sebagai .onmicrosoft.com domain atau ID penyewa Microsoft Entra

Perhatikan dua fakta penting saat bekerja dengan perwakilan layanan dan Azure CLI:

  • CERTIFICATE harus ditambahkan ke PRIVATE KEY dalam file PEM. Untuk contoh format file PEM, lihat Autentikasi berbasis sertifikat.

  • Jika perwakilan layanan Anda menggunakan sertifikat yang disimpan di Key Vault, kunci privat sertifikat tersebut harus tersedia tanpa masuk ke Azure. Untuk mengambil sertifikat untuk az login, lihat Mengambil sertifikat dari Key Vault.

Masuk dengan rahasia klien:

az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID

Masuk dengan sertifikat:

az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID

Penting

Jika Anda tidak ingin menampilkan kata sandi di konsol dan menggunakan az login secara interaktif, gunakan perintah read -s di bagian bash.

read -sp "Azure password: " AZ_PASS && echo && az login --service-principal --username <app-id> --password $AZ_PASS --tenant <tenant>

Di PowerShell, gunakan Cmdlet Get-Credential.

$AzCred = Get-Credential -UserName <app-id>
az login --service-principal --username $AzCred.UserName --password $AzCred.GetNetworkCredential().Password --tenant <tenant>

Lihat juga