Depolara, yapıtlara ve diğer kaynaklara erişme

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Çalışma zamanında, işlem hattındaki her iş Azure DevOps'taki diğer kaynaklara erişebilir. Örneğin, bir iş şunları yapabilir:

  • Git deposundan kaynak kodu kullanıma alma
  • Depoya etiket ekleme
  • Azure Artifacts'te akışa erişme
  • Günlükleri aracıdan hizmete yükleme
  • Test sonuçlarını ve diğer yapıtları aracıdan hizmete yükleme
  • Bir iş öğesini güncelleştir

Azure Pipelines bu görevleri gerçekleştirmek için iş erişim belirteçlerini kullanır. İş erişim belirteci, çalışma zamanındaki her iş için Azure Pipelines tarafından dinamik olarak oluşturulan bir güvenlik belirtecidir. İşin çalıştığı aracı, Azure DevOps'ta bu kaynaklara erişmek için iş erişim belirtecini kullanır. İş erişim belirteçlerine izinlerin nasıl verildiğini denetleyerek işlem hattınızın hangi kaynaklara erişimi olduğunu denetleyebilirsiniz.

Belirtecin izinleri (a) iş yetkilendirme kapsamından ve (b) proje veya koleksiyon derleme hizmeti hesabında ayarladığınız izinlerden türetilir.

İş yetkilendirme kapsamı

İş yetkilendirme kapsamını koleksiyon veya proje olarak ayarlayabilirsiniz. Kapsamı koleksiyon olarak ayarlayarak işlem hatlarının koleksiyondaki veya kuruluştaki tüm depolara erişmesine izin vermeyi seçersiniz. Kapsamı project olarak ayarlayarak, erişimi yalnızca işlem hattıyla aynı projedeki depolarla kısıtlamayı seçersiniz.

İş yetkilendirme kapsamı, Azure DevOps kuruluşunun tamamı veya belirli bir proje için ayarlanabilir.

Not

Azure DevOps Server 2020'de İş yetkilendirme kapsamını geçerli projeyle sınırla yalnızca YAML işlem hatları ve klasik derleme işlem hatları için geçerlidir. Klasik yayın işlem hatları için geçerli değildir. Klasik yayın işlem hatları her zaman proje koleksiyonu kapsamıyla çalışır.

Kuruluş için iş yetkilendirme kapsamını ayarlamak için:

  • Azure DevOps kullanıcı arabiriminde kuruluş ayarları sayfanıza gidin.
  • İşlem hatları'nın altında Ayarlar seçin.
  • Kapsamı projeyle sınırlamak için İş yetkilendirme kapsamını geçerli projeyle sınırla'yı etkinleştirin. bu, işlem hatlarınızın güvenliğini artırdıkça önerilen ayardır.

Belirli bir projenin iş yetkilendirme kapsamını ayarlamak için:

  • Azure DevOps kullanıcı arabiriminde proje ayarları sayfanıza gidin.
  • İşlem hatları'nın altında Ayarlar seçin.
  • Kapsamı projeyle sınırlamak için İş yetkilendirme kapsamını geçerli projeyle sınırla'yı etkinleştirin. bu, işlem hatlarınızın güvenliğini artırdıkça önerilen ayardır.
  • Tüm projelerin kuruluş düzeyinde iş yetkilendirme kapsamını ayarlamak için Kuruluş ayarları>İşlem Hatları> Ayarlar'nı seçin.
  • Belirli bir projenin iş yetkilendirme kapsamını ayarlamak için Proje ayarları>İşlem hatları> Ayarlar'nı seçin.

Aşağıdaki ayarlardan birini veya daha fazlasını etkinleştirin. İşlem hatlarınızın güvenliğini artırdıkça bu ayarların etkinleştirilmesi önerilir.

  • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla - Bu ayar YAML işlem hatları ve klasik derleme işlem hatları için geçerlidir ve klasik yayın işlem hatları için geçerli değildir.
  • yayın işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla - Bu ayar yalnızca klasik yayın işlem hatları için geçerlidir.

Not

Kapsam kuruluş düzeyinde proje olarak ayarlandıysa, her projede kapsamı değiştiremezsiniz.

Önemli

Kapsam kuruluş düzeyinde veya proje düzeyinde kısıtlanmadıysa YAML işlem hattınızdaki her iş bir koleksiyon kapsamlı iş erişim belirteci alır. Başka bir deyişle işlem hattınızın kuruluşunuzun herhangi bir projesindeki herhangi bir depoya erişimi vardır. Bir saldırgan tek bir projedeki tek bir işlem hattına erişim elde edebiliyorsa kuruluşunuzdaki herhangi bir depoya erişim elde edebilecektir. Bu nedenle, saldırıyı tek bir projede içerecek şekilde kapsamı en üst düzeyde (kuruluş ayarları) kısıtlamanız önerilir.

Azure DevOps Server 2019 kullanıyorsanız, tüm YAML işleri iş yetkilendirme kapsamı koleksiyon olarak ayarlanmış şekilde çalışır. Başka bir deyişle, bu işler proje koleksiyonunuzdaki tüm depolara erişebilir. Bunu Azure DevOps Server 2019'da değiştiremezsiniz.

YAML işlem hatları TFS'de kullanılamaz.

Not

İşlem hattınız genel bir projedeyse, herhangi bir ayarda yapılandırdığınız her ne olursa olsun iş yetkilendirme kapsamı otomatik olarak projeyle kısıtlanır. Ortak bir projedeki işler, derleme yapıtları veya test sonuçları gibi kaynaklara kuruluşun diğer projelerinden değil yalnızca proje içinde erişebilir.

İş yetkilendirme kapsamını başvuruda bulunan Azure DevOps depoları ile sınırlandırma

Azure Pipelines, önceki bölümde açıklanan iş yetkilendirme kapsamı ayarlarına ek olarak İş yetkilendirme kapsamını başvuruda bulunılan Azure DevOps depolarıyla sınırla ayarını sağlar.

İş yetkilendirme kapsamını başvuruda bulunan Azure DevOps depolarıyla sınırla özelliği etkinleştirilmediği sürece , işlem hatları yetkili projelerdeki tüm Azure DevOps depolarına erişebilir. Bu seçenek etkinleştirildiğinde, tüm işlem hatları için erişim kapsamını yalnızca bu depoyu kullanan işlem hattı işindeki bir checkout adım veya uses deyim tarafından açıkça başvuruda bulunan Azure DevOps depolarına azaltabilirsiniz.

Daha fazla bilgi için bkz . Azure Repos Git depoları - İş yetkilendirme kapsamını başvuruda bulunan Azure DevOps depoları ile sınırlama.

YAML işlem hatlarındaki depolara erişimi koruma

Azure Pipelines, önceki bölümde açıklanan iş yetkilendirme kapsamı ayarlarına ek olarak YAML işlem hatlarındaki depolara erişimi koru ayarını sağlar.

YAML işlem hatlarındaki depolara erişimi koruma özelliği etkinleştirilmediği sürece , işlem hatları yetkili projelerdeki tüm Azure DevOps depolarına erişebilir. Bu seçenek etkinleştirildiğinde, tüm işlem hatları için erişim kapsamını yalnızca bu depoyu kullanan işlem hattı işindeki bir checkout adım veya uses deyim tarafından açıkça başvuruda bulunan Azure DevOps depolarına azaltabilirsiniz.

Daha fazla bilgi için bkz . Azure Repos Git depoları - YAML işlem hatlarındaki depolara erişimi koruma.

Önemli

Mayıs 2020'de oluşturulan yeni kuruluşlar ve projeler için YAML işlem hatlarındaki depolara erişimi koruma varsayılan olarak etkindir.

Kapsamlı derleme kimlikleri

Azure DevOps, işlem hatlarını yürütmek için iki yerleşik kimlik kullanır.

  • Koleksiyondaki (veya Azure DevOps Services kuruluşundaki) tüm projelere erişimi olan koleksiyon kapsamlı kimlik
  • Tek bir projeye erişimi olan proje kapsamlı kimlik

Bu kimlikler, Azure DevOps sistemine geri çağrı yapılırken derleme/yayın yürütme süresi etkinlikleri gerçekleştirmek için gereken izinler ayrılır. Yerleşik varsayılan izinler vardır ve gerektiğinde kendi izinlerinizi de yönetebilirsiniz.

Koleksiyon kapsamlı kimlik adı aşağıdaki biçime sahiptir:

  • Project Collection Build Service ({OrgName})
  • Örneğin, kuruluş adı ise fabrikam-tailspin, bu hesap adına Project Collection Build Service (fabrikam-tailspin)sahiptir.

Proje kapsamlı kimlik adı aşağıdaki biçime sahiptir:

  • {Project Name} Build Service ({Org Name})
  • Örneğin, kuruluş adı ve proje adı fabrikam-tailspin ise SpaceGameWeb, bu hesap adına SpaceGameWeb Build Service (fabrikam-tailspin)sahiptir.

Varsayılan olarak, önceki İş yetkilendirme kapsamı bölümünde açıklandığı gibi aksi yapılandırılmadığı sürece koleksiyon kapsamlı kimlik kullanılır.

Derleme hizmeti hesabı izinlerini yönetme

Proje kapsamlı erişimi ayarlamanın bir sonucu, proje kapsamlı kimliğin koleksiyon kapsamındaki kimliğin sahip olduğu bir kaynak üzerinde izinlere sahip olmaması olabilir.

Aşağıdaki gibi senaryolarda iş erişim belirtecinin izinlerini değiştirmek isteyebilirsiniz:

  • İşlem hattınızın farklı bir projedeki bir akışa erişmesini istiyorsunuz.
  • İşlem hattınızın depodaki kodu değiştirmesinin kısıtlanmasını istiyorsunuz.
  • İşlem hattınızın iş öğeleri oluşturmasına kısıtlama getirmek istiyorsunuz.

İş erişim belirtecinin izinlerini güncelleştirmek için:

  • İlk olarak işlem hattınızın iş yetkilendirme kapsamını belirleyin. İş yetkilendirme kapsamını anlamak için yukarıdaki bölüme bakın. İş yetkilendirme kapsamı koleksiyon ise, üzerinde izinleri yönetmek için ilgili derleme hizmeti hesabı Proje Koleksiyonu Derleme Hizmeti'dir (koleksiyon-adınız). İş yetkilendirme kapsamı proje ise, üzerinde izinleri yönetecek derleme hizmeti hesabı Projeniz-adı Derleme Hizmeti 'dir (koleksiyon-adınız).

  • Project Collection Derleme Hizmeti'ne (koleksiyon-adınız) kısıtlamak veya ek erişim vermek için:

    • İşlem Hatları sayfasındaki taşma menüsünde Güvenliği yönet'i seçin.
    • Kullanıcılar'ın altında Proje Koleksiyonu Derleme Hizmeti (koleksiyon-adınız)'ı seçin.
    • Bu hesap için işlem hatları ile ilgili izinlerde herhangi bir değişiklik yapın.
    • Azure DevOps kuruluşunuzun kuruluş ayarlarına (veya proje koleksiyonunuz için koleksiyon ayarlarına) gidin.
    • Güvenlik altında İzinler'i seçin.
    • Kullanıcılar sekmesinin altında Proje Koleksiyonu Derleme Hizmeti'ni (koleksiyon-adınız) arayın.
    • Bu hesap için işlem hattıyla ilgili olmayan izinlerde değişiklik yapın.
    • Project Collection Derleme Hizmeti (koleksiyon-adınız) kuruluşunuzdaki veya koleksiyonunuzdaki bir kullanıcı olduğundan , bu hesabı herhangi bir kaynağa (örneğin, Azure Artifacts'teki bir akışa) açıkça ekleyebilirsiniz.
  • Proje-adı Derleme Hizmeti'ne (koleksiyonunuz-adınız) kısıtlamak veya ek erişim vermek için:

    • İzinleri yönetebileceğiniz derleme hizmeti hesabı yalnızca işlem hattını bir kez çalıştırdıktan sonra oluşturulur. İşlem hattını zaten bir kez çalıştırdığınızdan emin olun.
    • İşlem Hatları sayfasındaki taşma menüsünde Güvenliği yönet'i seçin.
    • Kullanıcılar'ın altında Proje-adınız Derleme Hizmeti (koleksiyon-adınız) öğesini seçin.
    • Bu hesap için işlem hatları ile ilgili izinlerde herhangi bir değişiklik yapın.
    • Azure DevOps kuruluşunuzun kuruluş ayarlarına (veya proje koleksiyonunuz için koleksiyon ayarlarına) gidin.
    • Güvenlik altında İzinler'i seçin.
    • Kullanıcılar sekmesinin altında Proje-adınız derleme hizmetini (koleksiyonunuz-adınız) arayın.
    • Bu hesap için işlem hattıyla ilgili olmayan izinlerde değişiklik yapın.
    • Proje-adınız Derleme Hizmeti (koleksiyon-adınız) kuruluşunuzdaki veya koleksiyonunuzdaki bir kullanıcı olduğundan, bu hesabı herhangi bir kaynağa açıkça ekleyebilirsiniz; örneğin, Azure Artifacts'teki bir akışa.

Aynı proje koleksiyonundaki başka bir projeye erişmek için bir projenin izinlerini yapılandırma

Bu örnekte, proje kapsamlı derleme kimliğine fabrikam-tailspin/SpaceGameWeb projeye erişim fabrikam-tailspin/FabrikamFiber izinleri verilir.

  1. FabrikamFiber projesinde Proje ayarları, İzinler'e gidin.

    Proje ayarlarını yapılandırma ekran görüntüsü.

  2. Dış Projeler adlı yeni bir Grup oluşturun ve SpaceGameWeb Derleme Hizmeti hesabını ekleyin. Yeni güvenlik grubu oluşturma işleminin ekran görüntüsü.

  3. Kullanıcılar'ı seçin, SpaceGameWeb adını yazmaya başlayın ve SpaceGameWeb Derleme Hizmeti hesabını seçin. Başlangıçta herhangi bir arama sonucu görmüyorsanız Aramayı genişlet'i seçin.

    SpaceGameWeb proje kapsamlı derleme kimliği kullanıcısını seçme işleminin ekran görüntüsü.

  4. Bu kullanıcı için Proje düzeyinde bilgileri görüntüleme izni verin.

    Kullanıcıya proje düzeyinde bilgileri görüntüleme izni verme işleminin ekran görüntüsü.

Örnek - Aynı proje koleksiyonundaki başka bir depoya erişmek için izinleri yapılandırma

Bu örnekte, proje kapsamlı derleme kimliğine fabrikam-tailspin/SpaceGameWeb projedeki FabrikamFiberfabrikam-tailspin/FabrikamFiber depoya erişme izni verilir.

  1. Proje kapsamlı derleme kimliğine SpaceGameWeb projeye erişim FabrikamFiber izni vermek için adımları izleyin.

  2. FabrikamFiber projesinde Proje ayarları, Depolar, FabrikamFiber'e gidin.

    Depo erişimini yapılandırın.

  1. Simgeyi + seçin, SpaceGameWeb adını yazmaya başlayın ve SpaceGameWeb Derleme Hizmeti hesabını seçin.

    Depo erişimi için kullanıcı ekleyin.

  1. SpaceGameWeb adını yazmaya başlayın ve SpaceGameWeb Derleme Hizmeti hesabını seçin.

    Depo erişimi için kullanıcı ekleme ekran görüntüsü.

  1. Bu kullanıcı için Okuma izinleri verin.

    Depo izinlerini yapılandırma ekran görüntüsü.

Örnek - Aynı proje koleksiyonundaki diğer kaynaklara erişmek için izinleri yapılandırma

Bu örnekte, proje kapsamlı derleme kimliğine fabrikam-tailspin/SpaceGameWeb projedeki fabrikam-tailspin/FabrikamFiber diğer kaynaklara erişme izinleri verilir.

  1. Proje kapsamlı derleme kimliğine SpaceGameWeb projeye erişim FabrikamFiber izni vermek için adımları izleyin.

  2. Bu kullanıcı için istenen izinleri yapılandırın.

    Kullanıcı izinlerini yapılandırın.

SSS

YAML işlem hattımın iş yetkilendirme kapsamını belirlemek Nasıl yaparım??

  • Projeniz genel bir projeyse, diğer ayarlardan bağımsız olarak iş yetkilendirme kapsamı her zaman projedir .

Azure DevOps Server 2019'daki tüm YAML işlem hatları koleksiyon işi yetkilendirme kapsamı altında çalışır.

  • Azure DevOps Kuruluş ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
    • İş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
    • İş yetkilendirme kapsamını geçerli projeyle sınırla etkin değilse, Azure DevOps'ta Proje ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
      • İş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
      • Aksi takdirde kapsam koleksiyondur.
  • İşlem hattı özel bir projedeyse Azure DevOps Kuruluş ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
    • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
    • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla seçeneği etkinleştirilmediyse Azure DevOps'taki Proje ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
      • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
      • Aksi takdirde kapsam koleksiyondur.

Klasik derleme işlem hattımın iş yetkilendirme kapsamını Nasıl yaparım? belirler?

  • İşlem hattı genel bir projedeyse, diğer ayarlardan bağımsız olarak iş yetkilendirme kapsamı projedir.
  • İşlem hattının düzenleyicisini açın ve Seçenekler sekmesine gidin.
    • Derleme işi yetkilendirme kapsamı Geçerli proje ise kapsam projedir.
    • Aksi takdirde kapsam koleksiyondur.
  • Azure DevOps Kuruluş ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
    • İş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
    • İş yetkilendirme kapsamını geçerli projeyle sınırla etkin değilse, Azure DevOps'ta Proje ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
      • İş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
      • İş yetkilendirme kapsamını geçerli projeyle sınırla etkin değilse, işlem hattının düzenleyicisini açın ve Seçenekler sekmesine gidin.
        • Derleme işi yetkilendirme kapsamı Geçerli proje ise kapsam projedir.
        • Aksi takdirde kapsam koleksiyondur.
  • İşlem hattı özel bir projedeyse Azure DevOps Kuruluş ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
    • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
    • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla seçeneği etkinleştirilmediyse Azure DevOps'taki Proje ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
      • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
      • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkin değilse, işlem hattının düzenleyicisini açın ve Seçenekler sekmesine gidin.
        • Derleme işi yetkilendirme kapsamı Geçerli proje ise kapsam projedir.
        • Veya kapsam koleksiyondur.

Yeni bir klasik işlem hattı oluştururken, iş yetkilendirme kapsamıgeçerli projeye ve derleme işi yetkilendirme kapsamı varsayılan olarak project olarak ayarlanır.

Klasik yayın işlem hattımın iş yetkilendirme kapsamını Nasıl yaparım? belirler?

Azure DevOps Server 2020 ve altındaki klasik yayın işlem hatları koleksiyon kapsamıyla çalışır.

  • İşlem hattı genel bir projedeyse, diğer ayarlardan bağımsız olarak iş yetkilendirme kapsamı projedir.
  • İşlem hattı özel bir projedeyse Azure DevOps Kuruluş ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
    • Yayın işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
    • Yayın işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla seçeneği etkinleştirilmediyse Azure DevOps'taki Proje ayarlarınızın altındaki İşlem hattı ayarlarını denetleyin:
      • Yayın işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirildiyse kapsam projedir.
      • Aksi takdirde kapsam koleksiyondur.