Azure Pipelines genel önizlemesi için iş yükü kimlik federasyonu

Azure Pipelines için İş yükü kimlik federasyonunun genel önizleme aşamasında olduğunu duyurmaktan heyecan duyuyoruz! Azure (ARM) hizmet bağlantıları, iş yükü kimlik federasyonu desteğine yönelik ek bir şemayla güncelleştirildi.

Genel önizlemeye nasıl kaydolabileceğinizi öğrenmek için sürüm notlarına göz atın.

Azure Boards

Azure Pipelines

Azure Repos

Azure Boards

Alan ve yineleme yolları için sınırlar

Sınırlar, büyük ve küresel bir hizmetin sistem durumunu ve verimliliğini korumada önemli bir rol oynar. Bu sprint'te hem alan hem de yineleme yolları için proje başına 10.000 sabit sınır sunuyoruz. Hizmetteki farklı sınırlar hakkında daha fazla bilgi edinmek için İş izleme, işlem ve proje sınırları sayfasını ziyaret edin.

Screenshots of Area and Iteration Paths.

Azure Pipelines

Azure Pipelines'da iş yükü kimlik federasyonu (genel önizleme)

Gizli dizileri ve sertifikaları Azure hizmet bağlantılarında depolamayı durdurmak istiyor musunuz? Süresi dolduğunda bu gizli dizileri döndürme konusunda endişelenmeyi bırakmak mı istiyorsunuz? Azure hizmet bağlantıları için İş Yükü Kimliği Federasyonu'nun genel önizlemesini duyuruyoruz.İş yükü kimlik federasyonu, Azure Pipelines ile Azure arasındaki kimlik doğrulamasını basitleştirmek için endüstri standardı olan Open ID Bağlan (OIDC) teknolojisini kullanır. Bu kimlik doğrulamasını kolaylaştırmak için gizli diziler yerine bir federasyon konusu kullanılır.

Bu özelliğin bir parçası olarak Azure (ARM) hizmet bağlantısı, İş yükü kimlik federasyonunun desteklenmesi için başka bir şemayla güncelleştirildi. Bu, Azure hizmet bağlantısını kullanan işlem hattı görevlerinin federasyon konusu (sc://<org>/<project>/<service connection name>) kullanarak kimlik doğrulaması yapmasına olanak tanır. Bu düzeni mevcut kimlik doğrulama düzenleri üzerinde kullanmanın başlıca avantajları şunlardır:

  • Basitleştirilmiş yönetim: Artık Azure AD'deki hizmet sorumlularından Azure DevOps'a gizli diziler oluşturamaz, kopyalayamaz ve depolayamazsınız. Azure hizmet bağlantılarının (örneğin, hizmet sorumlusu) diğer kimlik doğrulama düzenlerinde kullanılan gizli dizilerin süresi belirli bir süre (şu anda iki yıl) sonra doluyor. İşlem hatlarının süresi dolduğunda işlem hatları başarısız olur. Yeni bir gizli dizi oluşturup hizmet bağlantısını güncelleştirmeniz gerekir. İş yükü kimliği federasyonuna geçmek, bu gizli dizileri yönetme gereksinimini ortadan kaldırır ve hizmet bağlantıları oluşturma ve yönetmeye yönelik genel deneyimi geliştirir.
  • Geliştirilmiş güvenlik: İş yükü kimlik federasyonu ile Azure Pipelines ile Azure arasındaki iletişimde kalıcı bir gizli dizi yoktur. Sonuç olarak, işlem hattı işlerinde çalışan görevler üretim ortamlarınıza erişimi olan gizli dizileri sızdıramaz veya sızdıramaz. Bu genellikle müşterilerimiz için bir sorun olmuştur.

Bu özelliklerden iki şekilde yararlanabilirsiniz:

İş yükü kimlik federasyonu kullanarak yeni bir Azure hizmet bağlantısı oluşturmak için Azure hizmet bağlantısı oluşturma deneyiminde İş yükü kimlik federasyonu (otomatik) veya (el ile) seçeneğini belirlemeniz yeterlidir:

 Screenshot of resource.

Screenshot of identify federation.

Daha önce oluşturulmuş bir Azure hizmet bağlantısını dönüştürmek için bağlantıyı seçtikten sonra "Dönüştür" eylemini seçin:

 Screenshot of convert.

Azure Pipelines'a dahil edilen tüm Azure görevleri artık bu yeni düzeni destekliyor. Ancak Market'ten bir görev veya Azure'a dağıtmak için evde yetiştirilen özel bir görev kullanıyorsanız iş yükü kimlik federasyonu henüz desteklenmeyebilir. Bu gibi durumlarda, güvenliği geliştirmek için iş yükü kimlik federasyonu desteği için görevinizi güncelleştirmenizi rica ederiz. Desteklenen görevlerin tam listesi burada bulunabilir.

Bu önizlemede, yalnızca Azure hizmet bağlantıları için iş yükü kimlik federasyonu desteği sağlarız. Bu düzen, diğer hizmet bağlantısı türleriyle çalışmaz. Daha fazla ayrıntı için belgelerimize bakın.

Bu blog gönderisi daha fazla ayrıntı içerir.

İşlem hattı aracıları PAT yerine Microsoft Entra Id kullanılarak kaydedilebilir

İşlem Hattı aracısı artık aracıyı kaydetmek için Hizmet Sorumlusu veya kullanıcı kullanmak için daha fazla bağımsız değişkeni destekler. Güvenlik ayarlarında aracı havuzuna kullanılan kimliğe erişim vermelisiniz. Bu, aracıların tek seferlik kurulumu için Kişisel Erişim Belirteci (PAT) kullanma gereksinimini ortadan kaldırır.

Hizmet Sorumlusu kullanarak aracı kaydetme

Azure DevOps Services ile pipelines aracısını kaydetmek için Hizmet Sorumlusu kullanmak için aşağıdaki bağımsız değişkenleri sağlayın:

--auth 'SP' --clientid 12345678-1234-1234-abcd-1234567890ab --clientsecret --tenantid 12345678-1234-1234-abcd-1234567890ab

Aracı VM uzantısında Hizmet Sorumlusu kullanma

Azure VM'leri, VM Uzantısı kullanılarak Dağıtım Gruplarına eklenebilir. VM uzantısı, aracıyı kaydetmek için PAT yerine Hizmet Sorumlusu kullanacak şekilde güncelleştirildi:

"settings": {
  "userServicePrincipal": true     
}
"protectedSettings": {
  "clientId": "[parameters('clientId')]"      
  "clientSecret": "[parameters('clientSecret')]"      
  "tenantId": "[parameters('tenantId')]"      
}

Cihaz kodu akışını kullanarak aracıyı etkileşimli olarak kaydetme

Kurulumu kolayca tamamlamak için bir web tarayıcısı kullanabilirsiniz. Aracı yapılandırma betiğini çalıştırdığınızda, kimlik doğrulama türü için "AAD" girin. Betik, web'de nereye gidileceği ve hangi kodun girileceği de dahil olmak üzere sonraki adımlarda size yol gösterir. Kodunuzu web'e girdikten sonra, aracıyı ayarlamayı tamamlamak için konsola dönün.

 Screenshot of authentication flow.

Ortamlar için REST API'leri

Ortam, bir işlem hattından yapılan dağıtımlarla hedefleyebileceğiniz bir kaynak koleksiyonudur. Ortamlar size dağıtım geçmişi, iş öğeleri ve işlemeler için izlenebilirlik ve erişim denetimi mekanizmaları sağlar.

Ortamları program aracılığıyla oluşturmak istediğinizi bildiğimiz için REST API'leri için belgeler yayımladık.

İstenmeyen işlem hattı çalıştırmalarını engelleme

Bugün YAML işlem hattınız bir trigger bölüm belirtmezse, deposuna gönderilen tüm değişiklikler için çalışır. Bu, bir işlem hattının neden çalıştırıldığı konusunda karışıklık yaratabilir ve birçok istenmeyen çalıştırmaya yol açabilir.

Bu davranışı değiştirmenize olanak tanıyan Zımni YAML CI tetikleyicisini devre dışı bırak adlı bir kuruluş ve proje düzeyinde İşlem Hatları ayarı ekledik. Tetikleyici bölümü eksikse işlem hatlarını tetiklememeyi seçebilirsiniz.

 Screenshot of YAML CI trigger.

GitHub depolarını varsayılan olarak güvenli bir şekilde oluşturma

Son sprint'te çatallanmış GitHub depolarından PR'ler oluşturmak için merkezi bir denetim kullanıma sunulmuştur.

Bu sprint ile, yeni kuruluşlar için kuruluş düzeyinde seçeneği etkinleştiriyoruz Securely build pull requests from forked repositories . Mevcut kuruluşlar etkilenmez.

Derleme başarısız olduğunda kod kapsamı ilkesi durumunun devre dışı bırakılamadı olarak geçersiz kılınma durumu

Daha önce çekme isteğinde derlemeniz başarısız olduysa kod kapsamı ilkesi durumu 'Başarısız' olarak geçersiz kılınmıştı. Bu, derlemeyi isteğe bağlı bir denetim olarak ve kod kapsamı ilkesiniN PR'ler için gerekli denetim olarak engellenmesine neden olan bazı kişiler için engelleyiciydi.

Screenshot of PRs blocked.

Bu sprint ile derleme başarısız olursa kod kapsamı ilkesi 'Başarısız' olarak geçersiz kılınmayacak. Bu özellik tüm müşteriler için etkinleştirilir.

Screenshot of results after change.

Azure Repos

Blobsuz ve ağaçsız filtre desteği

Azure DevOps artık kopyalama/getirme sırasında iki ek filtrelemeyi destekliyor. Bunlar şunlardır: --filter=blob:none Ve --filter=tree:0 İlk seçenek (blobsuz kopya) düzenli geliştirme için en iyi şekilde kullanılırken, ikinci seçenek (ağaçsız kopya) örneğin bir derlemeyi çalıştırdıktan sonra kopyayı attığınız durumlar için daha uygundur.

Sonraki adımlar

Dekont

Bu özellikler önümüzdeki iki-üç hafta içinde kullanıma sunulacaktır.

Azure DevOps'a gidin ve bir göz atın.

Geri bildirim sağlama

Bu özellikler hakkında düşüncelerinizi duymak isteriz. Bir sorunu bildirmek veya öneri sağlamak için yardım menüsünü kullanın.

Screenshot Make a suggestion.

Stack Overflow'da topluluk tarafından öneriler ve sorularınıza yanıt alabilirsiniz.

Teşekkürler,

Silviu Andrica