Aracılığıyla paylaş


Azure Resource Manager iş yükü kimlik hizmeti bağlantısı sorunlarını giderme

İş yükü kimlik hizmeti bağlantılarıyla ilgili yaygın sorunların hatalarını ayıklama konusunda yardım alın. Gerekirse el ile hizmet bağlantısı oluşturmayı da öğrenirsiniz.

Sorun giderme denetim listesi

İş yükü kimlik hizmeti bağlantılarıyla ilgili sorunları gidermek için aşağıdaki denetim listesini kullanın:

  • İş yükü kimliğini desteklediklerinden emin olmak için işlem hattı görevlerini gözden geçirin.
  • İş yükü kimlik federasyonunun kiracı için etkin olduğunu doğrulayın.
  • Doğruluk için veren URL'sini ve federasyon konusunu denetleyin.

Aşağıdaki bölümlerde sorunları ve bunların nasıl çözüleceğini açıklanmaktadır.

İşlem hattı görevlerini gözden geçirme

Tüm işlem hatları görevleri iş yükü kimliğini desteklemez. Özellikle, görevlerde yalnızca Azure Resource Manager hizmet bağlantısı özellikleri iş yükü kimlik federasyonu kullanır. Aşağıdaki tabloda Azure DevOps'a dahil edilen görevler için iş yükü kimliği federasyon desteği listelenmiştir. Market’ten yüklenen görevler için destek almak üzere uzantı yayımcısıyla iletişime geçin.

Görev İş yükü kimliği federasyon desteği
AutomatedAnalysis@0 Y
AzureAppServiceManage@0 Y
AzureAppServiceSettings@1 Y
AzureCLI@1 Y
AzureCLI@2 Y
AzureCloudPowerShellDeployment@1 AzureCloudPowerShellDeployment@2 kullanma
AzureCloudPowerShellDeployment@2 Y
AzureContainerApps@0 Y
AzureContainerApps@1 Y
AzureFileCopy@1 AzureFileCopy@6 kullanma
AzureFileCopy@2 AzureFileCopy@6 kullanma
AzureFileCopy@3 AzureFileCopy@6 kullanma
AzureFileCopy@4 AzureFileCopy@6 kullanma
AzureFileCopy@5 AzureFileCopy@6 kullanma
AzureFileCopy@6 Y
AzureFunctionApp@1 Y
AzureFunctionApp@2 Y
AzureFunctionAppContainer@1 Y
AzureFunctionOnKubernetes@0 AzureFunctionOnKubernetes@1 kullanma
AzureFunctionOnKubernetes@1 Y
AzureIoTEdge@2 Y
AzureKeyVault@1 Y
AzureKeyVault@2 Y
AzureMonitor@0 AzureMonitor@1 kullanma
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 Azure hizmet bağlantısı: Y
Docker Kayıt Defteri hizmeti bağlantısı: N
Docker@2 Y
DockerCompose@0 Y
DockerCompose@1 Y
HelmDeploy@0 Azure hizmet bağlantısı: Y
HelmDeploy@1 Azure hizmet bağlantısı: Y
InvokeRESTAPI@1 Y
JavaToolInstaller@0 Y
JenkinsDownloadArtifacts@1 Y
Kubernetes@0 Kubernetes@1 kullanma
Kubernetes@1 Y
KubernetesManifest@0 KubernetesManifest@1 kullanma
KubernetesManifest@1 Y
Notation@0 Y
PackerBuild@0 PackerBuild@1 kullanma
PackerBuild@1 Y
PublishToAzureServiceBus@1 Azure hizmet bağlantısıyla PublishToAzureServiceBus@2 kullanma
PublishToAzureServiceBus@2 Y
ServiceFabricComposeDeploy@0 N
ServiceFabricDeploy@1 N
SqlAzureDacpacDeployment@1 Y

İş yükü kimlik federasyonun etkin olduğunu doğrulama

AADSTS700223 veya AADSTS700238 hata iletileri görürseniz, iş yükü kimlik federasyonu Microsoft Entra kiracınızda devre dışı bırakıldı.

Federasyon kimlik bilgilerini engelleyen herhangi bir Microsoft Entra politikası olmadığını doğrulayın.

Doğruluk için veren URL'sini denetleyin

Eşleşen federasyon kimliği kaydının bulunamadığını belirten bir ileti görürseniz, veren URL'si veya federasyon konusu eşleşmez. Doğru yayıncı URL’si https://vstoken.dev.azure.com ile başlar.

Yayıncı URL’sini güncellemek için hizmet bağlantısını düzenleyip kaydederek yayıncı URL'sini düzeltebilirsiniz. Azure DevOps kimliği oluşturmadıysa yayıncı URL’sini kendinizin güncelleştirilmesi gerekir. Azure kimlikleri için, yayıncı URL’si otomatik olarak güncelleştirilir.

Genel sorunlar

Sonraki bölümlerde yaygın sorunlar tanımlanıp nedenleri ve çözümleri açıklanmaktadır.

Microsoft Entra kiracısında bir hizmet sorumlusu oluşturma iznim yok

Doğru izinlere sahip değilseniz Azure DevOps hizmet bağlantısı yapılandırma aracını kullanamazsınız. Hizmet sorumluları oluşturma izniniz yoksa veya Azure DevOps kullanıcınızdan farklı bir Microsoft Entra kiracısı kullanıyorsanız izin düzeyiniz aracı kullanmak için yetersizdir.

Uygulama kayıtları oluşturmak için Microsoft Entra ID’de izinleriniz olmalı veya uygun bir role sahip olmalısınız (örneğin Uygulama Geliştiricisi).

Sorunu çözmek için iki seçeneğiniz vardır:

Azure Container Registry’nin bir örneğini belirten bir kapsayıcı kaynağı kullanıyorum

Azure Container Registry'den çekilen kapsayıcı kaynakları henüz bir iş yükü kimlik federasyonu desteklemez.

Hata iletileri

Aşağıdaki tabloda, yaygın hata iletileri ve bunları oluşturabilecek sorunlar tanımlanmıştır:

İleti Olası sorun
belirteç isteyemiyor: Al ?audience=api://AzureADTokenExchange: unsupported protocol scheme Görev iş yükü kimlik federasyonu desteklemez.
Kimlik bulunamadı Görev iş yükü kimlik federasyonu desteklemez.
Azure için erişim belirteci getirilemedi Görev iş yükü kimlik federasyonu desteklemez.
AADSTS700016: '****' tanımlayıcısı olan uygulama bulunamadı Hizmet bağlantısı için kullanılan kimlik artık yok veya hizmet bağlantısından kaldırılmış olabilir. Bu senaryoda yeni bir hizmet bağlantısı oluşturun.
AADSTS7000215: Geçersiz istemci gizli dizisi sağlandı. Süresi dolmuş bir gizli diziye sahip bir hizmet bağlantısı kullanıyorsunuz. Hizmet bağlantısını iş yükü kimliği federasyonuna dönüştürün ve süresi dolan gizli diziyi federasyon kimlik bilgileriyle değiştirin.
AADSTS700024: İstemci onaylama işlemi geçerli zaman aralığı içinde değil Hata yaklaşık 1 saat sonra oluşursa, bunun yerine İş yükü kimlik federasyonu ve Yönetilen Kimlik ile bir hizmet bağlantısı kullanın. Yönetilen Kimlik belirteçlerinin ömrü yaklaşık 24 saattir.
Hata 1 saatten önce ancak 10 dakika sonra oluşursa, (örtük olarak) erişim belirteci isteyen komutları (örtük olarak) azure depolamaya betiğinizin başına taşıyın. Erişim belirteci sonraki komutlar için önbelleğe alınır.
AADSTS70021: Sunulan onay için eşleşen birleştirilmiş kimlik kaydı bulunamadı. Onay Veren: https://app.vstoken.visualstudio.com. Veren URL'si doğru değil. Doğru veren URL'si biçimindedir https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Bir hizmet bağlantısını düzenleyip kaydederek veren URL'sini düzeltebilirsiniz. Azure DevOps kimliğinizi oluşturmadıysa, vereni el ile güncelleştirmeniz gerekir. REST API kullanıyorsanız, doğru vereni hizmet bağlantısının düzenleme iletişim kutusunda veya yanıtta (yetkilendirme parametreleri altında) bulabilirsiniz.
AADSTS70021: Sunulan onay için eşleşen birleştirilmiş kimlik kaydı bulunamadı. Onay Veren: https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Onay Konusu: sc://<org>/<project>/<service-connection>. Veren URL'si veya federasyon konusu eşleşmiyor. Azure DevOps kuruluşu veya projesi yeniden adlandırıldı veya kimlikte federasyon konusu güncelleştirilmeden el ile oluşturulan bir hizmet bağlantısı yeniden adlandırıldı.
AADSTS700211: Sunulan onay veren için eşleşen federasyon kimliği kaydı bulunamadı Veren URL'si, federasyon konusu veya her ikisi de bir Microsoft Entra ilkesi tarafından reddedilir.
AADSTS700223 İş yükü kimliği federasyonu, Microsoft Entra kiracısı üzerinde kısıtlanmış veya devre dışı bırakılmış. Bu senaryoda genellikle federasyon için yönetilen bir kimlik kullanmak mümkündür. Daha fazla bilgi için yönetilen kimlik ile İş yükü kimliği bölümüne bakın.
Microsoft Entra, Azure DevOps tarafından verilen belirteci hata koduyla reddetti AADSTS700238 İş yükü kimlik federasyonu Microsoft Entra kiracısı üzerinde kısıtlandı. Kuruluşunuzun (https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) verenin iş yükü kimlik federasyonu kullanmasına izin verilmiyor. Microsoft Entra kiracı yöneticinizden veya yönetim ekibinizden Azure DevOps kuruluşunuz için iş yükü kimlik federasyonuna izin vermelerini isteyin.
Hizmet sorumlusu istemci kimliği kullanılarak JSON Web Belirteci (JWT) alınamadı Federasyon kimliği kimlik bilgileriniz yanlış yapılandırılmış veya Microsoft Entra kiracısı OpenID Connect 'i (OIDC) engelliyor.
Betik şu hatayla başarısız oldu: TanınmayanArgumentError: tanınmayan bağımsız değişkenler: --federated-token Azure CLI'nin önceki bir sürümünün yüklü olduğu bir aracıda AzureCLI görevi kullanıyorsunuz. İş yükü kimliği federasyonu için Azure CLI 2.30 veya üzeri gerekir.
Microsoft Entra Kimliği'nde uygulama oluşturulamadı. Hata: Microsoft Graph'ta işlemi tamamlamak için yeterli ayrıcalık yok. Kullanıcının Microsoft Entra Uygulaması oluşturma izinlerine sahip olduğundan emin olun. Uygulama kayıtları oluşturma özelliği Microsoft Entra kiracısında devre dışı bırakıldı. Hizmet bağlantısını oluşturan kullanıcıya Uygulama Geliştirici Microsoft Entra rolünü atayın. Alternatif olarak, yönetilen bir kimlik kullanarak hizmet bağlantısını el ile oluşturun. Daha fazla bilgi için yönetilen kimlik ile İş yükü kimliği bölümüne bakın.