Depolara, yapıtları ve diğer kaynaklara erişin

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerinde derleme ve yayın işlem hatları tanımlar, çalıştırmalar derlemeler, hizmet bağlantıları hizmet uç noktaları, aşamalar ortamlar ve işler olarak adlandırılan aşamalar olarak adlandırılan bir uygulamadır.

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

  • Git deposundan kaynak kodu kullanıma alma
  • Depoya bir etiket ekleyin
  • Azure Artifacts bir akışa erişme
  • aracıdan hizmete günlük Upload
  • aracıdan hizmete test sonuçları ve diğer yapıtları Upload
  • İş öğesini güncelleştirme

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

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

İş yetkilendirme kapsamı

İş yetkilendirme kapsamını koleksiyon veya Proje olacak şekilde ayarlayabilirsiniz. Kapsamı koleksiyona ayarlayarak, işlem hatları koleksiyondaki veya kuruluştaki tüm depolara erişmesine izin verir. Kapsamı Proje olarak ayarlayarak, erişimi yalnızca işlem hattıyla aynı projede olan depolara kısıtlamayı tercih edersiniz.

iş yetkilendirme kapsamı, tüm Azure DevOps kuruluş veya belirli bir proje için ayarlanabilir.

Not

Azure DevOps Server 2020 ' de, iş yetkilendirmesi 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çerlidir. Klasik yayın işlem hatları her zaman proje koleksiyonu kapsamıyla çalışır.

Kuruluşun iş yetkilendirmesi kapsamını ayarlamak için:

  • Azure DevOps kullanıcı arabirimindeki kuruluş ayarları sayfanıza gidin.
  • Pipelines altında Ayarlar seçin.
  • Kapsamı proje ile sınırlamak için iş yetkilendirmesi kapsamını geçerli projeyle sınırla ' yı etkinleştirin. İşlem hatlarınız için güvenliği geliştiren için bu önerilen ayardır.

Belirli bir proje için iş yetkilendirmesi kapsamını ayarlamak için:

  • Azure DevOps kullanıcı arabirimindeki proje ayarları sayfanıza gidin.
  • Pipelines altında Ayarlar seçin.
  • Kapsamı proje ile sınırlamak için iş yetkilendirmesi kapsamını geçerli projeyle sınırla ' yı etkinleştirin. İşlem hatlarınız için güvenliği geliştiren için bu önerilen ayardır.
  • tüm projeler için kuruluş düzeyinde iş yetkilendirmesi kapsamını ayarlamak için, Ayarlar Pipelines kuruluş ayarları ' nı seçin > > .
  • belirli bir proje için iş yetkilendirmesi kapsamını ayarlamak için Project ayarları > Pipelines > Ayarlar' yı seçin.

Aşağıdaki ayarlardan birini veya daha fazlasını etkinleştirin. İşlem hatlarınız için güvenliği geliştiren için bu ayarların etkinleştirilmesi önerilir.

  • Yayın olmayan işlem hatları için iş yetkilendirmesi kapsamını geçerli proje Ile 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ş yetkilendirmesi kapsamını geçerli proje Ile 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 bir projedeki kapsamı değiştiremezsiniz.

Önemli

Kapsam, kuruluş düzeyinde veya proje düzeyinde kısıtlanmışsa, YAML işlem hattınızdaki her iş, koleksiyon kapsamlı bir iş erişim belirteci alır. Diğer bir deyişle, işlem hattınızda kuruluşunuzun herhangi bir projesindeki herhangi bir depoya erişim vardır. Bir saldırgan tek bir projede tek bir işlem hattına erişim elde edebiliyorsa, kuruluşunuzdaki herhangi bir depoya erişim elde edebilecektir. Bu nedenle, tek bir projeye yönelik saldırıları içermesi için kapsamı en yüksek düzeyde (kuruluş ayarları) kısıtlamanız önerilir.

Azure DevOps Server 2019 kullanırsanız, tüm yaml işleri iş yetkilendirme kapsamı koleksiyonu olarak ayarlanan şekilde çalışır. Diğer bir deyişle, bu işlerin proje koleksiyonunuzdaki tüm depolara erişimi vardır. Azure DevOps Server 2019 ' de bunu değiştiremezsiniz.

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

Not

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

iş yetkilendirmesi kapsamını başvurulan Azure DevOps depolarıyla sınırla

önceki bölümde açıklanan iş yetkilendirme kapsamı ayarlarının yanı sıra, Azure Pipelines başvurulan Azure DevOps depoları ayarına bir sınır iş yetkilendirme kapsamı sağlar.

Pipelines, iş yetkilendirme kapsamının başvurulan Azure DevOps depolarıyla sınırlı olmadığı müddetçe yetkili projelerdeki tüm Azure DevOps depolarına erişebilir. bu seçenek etkinken, tüm işlem hatları için erişim kapsamını yalnızca checkout uses bu depoyu kullanan işlem hattı işinde bir adım veya bir bildirime göre açıkça başvuruda bulunulan depoların Azure DevOps azaltabilirsiniz.

daha fazla bilgi için bkz. Azure Repos Git depoları-iş yetkilendirmesi kapsamını başvurulan Azure DevOps depolara sınırla.

Önemli

iş yetkilendirme kapsamını başvurulan Azure DevOps sınırla , yeni kuruluşlar ve proje 2020 ' den sonra oluşturulan projeler için varsayılan olarak etkinleştirilir.

Kapsamlı derleme kimlikleri

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

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

bu kimlikler, Azure DevOps sistemine geri çağırırken derleme/yayınlama yürütme süresi etkinliklerini gerçekleştirmek için gerekli olan izinlerdir. 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ı fabrikam-tailspin ise, bu hesap adına sahip Project Collection Build Service (fabrikam-tailspin) olur.

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

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

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

Derleme hizmeti hesabı izinlerini yönetme

Proje kapsamlı erişim ayarlamanın bir sonucu, proje kapsamlı kimliğin koleksiyon kapsamındaki bir kaynağa izinlere sahip olması olabilir.

Aşağıdaki gibi senaryolarda iş erişim belirteci izinlerini değiştirmek istiyor olabilirsiniz:

  • İşlem hattınızı farklı bir projede yer alan bir akışa erişmesini istediğiniz.
  • İşlem hattınızı depoda kod değiştirmeyle kısıtlamak istiyor uz.
  • İşlem hattınızı iş öğeleri oluşturmakla kısıtlamak istemiyor siniz.

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

  • İlk olarak işlem hattınız için iş yetkilendirme kapsamını belirleme. İş yetkilendirme kapsamını anlamak için yukarıdaki bölüme bakın. İş yetkilendirme kapsamı koleksiyon ise, üzerinde izinleri yönetmek için karşılık gelen derleme hizmeti hesabı Project Derleme Hizmeti (koleksiyonunuz-adı) olur. İş yetkilendirme kapsamı proje ise, üzerinde izinleri yönetmek için derleme hizmeti hesabı Projeniz-adı Derleme Hizmeti (koleksiyonunuz-adı) olur.

  • Koleksiyon Derleme Hizmeti'ne (koleksiyonunuz-Project) kısıtlamak veya ek erişim vermek için:

    • Çalışma sayfasındaki taşma menüsünde Güvenliği Pipelines seçin.
    • Kullanıcılar altında, Project Derleme Hizmeti(koleksiyonunuz-adı) seçeneğini seçin.
    • Bu hesap için işlem hatlarıyla ilgili izinlerde herhangi bir değişiklik yapın.
    • Azure DevOps için kuruluş ayarlarına (veya proje koleksiyonunuz için koleksiyon ayarlarına) gidin.
    • Güvenlik altında İzinler'i seçin.
    • Kullanıcılar sekmesinde, koleksiyon derleme Project (koleksiyonunuz-adınız) için arama yapın.
    • Bu hesap için işlem hattıyla ilgili olmayan izinlerde herhangi bir değişiklik yapın.
    • Project Derleme Hizmeti (koleksiyonunuz-adınız) kuruluşta veya koleksiyonda bir kullanıcı olduğu için, bu hesabı herhangi bir kaynağa (örneğin, Azure Artifacts'daki bir akışa) açıkça ebilirsiniz.
  • Proje-adınız Derleme Hizmeti'ne (koleksiyonunuz-adınız) yönelik ek erişimi kısıtlamak veya vermek için:

    • İzinleri yönetebilirsiniz derleme hizmeti hesabı yalnızca işlem hattını bir kez çalıştırdikten sonra oluşturulur. İşlem hattını daha önce bir kez çalıştırmaya karar verdiysiniz.
    • Çalışma sayfasındaki taşma menüsünde Güvenliği Pipelines seçin.
    • Kullanıcılar altında Proje-adınız Derleme Hizmeti (koleksiyonunuz-adı) öğesini seçin.
    • Bu hesap için işlem hatlarıyla ilgili izinlerde herhangi bir değişiklik yapın.
    • Azure DevOps için kuruluş ayarlarına (veya proje koleksiyonunuz için koleksiyon ayarlarına) gidin.
    • Güvenlik altında İzinler'i seçin.
    • Kullanıcılar sekmesinde Proje-adınız derleme hizmeti (koleksiyonunuz-adı) için arama yapın.
    • Bu hesap için işlem hattıyla ilgili olmayan izinlerde herhangi bir değişiklik yapın.
    • Proje-adınız Derleme Hizmeti (koleksiyonunuz-adı) kuruluşta veya koleksiyonda bir kullanıcı olduğu için, bu hesabı herhangi bir kaynağa (örneğin, Azure Artifacts'daki bir akışa) açıkça ebilirsiniz.

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

Bu örnekte, fabrikam-tailspin/SpaceGameWeb proje kapsamındaki derleme kimliğine proje içinde depoya FabrikamFiber erişim izni fabrikam-tailspin/FabrikamFiber verildi.

  1. FabrikamFiber projesinde, Project , Depolar, FabrikamFiber 'a gidin.

    Depo erişimini yapılandırma.

  2. Simgesini + seçin, SpaceGameWeb adını yazın ve SpaceGameWeb Derleme Hizmeti hesabını seçin.

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

  3. Bu kullanıcı için istenen izinleri yapılandırma.

    Depo izinlerini yapılandırma.

Örnek - Aynı proje koleksiyonunda yer alan diğer kaynaklara erişim izinlerini yapılandırma

Bu örnekte, fabrikam-tailspin/SpaceGameWeb proje kapsamındaki derleme kimliğine projede yer alan diğer kaynaklara erişim izinleri fabrikam-tailspin/FabrikamFiber ve verildi.

  1. FabrikamFiber projesinde , İzinler Project 'a gidin.

    Proje ayarlarını yapılandırma.

  2. Kullanıcılar'ı seçin, SpaceGameWeb adını yazı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ı'ı seçin.

  3. Bu kullanıcı için istenen izinleri yapılandırma.

    Kullanıcı izinlerini yapılandırma.

SSS

Nasıl yaparım? YAML işlem hattım için iş yetkilendirme kapsamını belirlemem gerekiyor mu?

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

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

  • Azure DevOps Kuruluş ayarları altında İşlem hattı ayarlarını kontrol edin:
    • İş yetkilendirme kapsamını geçerli projeyle sınırla etkinse, kapsam proje olur.
    • İş yetkilendirme kapsamını geçerli projeyle sınırla etkin durumda değilse, aşağıdaki ayarlarda yer alan Project işlem hattı ayarlarını Azure DevOps:
      • İş yetkilendirme kapsamını geçerli projeyle sınırla etkinse, kapsam proje olur.
      • Aksi takdirde, kapsam koleksiyonudur.
  • İşlem hattı özel bir projede ise, İşlem hattı ayarlarınız altındaki İşlem hattı ayarlarını Azure DevOps ayarlarını kontrol edin:
    • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirilirse, kapsam proje olur.
    • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkin durumda değilse, aşağıdaki ayarlarda yer alan Project işlem hattı ayarlarını Azure DevOps:
      • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirilirse, kapsam proje olur.
      • Aksi takdirde, kapsam koleksiyonudur.

Nasıl yaparım? derleme işlem hattımda iş yetkilendirme kapsamını belirlemem gerekiyor mu?

  • İşlem hattı ortak bir projede ise, diğer ayarlardan bağımsız olarak 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 proje olur.
    • Aksi takdirde, kapsam koleksiyonudur.
  • Azure DevOps Kuruluş ayarları altında İşlem hattı ayarlarını kontrol edin:
    • İş yetkilendirme kapsamını geçerli projeyle sınırla etkinse, kapsam proje olur.
    • İş yetkilendirme kapsamını geçerli projeyle sınırla etkin durumda değilse, aşağıdaki ayarlarda yer alan Project işlem hattı ayarlarını Azure DevOps:
      • İş yetkilendirme kapsamını geçerli projeyle sınırla etkinse, kapsam proje olur.
      • İş yetkilendirme kapsamını geçerli projeyle sınırla etkin durumda 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 proje olur.
        • Aksi takdirde, kapsam koleksiyonudur.
  • İşlem hattı özel bir projede ise, İşlem hattı ayarlarınız altındaki İşlem hattı ayarlarını Azure DevOps ayarlarını kontrol edin:
    • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirilirse, kapsam proje olur.
    • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkin durumda değilse, aşağıdaki ayarlarda yer alan Project işlem hattı ayarlarını Azure DevOps:
      • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinleştirilirse, kapsam proje olur.
      • Yayın dışı işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla seçeneği etkin durumda 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 proje olur.
        • Yoksa kapsam koleksiyonudur.

Nasıl yaparım? yayın işlem hattımda iş yetkilendirme kapsamını belirlemem gerekiyor mu?

Azure DevOps Server 2020 ve altı sürümlerde klasik yayın işlem hatları koleksiyon kapsamıyla birlikte çalıştır.

  • İşlem hattı ortak bir projede ise, diğer ayarlardan bağımsız olarak yetkilendirme kapsamı projedir.
  • İşlem hattı özel bir projede ise, İşlem hattı ayarlarınız altındaki İşlem hattı ayarlarını Azure DevOps ayarlarını kontrol edin:
    • Yayın işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinse, kapsam projesidir.
    • Yayın işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkin durumda değilse, aşağıdaki ayarlarda yer alan Project işlem hattı ayarlarını Azure DevOps:
      • Yayın işlem hatları için iş yetkilendirme kapsamını geçerli projeyle sınırla etkinse, kapsam projesidir.
      • Aksi takdirde, kapsam koleksiyonudur.