Bagikan melalui


Memecahkan masalah koneksi layanan identitas beban kerja Azure Resource Manager

Dapatkan bantuan men-debug masalah umum dengan koneksi layanan identitas beban kerja. Anda juga mempelajari cara membuat koneksi layanan secara manual jika perlu.

Daftar periksa pemecahan masalah

Gunakan daftar periksa berikut untuk memecahkan masalah dengan koneksi layanan identitas beban kerja:

  • Tinjau tugas alur untuk memastikan bahwa mereka mendukung identitas beban kerja.
  • Verifikasi bahwa federasi identitas beban kerja aktif untuk penyewa.
  • Periksa URL penerbit dan subjek federasi untuk akurasi.

Bagian berikut ini menjelaskan masalah dan cara mengatasinya.

Meninjau tugas alur

Tidak semua tugas alur mendukung identitas beban kerja. Secara khusus, hanya properti koneksi layanan Azure Resource Manager pada tugas yang menggunakan federasi identitas beban kerja. Tabel di bawah ini mencantumkan dukungan federasi identitas beban kerja untuk tugas yang disertakan dengan Azure DevOps. Untuk tugas yang diinstal dari Marketplace, hubungi penerbit ekstensi untuk dukungan.

Tugas Dukungan federasi identitas beban kerja
AutomatedAnalysis@0 Y
AzureAppServiceManage@0 Y
AzureAppServiceSettings@1 Y
AzureCLI@1 Y
AzureCLI@2 Y
AzureCloudPowerShellDeployment@1 Gunakan AzureCloudPowerShellDeployment@2
AzureCloudPowerShellDeployment@2 Y
AzureContainerApps@0 Y
AzureContainerApps@1 Y
AzureFileCopy@1 Gunakan AzureFileCopy@6
AzureFileCopy@2 Gunakan AzureFileCopy@6
AzureFileCopy@3 Gunakan AzureFileCopy@6
AzureFileCopy@4 Gunakan AzureFileCopy@6
AzureFileCopy@5 Gunakan AzureFileCopy@6
AzureFileCopy@6 Y
AzureFunctionApp@1 Y
AzureFunctionApp@2 Y
AzureFunctionAppContainer@1 Y
AzureFunctionOnKubernetes@0 Gunakan AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@1 Y
AzureIoTEdge@2 Y
AzureKeyVault@1 Y
AzureKeyVault@2 Y
AzureMonitor@0 Gunakan AzureMonitor@1
AzureMonitor@1 Y
AzureMysqlDeployment@1 Y
AzureNLBManagement@1 N
AzurePolicyCheckGate@0 Y
AzurePowerShell@2 Y
AzurePowerShell@3 Y
AzurePowerShell@4 Y
AzurePowerShell@5 Y
AzureResourceGroupDeployment@2 Y
AzureResourceManagerTemplateDeployment@3 Y
AzureRmWebAppDeployment@3 Y
AzureRmWebAppDeployment@4 Y
AzureSpringCloud@0 Y
AzureVmssDeployment@0 Y
AzureWebApp@1 Y
AzureWebAppContainer@1 Y
ContainerBuild@0 Y
ContainerStructureTest@0 Y
Docker@0 Y
Docker@1 Koneksi layanan Azure: Y
Koneksi layanan Docker Registry: N
Docker@2 Y
DockerCompose@0 Y
DockerCompose@1 Y
DotNetCoreCLI@2 Y
HelmDeploy@0 Koneksi layanan Azure: Y
HelmDeploy@1 Koneksi layanan Azure: Y
InvokeRESTAPI@1 Y
JavaToolInstaller@0 Y
JenkinsDownloadArtifacts@1 Y
Kubernetes@0 Gunakan Kubernetes@1
Kubernetes@1 Y
KubernetesManifest@0 Gunakan KubernetesManifest@1
KubernetesManifest@1 Y
Maven@4 Y
Notation@0 Y
PackerBuild@0 Gunakan PackerBuild@1
PackerBuild@1 Y
PublishToAzureServiceBus@1 Menggunakan PublishToAzureServiceBus@2 dengan koneksi layanan Azure
PublishToAzureServiceBus@2 Y
ServiceFabricComposeDeploy@0 N
ServiceFabricDeploy@1 N
SqlAzureDacpacDeployment@1 Y
VSTest@3 Y

Verifikasi bahwa federasi identitas beban kerja aktif

Jika Anda melihat pesan kesalahan AADSTS700223 atau AADSTS700238, federasi identitas beban kerja dinonaktifkan di penyewa Microsoft Entra Anda.

Verifikasi bahwa tidak ada kebijakan Microsoft Entra yang memblokir kredensial federasi.

Periksa URL pengeluar sertifikat untuk akurasi

Jika Anda melihat pesan yang menunjukkan tidak ada catatan identitas federasi yang cocok yang ditemukan, url penerbit atau subjek federasi tidak cocok. URL pengeluar sertifikat yang benar dimulai dengan https://vstoken.dev.azure.com.

Anda dapat memperbaiki URL penerbit dengan mengedit dan menyimpan koneksi layanan untuk memperbarui URL penerbit. Jika Azure DevOps tidak membuat identitas, URL penerbit harus diperbarui secara manual. Untuk identitas Azure, URL penerbit diperbarui secara otomatis.

Masalah umum

Bagian berikutnya mengidentifikasi masalah umum dan menjelaskan penyebab dan resolusi.

Saya tidak memiliki izin untuk membuat perwakilan layanan di penyewa Microsoft Entra

Anda tidak dapat menggunakan alat konfigurasi koneksi layanan Azure DevOps jika Anda tidak memiliki izin yang benar. Tingkat izin Anda tidak cukup untuk menggunakan alat jika Anda tidak memiliki izin untuk membuat perwakilan layanan atau jika Anda menggunakan penyewa Microsoft Entra yang berbeda dari pengguna Azure DevOps Anda.

Anda harus memiliki izin di ID Microsoft Entra untuk membuat pendaftaran aplikasi atau memiliki peran yang sesuai (misalnya, Pengembang Aplikasi).

Anda memiliki dua opsi untuk mengatasi masalah ini:

Pesan kesalahan

Tabel berikut mengidentifikasi pesan kesalahan umum dan masalah yang mungkin menghasilkannya:

Pesan Kemungkinan masalah
tidak dapat meminta token: Dapatkan ?audience=api://AzureADTokenExchange: unsupported protocol scheme Tugas ini tidak mendukung federasi identitas beban kerja.
Identitas tidak ditemukan Tugas ini tidak mendukung federasi identitas beban kerja.
Tidak dapat mengambil token akses untuk Azure Tugas ini tidak mendukung federasi identitas beban kerja.
AADSTS700016: Aplikasi dengan pengidentifikasi '****' tidak ditemukan Identitas yang digunakan untuk koneksi layanan tidak ada lagi, mungkin telah dihapus dari koneksi layanan, atau salah dikonfigurasi. Jika Anda mengonfigurasi koneksi layanan secara manual dengan identitas yang telah dibuat sebelumnya, pastikan koneksi dikonfigurasi appID/clientId dengan benar.
AADSTS7000215: Rahasia klien tidak valid yang disediakan. Anda menggunakan koneksi layanan yang memiliki rahasia kedaluwarsa. Konversikan koneksi layanan ke federasi identitas beban kerja dan ganti rahasia yang kedaluwarsa dengan kredensial federasi.
AADSTS700024: Pernyataan klien tidak dalam rentang waktu yang valid Jika kesalahan terjadi setelah sekitar 1 jam, gunakan koneksi layanan dengan federasi identitas Beban Kerja dan Identitas Terkelola sebagai gantinya. Token Identitas Terkelola memiliki masa pakai sekitar 24 jam.
Jika kesalahan terjadi sebelum 1 jam tetapi setelah 10 menit, pindahkan perintah yang (secara implisit) meminta token akses untuk misalnya mengakses penyimpanan Azure ke awal skrip Anda. Token akses akan di-cache untuk perintah berikutnya.
AADSTS70021: Tidak ada catatan identitas federasi yang cocok yang ditemukan untuk pernyataan yang disajikan. Pengeluar Sertifikat Pernyataan: https://app.vstoken.visualstudio.com. Tidak ada kredensial federasi yang dibuat atau URL penerbit tidak benar. URL penerbit yang benar memiliki format https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Anda dapat memperbaiki URL penerbit dengan mengedit lalu menyimpan koneksi layanan. Jika Azure DevOps tidak membuat identitas, Anda harus memperbarui pengeluar sertifikat secara manual. Anda dapat menemukan pengeluar sertifikat yang benar dalam dialog edit koneksi layanan atau dalam respons (di bawah parameter otorisasi) jika Anda menggunakan REST API.
AADSTS70021: Tidak ada catatan identitas federasi yang cocok yang ditemukan untuk pernyataan yang disajikan. Pengeluar Sertifikat Pernyataan: https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Subjek Pernyataan: sc://<org>/<project>/<service-connection>. URL penerbit atau subjek federasi tidak cocok. Organisasi atau proyek Azure DevOps diganti namanya atau koneksi layanan yang dibuat secara manual diganti namanya tanpa memperbarui subjek federasi pada identitas.
AADSTS700211: Tidak ada catatan identitas federasi yang cocok yang ditemukan untuk penerbit pernyataan yang disajikan Tidak ada kredensial federasi yang dibuat atau URL penerbit tidak benar.
AADSTS700213: Tidak ada catatan identitas federasi yang cocok yang ditemukan untuk subjek pernyataan yang disajikan Tidak ada kredensial federasi yang dibuat atau subjek tidak benar.
AADSTS700223 Federasi identitas beban kerja dibatasi atau dinonaktifkan pada penyewa Microsoft Entra. Dalam skenario ini, mungkin untuk menggunakan identitas terkelola untuk federasi sebagai gantinya. Untuk informasi selengkapnya, lihat Identitas beban kerja dengan identitas terkelola.
AADSTS70025: Aplikasi klien tidak memiliki kredensial identitas federasi yang dikonfigurasi Pastikan kredensial federasi dikonfigurasi pada Pendaftaran aplikasi atau Identitas Terkelola.
Microsoft Entra menolak token yang dikeluarkan oleh Azure DevOps dengan kode kesalahan AADSTS700238 Federasi identitas beban kerja telah dibatasi pada penyewa Microsoft Entra. Penerbit untuk organisasi Anda (https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) tidak diizinkan untuk menggunakan federasi identitas beban kerja. Minta administrator penyewa atau tim administrasi Microsoft Entra Anda untuk mengizinkan federasi identitas beban kerja untuk organisasi Azure DevOps Anda.
AADSTS900382: Klien Rahasia tidak didukung di Cross Cloud Beberapa sovereign cloud memblokir federasi identitas Beban Kerja.
Gagal mendapatkan JSON Web Token (JWT) menggunakan ID klien perwakilan layanan Kredensial identitas federasi Anda salah dikonfigurasi atau penyewa Microsoft Entra memblokir OpenID Connect (OIDC).
Skrip gagal dengan kesalahan: UnrecognizedArgumentError: argumen yang tidak dikenal: --federated-token Anda menggunakan tugas AzureCLI pada agen yang memiliki versi Azure CLI yang lebih lama terinstal. Federasi identitas beban kerja memerlukan Azure CLI 2.30 atau yang lebih baru.
Gagal membuat aplikasi di ID Microsoft Entra. Kesalahan: Hak istimewa tidak mencukupkan untuk menyelesaikan operasi di Microsoft Graph. Pastikan bahwa pengguna memiliki izin untuk membuat Aplikasi Microsoft Entra. Kemampuan untuk membuat pendaftaran aplikasi dinonaktifkan di penyewa Microsoft Entra. Tetapkan pengguna yang membuat koneksi layanan peran Microsoft Entra Pengembang Aplikasi. Atau, buat koneksi layanan secara manual dengan menggunakan identitas terkelola. Untuk informasi selengkapnya, lihat Identitas beban kerja dengan identitas terkelola.

Apakah kesalahan AADSTS yang Anda lihat tidak tercantum di atas? Periksa kode kesalahan autentikasi dan otorisasi Microsoft Entra.