Güvenlik, kimlik doğrulaması ve yetkilendirme hakkında
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure DevOps, özelliklere, işlevlere ve verilere yalnızca yetkili kullanıcıların erişebilmesini sağlamak için çeşitli güvenlik kavramlarını devreye alır. Kullanıcılar, güvenlik kimlik bilgilerinin kimlik doğrulaması ve belirli özelliklere veya işlevlere erişmek için hesap yetkilendirmeleri aracılığıyla Azure DevOps'a erişim elde eder.
Bu makale, İzinleri, erişimi ve güvenlik gruplarını kullanmaya başlama bölümünde sağlanan bilgileri oluşturur. Yöneticiler Azure DevOps'un güvenliğini sağlamak için kullanılan hesap türlerini, kimlik doğrulama yöntemlerini, yetkilendirme yöntemlerini ve ilkeleri anlama avantajından yararlanabilir.
Hesap türleri
- Kullanıcılar
- Kuruluş sahibi
- Hizmet hesapları
- Hizmet sorumluları veya yönetilen kimlikler
- İş aracıları
Kimlik Doğrulaması
- Kullanıcı kimlik bilgileri
- Windows kimlik doğrulması
- İki öğeli kimlik doğrulaması (2FA)
- SSH anahtarı kimlik doğrulaması
- Kişisel erişim belirteçleri
- Oauth yapılandırması
- Active Directory kimlik doğrulama kitaplığı
Yetkilendirme
- Güvenlik grubu üyeliği
- Rol tabanlı erişim denetimi
- Erişim düzeyleri
- Özellik bayrakları
- Güvenlik ad alanları ve izinleri
İlkeler
- Gizlilik ilkesi URL'si
- Uygulama bağlantısı ve güvenlik ilkeleri
- Kullanıcı ilkeleri
- Git deposu ve dal ilkeleri
Hesap türleri
- Kullanıcılar
- Hizmet hesapları
- Hizmet sorumluları veya yönetilen kimlikler
- İş aracıları
Kimlik Doğrulaması
- Kullanıcı kimlik bilgileri
- Windows kimlik doğrulması
- İki öğeli kimlik doğrulaması (2FA)
- SSH anahtarı kimlik doğrulaması
- Kişisel erişim belirteçleri
- Oauth yapılandırması
- Active Directory kimlik doğrulama kitaplığı
Yetkilendirme
- Güvenlik grubu üyeliği
- Rol tabanlı izinler
- Erişim düzeyleri
- Özellik bayrakları
- Güvenlik ad alanları ve izinleri
İlkeler
- Git deposu ve dal ilkeleri
Önemli
Azure DevOps Alternatif Kimlik Bilgileri kimlik doğrulamayı desteklemez. Alternatif Kimlik Bilgileri kullanmaya devam ediyorsanız daha güvenli bir kimlik doğrulama yöntemine geçmenizi kesinlikle öneririz.
Hem Azure DevOps Services (bulut) hem de Azure DevOps Server (şirket içi) planlamadan dağıtıma kadar yazılım geliştirmeyi destekler. Projeleriniz için güvenilir ve küresel olarak kullanılabilir bir hizmet sağlamak için Microsoft Azure'ın Hizmet Olarak Platform altyapısı ve Azure SQL veritabanları dahil olmak üzere hizmetlerinden yararlanırlar.
Microsoft'un Azure DevOps Services projelerinizin güvenli, kullanılabilir, güvenli ve özel olmasını nasıl sağladığı hakkında daha fazla bilgi için bkz. Azure DevOps Services veri korumasına genel bakış.
Hesaplar
Birincil odak insan kullanıcı hesapları olsa da, Azure DevOps farklı işlemler için diğer çeşitli hesap türlerini de destekler. Bunlar aşağıdaki hesap türlerini içerir:
- Kuruluş sahibi: Azure DevOps Services kuruluşunun veya atanan sahibin oluşturucusu. Kuruluşunuzun sahibini bulmak için bkz . Kuruluş sahibini arama.
- Hizmet hesapları: Aracı Havuzu Hizmeti, PipelinesSDK gibi belirli bir hizmeti desteklemek için kullanılan iç Azure DevOps kuruluşu. Hizmet hesaplarının açıklamaları için bkz . Güvenlik grupları, hizmet hesapları ve izinler.
- Hizmet sorumluları veya yönetilen kimlikler: Üçüncü taraf bir uygulama adına eylemler gerçekleştirmek için kuruluşunuza eklenen Microsoft Entra uygulamaları veya yönetilen kimlikler . Bazı hizmet sorumluları, iç işlemleri desteklemek için iç Azure DevOps kuruluşuna başvurur.
- İş aracıları: Belirli işleri düzenli bir zamanlamaya göre çalıştırmak için kullanılan iç hesaplar.
- Üçüncü taraf hesapları: Web kancalarını, hizmet bağlantılarını veya diğer üçüncü taraf uygulamalarını desteklemek için erişim gerektiren hesaplar.
Güvenlikle ilgili makalelerimiz boyunca "kullanıcılar", Kullanıcı Merkezi'ne eklenen ve insan kullanıcıları ve hizmet sorumlularını içerebilen tüm kimlikleri ifade eder.
- Hizmet hesapları: Aracı Havuzu Hizmeti, PipelinesSDK gibi belirli bir hizmeti desteklemek için kullanılan iç Azure DevOps kuruluşu. Hizmet hesaplarının açıklamaları için bkz . Güvenlik grupları, hizmet hesapları ve izinler.
- Hizmet sorumluları veya yönetilen kimlikler: Üçüncü taraf bir uygulama adına eylemler gerçekleştirmek için kuruluşunuza eklenen Microsoft Entra uygulamaları veya yönetilen kimlikler. Bazı hizmet sorumluları, iç işlemleri desteklemek için iç Azure DevOps kuruluşuna başvurur.
- İş aracıları: Belirli işleri düzenli bir zamanlamaya göre çalıştırmak için kullanılan iç hesaplar.
- Üçüncü taraf hesapları: Web kancalarını, hizmet bağlantılarını veya diğer üçüncü taraf uygulamalarını desteklemek için erişim gerektiren hesaplar.
Hesapları yönetmenin en etkili yolu, hesapları güvenlik gruplarına eklemektir.
Not
Kuruluş sahibine ve Proje Koleksiyonu Yöneticileri grubunun üyelerine neredeyse tüm özelliklere ve işlevlere tam erişim verilir.
Kimlik Doğrulaması
Kimlik doğrulaması, Azure DevOps'ta oturum açma sırasında sağlanan kimlik bilgilerine göre bir hesabın kimliğini doğrular. Bu sistemler aşağıdaki diğer sistemlerin güvenlik özellikleriyle tümleşir ve bu özelliklere güvenir:
- Microsoft Entra Kimlik
- Microsoft hesabı (MSA)
- Active Directory (AD)
Microsoft Entra Id ve MSA, bulut kimlik doğrulamayı destekler. Büyük bir kullanıcı grubunu yönetmek için Microsoft Entra Id kullanmanızı öneririz. Azure DevOps kuruluşunuza erişen küçük bir kullanıcı tabanı için Microsoft hesapları yeterlidir. Daha fazla bilgi için bkz . Microsoft Entra Id ile Azure DevOps'a erişme hakkında.
Şirket içi dağıtımlarda, büyük bir kullanıcı grubunu yönetmek için AD önerilir. Daha fazla bilgi için bkz . Şirket içi dağıtımlarda kullanılacak grupları ayarlama.
Kimlik doğrulama yöntemleri, diğer hizmetler ve uygulamalarla tümleştirme
Diğer uygulamalar ve hizmetler Azure DevOps ile tümleştirebilir. Kullanıcı kimlik bilgilerini tekrar tekrar istemeden hesabınıza erişmek için uygulamalar aşağıdaki kimlik doğrulama yöntemlerini kullanabilir:
Sizin yerinize belirteç oluşturmak için kişisel erişim belirteçleri (PAT):
- Derlemeler ve çalışma öğeleri gibi belirli kaynaklara veya etkinliklere erişme
- Temel kimlik bilgileri olarak kullanıcı adı ile parola gerektiren ve çok faktörlü kimlik doğrulaması gibi Microsoft hesabı ve Microsoft Entra özelliklerini desteklemeyen Xcode ve NuGet gibi istemciler
- Azure DevOps REST API’lerine erişme
REST API'lerine erişmek için kullanıcılar adına belirteçler oluşturmak için Azure DevOps OAuth. Hesaplar ve Profiller API’leri yalnızca OAuth’u destekler.
Windows için Git çalıştıran Linux, macOS veya Windows kullanırken ve HTTPS kimlik doğrulaması için Git kimlik bilgileri yöneticilerini veya PAT'leri kullanamıyorsanız, kendiniz için şifreleme anahtarları oluşturmak için SSH kimlik doğrulaması.
Bir uygulama veya hizmet adına Microsoft Entra belirteçleri oluşturmak için hizmet sorumluları veya yönetilen kimlikler , genellikle Azure DevOps kaynaklarına erişmesi gereken iş akışlarını otomatikleştirir. Geleneksel olarak hizmet hesabı ve PAT tarafından gerçekleştirilen eylemlerin çoğu hizmet sorumlusu veya yönetilen kimlik kullanılarak gerçekleştirilebilir.
Varsayılan olarak hesabınız veya koleksiyonunuz tüm kimlik doğrulama yöntemlerine erişim sağlar. Her yöntemi özel olarak kısıtlayarak erişimi sınırlayabilirsiniz. Bir kimlik doğrulama yöntemine erişimi reddettiğinizde, hiçbir uygulama hesabınıza erişmek için bu yöntemi kullanamaz. Daha önce erişimi olan herhangi bir uygulama kimlik doğrulaması hatası alır ve hesabınıza erişemez.
Daha fazla bilgi için aşağıdaki makaleleri inceleyin:
- Azure DevOps için kimlik bilgisi depolama.
- Kimlik doğrulaması kılavuzu.
Yetkilendirme
Yetkilendirme, bağlanmaya çalışan kimliğin bir hizmete, özelliğe, işleve, nesneye veya yönteme erişmek için gerekli izinlere sahip olduğunu doğrular. Yetkilendirme her zaman başarılı kimlik doğrulaması sonrasında gerçekleşir. Bağlantının kimliği doğrulanmamışsa, herhangi bir yetkilendirme denetimi gerçekleştirilmeden önce bağlantı başarısız olur. Kimlik doğrulaması başarılı olsa bile, kullanıcı veya grup yetkilendirmesi yoksa belirli bir eyleme izin verilmeyebilir.
Yetkilendirme, kullanıcıya doğrudan veya bir güvenlik grubu veya güvenlik rolü üyeliği aracılığıyla atanan izinlere bağlıdır. Erişim düzeyleri ve özellik bayrakları da belirli özelliklere erişimi yönetebilir. Bu yetkilendirme yöntemleri hakkında daha fazla bilgi için bkz . İzinleri, erişimi ve güvenlik gruplarını kullanmaya başlama.
Güvenlik ad alanları ve izinleri
Güvenlik ad alanları, kaynaklarda belirli eylemler için kullanıcı erişim düzeylerini belirler.
- İş öğeleri veya Git depoları gibi her kaynak ailesinin benzersiz bir ad alanı vardır.
- Her ad alanı sıfır veya daha fazla erişim denetimi listesi (ACL) içerir.
- Her ACL bir belirteç, devralma bayrağı ve erişim denetimi girdileri (ACL) içerir.
- Her ACE'nin bir kimlik tanımlayıcısı, izin verilen izinleri bit maskesi ve reddedilen izinler bit maskesi vardır.
Daha fazla bilgi için bkz . Güvenlik ad alanları ve izin başvurusu.
Güvenlik ilkeleri
Kuruluşunuzun ve kodunuzun güvenliğini sağlamak için çeşitli ilkeler ayarlayabilirsiniz. Özellikle aşağıdaki ilkeleri etkinleştirebilir veya devre dışı bırakabilirsiniz:
Genel
- Gizlilik ilkesi URL'si: Hem iç hem de dış konuk verilerinin gizliliğini nasıl işlediğinizi açıklayan özel belgenize bağlanan bir URL belirtir. Daha fazla bilgi için bkz . Kuruluşunuz için gizlilik ilkesi URL'si ekleme.
Uygulama bağlantısı ve güvenlik ilkeleri
Yeni kuruluş oluşturmayı yalnızca istenen kullanıcılarla kısıtlamak için Microsoft Entra kiracı ilkesini kullanın. Bu ilke varsayılan olarak kapalıdır ve yalnızca kuruluş Microsoft Entra Id'ye bağlı olduğunda geçerlidir. Daha fazla bilgi için bkz . Kuruluş oluşturmayı kısıtlama.
Aşağıdaki ilkeler, kuruluşunuzdaki kullanıcılara ve uygulamalara verilen erişimi belirler:
- OAuth aracılığıyla Microsoft dışı uygulama erişimi.
- SSH kimlik doğrulaması erişimi.
- Ortak projelere izin ver: Kullanıcılar etkinleştirildiğinde, projenin üye olmayanlarına ve salt okunur oturum açmamış kullanıcılara projenin yapıtlarına ve hizmetlerine sınırlı erişim sağlayan ortak projeler oluşturabilir. Daha fazla bilgi için bkz . Projenizi genel kullanıma açma.
- Denetim olaylarını günlüğe kaydetme - Kuruluşunuz için Denetim olaylarını ve akışlarını izleme özelliğini açın.
- Microsoft Entra Koşullu Erişim İlkesi (CAP) doğrulamasını etkinleştirin.
Kullanıcı ilkeleri
- Dış konuk erişimi (Yalnızca kuruluş Microsoft Entra Id'ye bağlı olduğunda geçerlidir.): Etkinleştirildiğinde, kullanıcılar sayfasından kiracının Microsoft Entra Id'sine üye olmayan kullanıcıların e-posta hesaplarına davetler gönderilebilir. Daha fazla bilgi için bkz . Kuruluşunuza dış kullanıcılar ekleme.
- Ekip ve proje yöneticilerinin yeni kullanıcıları davet etmelerine izin ver: Yalnızca kuruluş Microsoft Entra Kimliği'ne bağlı olduğunda geçerlidir. Etkinleştirildiğinde, ekip ve proje yöneticileri Kullanıcılar sayfası aracılığıyla kullanıcı ekleyebilir. Daha fazla bilgi için bkz . Project ve Takım Yöneticilerinden gelen yeni kullanıcı davetlerini kısıtlama.
- Erişim isteme: Yalnızca kuruluş Microsoft Entra Id'ye bağlı olduğunda geçerlidir. Kullanıcılar etkinleştirildiğinde bir kaynağa erişim isteyebilir. bir istek, yöneticilere gerektiğinde gözden geçirme ve erişim isteyen bir e-posta bildirimiyle sonuçlanmıştır. Daha fazla bilgi için bkz . Kuruluşunuza dış kullanıcılar ekleme.
- GitHub kullanıcılarını davet etme: Yalnızca kuruluş Microsoft Entra Id'ye bağlı olmadığında geçerlidir. Yöneticiler etkinleştirildiğinde Kullanıcılar sayfasından GitHub kullanıcı hesaplarına göre kullanıcı ekleyebilir. Daha fazla bilgi için bkz . GitHub'a bağlanma/SSS.
Proje Kapsamındaki Kullanıcılar grubu
Varsayılan olarak, bir kuruluşa eklenen kullanıcılar kullanıcı listeleri, proje listeleri, faturalama ayrıntıları, kullanım verileri ve daha fazlası dahil olmak üzere tüm kuruluş ve proje bilgilerini ve ayarlarını görüntüleyebilir.
Önemli
- Bu bölümde açıklanan sınırlı görünürlük özellikleri yalnızca web portalı üzerinden yapılan etkileşimler için geçerlidir. REST API'leri veya
azure devops
CLI komutlarıyla, proje üyeleri kısıtlanmış verilere erişebilir. - Microsoft Entra Id'de varsayılan erişimi olan sınırlı gruba üye olan konuk kullanıcılar, kişi seçicisi olan kullanıcıları arayamazsınız. Kuruluş için önizleme özelliği kapalı olduğunda veya konuk kullanıcılar sınırlı grubun üyesi olmadığında, konuk kullanıcılar beklendiği gibi tüm Microsoft Entra kullanıcılarını arayabilir.
Paydaşlar, Microsoft Entra konuk kullanıcıları veya belirli bir güvenlik grubunun üyeleri gibi belirli kullanıcıları kısıtlamak için, Kuruluşun belirli proje önizlemesi ile kullanıcı görünürlüğünü ve işbirliğini sınırla özelliğini etkinleştirebilirsiniz. Bu etkinleştirildikten sonra, Project-Scoped Users grubuna eklenen tüm kullanıcılar veya gruplar aşağıdaki yollarla kısıtlanır:
- Kuruluş ayarlarının yalnızca Genel Bakış ve Projeler sayfalarına erişebilir.
- Yalnızca açıkça eklendikleri projelere bağlanabilir ve bunları görüntüleyebilir.
- Yalnızca bağlı oldukları projeye açıkça eklenen kullanıcı ve grup kimliklerini seçebilir.
Daha fazla bilgi için bkz . Kuruluşunuzu yönetme, Projeler için kullanıcı görünürlüğünü sınırlama ve daha fazlası ve Önizleme özelliklerini yönetme.
Uyarı
Kullanıcı görünürlüğünü ve işbirliğini belirli projelerle sınırla önizleme özelliğinin etkinleştirilmesi, proje kapsamındaki kullanıcıların açık bir kullanıcı daveti yerine Microsoft Entra grup üyeliği aracılığıyla kuruluşa eklenen kullanıcıları aramasını engeller. Bu beklenmeyen bir davranıştır ve çözüm devam etmektedir. Bu sorunu çözmek için, Kuruluşun belirli proje önizlemesi ile kullanıcı görünürlüğünü ve işbirliğini sınırla özelliğini devre dışı bırakın.
Git deposu ve dal ilkeleri
Kodunuzun güvenliğini sağlamak için çeşitli Git deposu ve dal ilkeleri ayarlayabilirsiniz. Daha fazla bilgi için aşağıdaki makalelere bakın.
Azure Repos ve Azure Pipelines güvenliği
Depolar ve derleme ve yayın işlem hatları benzersiz güvenlik zorlukları oluşturduğundan, bu makalede ele alınan özelliklerin ötesinde ek özellikler kullanılır. Daha fazla bilgi için aşağıdaki makalelere bakın.
- Azure Pipelines'ın güvenliğini sağlama
- YAML işlem hatlarınızın güvenliğini sağlamayı planlama
- Depo koruması
- İşlem hattı kaynakları
- İşlem hattınızdaki projeleri güvenli bir şekilde yapılandırmak için öneriler
- Şablonlar aracılığıyla güvenlik
- İşlem hattınızda değişkenleri ve parametreleri güvenli bir şekilde kullanma
- Azure Pipelines'da paylaşılan altyapının güvenliğini sağlama önerileri
- Diğer güvenlik konuları