Azure DevOps tümleştirmeleri için kimlik doğrulama yöntemleri

Azure DevOps Hizmetleri | Azure DevOps Server | Azure DevOps Server 2022

Bu makalede, Azure DevOps çağıran uygulamalar, betikler ve işlem hatları için tümleştirme kimlik doğrulama desenleri ele alınmaktadır. Daha güçlü güvenlik ve daha iyi uzun vadeli uyumluluk sağladığından, yeni tümleştirmeler için modern Microsoft Entra ID tabanlı kimlik doğrulamasını kullanın.

Kullanıcı oturum açma, idare denetimleri ve platform düzeyinde güvenlik duruşunu kapsayan kuruluş düzeyinde bir genel bakışa ihtiyacınız varsa bkz. Azure DevOps için kimlik doğrulama kılavuzu.

Azure DevOps Hizmetleri ile tümleşen yeni uygulamalar için Microsoft Entra ID kimlik doğrulamasını kullanın. Kişisel erişim belirteçlerini tedbirli bir şekilde ve yalnızca Microsoft Entra ID kullanılamadığında kullanın.

Önemli

Daha yüksek riskli kişisel erişim belirteçleri yerine daha güvenli Microsoft Entra belirteçleri kullanmayı düşünün. Daha fazla bilgi için bkz . PAT kullanımını azaltma. İhtiyaçlarınıza uygun kimlik doğrulama mekanizmasını seçmek için kimlik doğrulama kılavuzunu gözden geçirin.

OAuth 2.0 ve Microsoft Entra ID kimlik doğrulaması yalnızca Azure DevOps Hizmetleri için kullanılabilir, Azure DevOps Server için kullanılamaz.

Şirket içi senaryolar için .NET istemci kitaplıkları, Windows kimlik doğrulaması veya kişisel erişim belirteçleri kullanın.

Tip

Bu makalenin devamında AI kullanarak bu göreve yardımcı olabilirsiniz veya başlamak için Azure DevOps MCP Server ile yapay zeka yardımı sağlama konusuna bakın.

Yaygın kimlik doğrulama seçeneklerini karşılaştırma

Uygulamalar, betikler ve işlem hatları için en yaygın kimlik doğrulama seçeneklerini karşılaştırmak için aşağıdaki tabloyu kullanın.

Method En iyi kullanım alanları Güvenlik duruşu Kimlik bilgileri yönetimi ile çalışır Ne zaman kullanmaktan kaçının
İdare edilen kimlik Azure İşlevleri, App Service veya sanal makineler gibi Azure barındırılan otomasyon Belirteçler kısa süreli olduğundan ve kimlik yaşam döngüsünü Azure yönettiğinden, barındırılan Azure iş yükleri için en güçlü seçenek Depolamak veya döndürmek için istemci gizli dizisi yoktur; Azure kimlik ve belirteç alımını yönetir Azure DevOps Hizmetleri; kimliği Azure DevOps ekledikten sonra aynı Microsoft Entra kiracısında barındırılan iş yüklerini Azure İş yükü Azure çalışmıyor veya Azure kaynağına bağlı olmayan taşınabilir bir kimliğe ihtiyacınız var
Servis Principal Azure dışında, birden çok ortamda veya dış CI/CD sistemlerinde çalışan otomasyon Sertifika tabanlı kimlik doğrulaması veya federasyon yaklaşımları kullandığınızda ve en az ayrıcalık uyguladığınızda güçlü seçenek Federasyon akışı gizli diziyi kaldırmadığı sürece uygulama kimliğini ve herhangi bir istemci gizli dizisini veya sertifikayı yönetirsiniz Azure DevOps Hizmetleri; Microsoft Entra uygulama kimliği gerektiren uygulamalar, betikler ve hizmetler Aynı Azure barındırılan iş yükü için yönetilen kimlik kullanabilirsiniz veya araç yalnızca PAT tabanlı kimlik doğrulamasını destekler
Azure DevOps hizmet bağlantısı Azure DevOps kaynaklarına erişimi Azure Pipelines uzun süreli belirteçler yerine Microsoft Entra iş yükü kimlik federasyonu kullandığından işlem hattı otomasyonu için güçlü seçenek Azure DevOps hizmet bağlantısını yönetir ve işlem hatlarının PAT'leri değişkenlerde depolaması gerekmez Azure DevOps Hizmetleri; kuruluşlar genelinde depolara, akışlara veya REST API'lerine erişen işlem hatları Senaryo Azure Pipelines
Kişisel erişim belirteci (PAT) Kısa süreli kişisel betikler, tek seferlik test veya henüz Microsoft Entra tabanlı kimlik doğrulaması kullanabilen eski senaryolar Belirteç, bir kullanıcı hesabına bağlı uzun ömürlü bir taşıyıcı gizli dizi olduğundan, yaygın tercihlerin en yüksek riski Belirteci el ile oluşturmanız, depolamanız, döndürmeniz ve iptal etmeniz gerekir Azure DevOps Hizmetleri ve Azure DevOps Server; CLI, REST çağrıları ve PAT'leri destekleyen eski tümleştirmeler Tümleştirme bir üretim hizmeti, paylaşılan otomasyon veya hizmet sorumlusu, yönetilen kimlik veya hizmet bağlantısının kullanılabilir olduğu herhangi bir senaryodur

Hızlı öneriler

  • İş yükü Azure üzerinde çalıştığında yönetilen kimliği seçin; Azure kimlik yaşam döngüsüne sahip olabilir.
  • Bir uygulama kimliğine ihtiyacınız olduğunda, ancak iş yükü Azure üzerinde çalışmadığında veya ortamlar arasında hareket etmesi gerektiğinde bir hizmet sorumlusu seçin.
  • Azure Pipelines pat olmadan Azure DevOps kaynaklara erişmesi gerektiğinde bir Azure DevOps hizmet bağlantısı seçin.
  • Yalnızca kişisel, geçici, eski veya daha güvenli seçeneklerin uygulanmadığı Azure DevOps Server senaryolar için pat seçin.

Senaryoya göre kimlik doğrulama yöntemleri

Uygulama türünüz ve gereksinimlerinize göre uygun kimlik doğrulama yöntemini seçin.

Uygulama türü Açıklama Örnek Önerilen yöntem Kod örnekleri
Web/masaüstü uygulamaları Geçerli çerçeveleri kullanan etkileşimli uygulamalar React uygulaması, .NET masaüstü uygulaması Microsoft Authentication Library (MSAL) ile Microsoft Entra OAuth Yönetilen istemci konsol uygulaması
Hizmet/arka plan uygulamaları Kullanıcı etkileşimi olmadan çalışan uygulamalar Azure İşlevleri, arka plan hizmetleri Hizmet sorumluları ve yönetilen kimlikler Hizmet sorumluları
Eski istemci uygulamaları İstemci kitaplıklarını kullanan mevcut uygulamalar Azure DevOps .NET kitaplıkları olan konsol uygulamaları OAuth ile .NET istemci kitaplıkları Client kitaplık konsol uygulaması
Headless/CLI uygulamaları Etkileşimsiz komut satırı araçları Betikler, otomasyon araçları oluşturma Cihaz yetkilendirmesi verme akışı Cihaz profili
Azure DevOps uzantıları Azure DevOps içinde çalışan uzantılar Özel dashboard araçları ve iş öğesi formları Azure DevOps web uzantısı SDK Pano pencere öğesi ekleme
Azure DevOps Server uygulamaları Şirket içi Azure DevOps Server tümleştirmeleri Özel sunucu uzantıları .NET istemci kitaplıkları veya Windows Kimlik Doğrulaması Client kitaplık konsol uygulaması
Kişisel/geçici betikler Kişisel kullanım için hızlı betikler PowerShell betikleri, curl komutları Kişisel erişim belirteçleri REST API'leri kullanmaya başlama
Azure Pipelines İşlem hattı üzerinden Azure DevOps'a erişim Farklı kuruluşlardan eserleri kullanma Azure DevOps hizmet bağlantısı Azure DevOps Microsoft Entra hizmet bağlantısı ekle

Kullanmaya başlama önerileri

Aşağıdaki bölümlerde, farklı senaryolara başlamaya yönelik öneriler sağlanır.

Yeni uygulamalar

Mevcut uygulamalar

  • Kişisel erişim belirteçlerinden Microsoft Entra ID kimlik doğrulamasına geçişi planlayın.
  • Azure DevOps iyileştirmeleri ve kişisel erişim belirteçlerinin kullanımını azaltmak için kimlik doğrulama geçiş zaman çizelgesini dikkate alın.
  • Güvenlikle ilgili en iyi yöntemlere karşı geçerli kimlik doğrulama yaklaşımınızı gözden geçirin.

Azure DevOps Server

  • Mümkün olduğunda Windows Kimlik Doğrulaması ile .NET istemci kitaplıklarını kullanın.
  • Kabul edilebilir olduğunda Azure DevOps Server senaryolar için kişisel erişim belirteçlerini kullanın.
  • Modern kimlik doğrulamasından yararlanmak için gelecekteki Azure DevOps Hizmetleri geçişini planlayın.

Sıkça Sorulan Sorular (SSS)

Microsoft Entra ID OAuth veya kişisel erişim belirteçleri mi kullanmalıyım?

Aşağıdaki senaryolarda Microsoft Entra ID OAuth kullanın:

  • Yeni uygulamalar ve tümleştirmeler.
  • Sağlam güvenlik gerektiren üretim iş yükleri.
  • Kurumsal kimlik tümleştirmesi gerektiren uygulamalar.
  • Uyumluluk gereksinimleri olan uzun vadeli projeler.

Kişisel erişim belirteçlerini yalnızca aşağıdaki senaryolarda kullanın:

  • Kişisel skriptler ve geçici görevler.
  • Geçiş planlaması sırasında eski yazılımlar.
  • Azure DevOps Server'da modern kimlik doğrulamanın mevcut olmadığı senaryolar.

Kimlik doğrulaması için hizmet sorumlularını mı yoksa kullanıcı temsilcisini mi kullanmalıyım?

Aşağıdaki senaryolarda hizmet sorumlularını veya yönetilen kimlikleri kullanın:

  • Bağımsız olarak çalışan uygulamalar oluşturun (arka plan hizmetleri, otomasyon).
  • Kullanıcı etkileşimi gerektirmeyen uygulamalar oluşturun.
  • Hizmet-hizmet iletişimi uygulama.
  • Sürekli tümleştirme ve sürekli teslim (CI/CD) işlem hatları veya otomatik iş akışları oluşturun.

Aşağıdaki senaryolarda kullanıcı temsilcisini (kullanıcı onayıyla OAuth) kullanın:

  • İnsan kullanıcılar için hareket eden uygulamalar oluşturun.
  • Kullanıcıların kendi kimlik bilgileriyle oturum açabileceği etkileşimli uygulamalar oluşturun.
  • Kullanıcıya özgü izinler gerektiren özellikleri uygulayın.
  • Kullanıcıların bireysel erişim haklarına saygı gösteren uygulamalar oluşturun.

Hem Azure DevOps Hizmetleri hem de Azure DevOps Server ile nasıl kimlik doğrulaması yapabilirim?

Her hizmet için ayrı kimlik doğrulama yolları oluşturun:

  • Azure DevOps Services: Microsoft Entra ID OAuth kullanın.
  • Azure DevOps Server: Windows Kimlik Doğrulaması veya kişisel erişim belirteçleriyle .NET istemci kitaplıklarını kullanın.

requestContext Hizmet türünü algılamak ve uygun kimlik doğrulama yöntemini uygulamak için yöntemini kullanın.

Hizmet hesabım Azure DevOps API'lere neden erişemiyor?

Hizmet hesabı erişimini etkileyen bazı yaygın sorunlar şunlardır:

  • Hizmet hesabı "gerçekleştirilmiş" değil: Doğru oturum açma yöntemini kullanın. Hizmet hesaplarının etkileşimli oturum açma izinlerine veya uygun Microsoft Entra ID kaydına ihtiyacı vardır.
  • Yetersiz izinler: Hizmet hesabının uygun Azure DevOps izinlerine sahip olduğundan emin olun.
  • Kimlik doğrulama yöntemi: Hizmet hesabı olarak kimlik doğrulaması yapmak yerine hizmet sorumlularını veya yönetilen kimlikleri kullanın.

Kişisel erişim belirteçlerinden modern kimlik doğrulamasına nasıl geçiş yapabilirim?

Şu adımları izleyin:

  1. Uygulamalarınızda geçerli kişisel erişim belirteci kullanımını belirleyin.

  2. Alternatif bir kimlik doğrulama yöntemi seçin:

    • Kullanıcıya devredilen senaryolar için Microsoft Entra ID OAuth
    • Hizmet-hizmet senaryoları için hizmet sorumluları
    • Azure DevOps hizmet bağlantısı
  3. Azure DevOps geçiş kimlik doğrulama örneklerini kullanarak kimlik doğrulama kodunu güncelleştirin.

  4. Kişisel erişim belirteci bağımlılıklarını kaldırmadan önce değişiklikleri kapsamlı bir şekilde test edin.

  5. Yeni kimlik doğrulama yöntemini izleyin ve doğrulayın.

Kimlik doğrulama belirteçlerindeki taleplerin kodunu neden çözmemeli veya okumamalıyım?

Kimlik doğrulama belirteçleri yalnızca çağıranın kim olduğunu ve ne yapma yetkisine sahip olduğunu kanıtlamak için vardır. Bunlar kararlı bir veri arabirimi veya güvenebileceğiniz bir şema değildir.

Belirteç talepleri hiçbir zaman genel olarak belgelenmez ve Azure DevOps herhangi bir zamanda bildirimde bulunmadan değiştirme, yeniden adlandırma, kaldırma veya şifreleme hakkını saklıdır. 2025 yazından itibaren Azure DevOps kimlik doğrulama belirteçlerini daha da şifreliyor olacak, bu da istemcilerin belirteç yüklerini okuyamaması anlamına gelir. Hak taleplerini çıkarmak için belirteçlerin kodunu çözen herhangi bir uygulama işlevsiz hale gelir.

Belirteç taleplerini okumak yerine şu uygulamaları izleyin:

  • Belirteçleri opak olarak değerlendirin, yetkilendirme üst bilgilerinde geçirin, ancak kodunu çözmeyin veya incelemeyin.
  • Desteklenen REST API'lerini kullanın — kararlı sözleşmeler ve belgeler sağlayan Azure DevOps REST API kullanıcı veya kuruluş verilerini alın.
  • Herhangi bir talebin değişebileceğini varsayın . Belirteç içeriğini değerleri okumak için ayrıştırıyorsanız, bu mantığı bunun yerine bir API çağrısına yerleştirin.

Bu değişiklikler, belirteçleri opak olarak ele alan uygulamaları etkilemez.

Uygulama yordamları

Senaryonuz için kimlik doğrulama yöntemini seçtikten sonra uygulama adımlarını tamamlayın:

Kimlik doğrulama yöntemi seçmek için yapay zeka kullanma

Azure DevOps MCP Server aracı modunda yapay zeka aracınıza bağlarsanız, senaryonuz için kimlik doğrulama önerileri almak için doğal dil istemlerini kullanabilirsiniz.

Görev Örnek talimat
Arka plan hizmeti için yetkilendirme seçme Which authentication method should I use for a background Azure Function that needs to access Azure DevOps APIs?
Kimlik doğrulama seçeneklerini karşılaştırma Help me choose between service principals, managed identities, and personal access tokens for my Azure DevOps integration
Web uygulaması için kimlik doğrulaması I'm building a React web app that needs to access Azure DevOps on behalf of signed-in users — what authentication approach should I use?
PAT'lerden geçiş Help me plan a migration from personal access tokens to Microsoft Entra ID authentication for my Azure DevOps integrations
CI/CD için kimlik doğrulaması What's the most secure way to authenticate Azure DevOps REST API calls from a GitHub Actions workflow?
Kimlik doğrulama hatalarını giderme I'm getting 401 errors when calling the Azure DevOps REST API with my token — help me diagnose the issue

Uyarı

Aracı modu ve MCP Sunucusu doğal dil kullandığından, bu istemleri ayarlayabilir veya sonuçları iyileştirmek için takip soruları sorabilirsiniz.