ARM hizmet bağlantı sorunlarını giderme

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

Bu makalede, bir hizmet bağlantısı oluştururken karşılaşabilirsiniz sorunları çözmenize yardımcı olacak yaygın sorun Azure Resource Manager senaryoları yer almaktadır. Hizmet bağlantıları oluşturma, düzenleme ve güvenliğini sağlama hakkında bilgi edinmek için bkz. Hizmet bağlantılarını yönetme.

ARM hizmeti bağlantısı oluşturdukça ne olur?

Hizmet bağlantınız yoksa aşağıdaki gibi bir bağlantı oluşturabilirsiniz:

  1. Projenizin içinde Uygulama ayarları'Project veardından Hizmet bağlantıları'ı seçin.

    Proje ayarlarından hizmet bağlantılarına nasıl erişileni gösteren ekran görüntüsü

  2. Yeni hizmet bağlantısı'nın ardından yeni bir hizmet bağlantısı eklemek için Yeni hizmet bağlantısı'Azure Resource Manager. Bitirerek Sonraki'yi seçin.

    Hizmet bağlantı türlerini gösteren ekran görüntüsü.

  3. Hizmet sorumlusu (otomatik) seçeneğini veardından **Sonraki'yi seçin.

  4. Abonelik'ive ardından açılan listeden aboneliğinizi seçin. Formu doldurun ve bitirerek Kaydet'i seçin.

    Yeni ARM hizmeti bağlantı formunu gösteren ekran görüntüsü.

Yeni ARM hizmeti bağlantınızı kaydeden Azure DevOps:

  1. için Azure Active Directory (Azure AD) kiracısına bağlanır.
  2. Kullanıcı adına Azure AD'de bir uygulama oluşturur.
  3. Uygulama başarıyla oluşturulduktan sonra, uygulamayı seçilen aboneliğe katkıda bulunan olarak attayabilirsiniz.
  4. Bu Azure Resource Manager ayrıntılarını kullanarak bir hizmet bağlantısı oluşturur.

Not

Hizmet bağlantıları oluşturmak için proje ayarlarınıza Endpoint Creator grubuna eklenmeniz gerekir: ProjectAyarları Güvenlik. Katkıda bulunanlar varsayılan olarak bu gruba eklenir.

Sorun giderme senaryoları

Hizmet bağlantıları oluşturulurken ortaya çıkabilir sorunlardan bazıları aşağıda verilmiştir:

İşlemi tamamlamak için yetersiz ayrıcalıklar

Bu durum genellikle sistem sizin adına Azure AD'de bir uygulama oluşturma girişiminde bulunsa gerçekleşir.

Bu, aşağıdaki nedenlere bağlı olabilir bir izin sorunudur:

Kullanıcının dizinde yalnızca konuk izni vardır

Kullanıcıya yalnızca en düşük ek izinleri sağlarken bu sorunu çözmek için en iyi yaklaşım, Konuk kullanıcı izinlerini aşağıdaki gibi artırmaktır.

  1. Yönetici hesabı Azure portal oturum açın. Hesabın sahibi, genel yöneticisiveya kullanıcıhesabı yöneticisi olması gerekir.

  2. Sol Azure Active Directory çubuğundaKimlik'i seçin.

  3. Kullanıcı aboneliğine karşılık gelen uygun dizini düzenlerken emin olun. Yoksa Dizini değiştir'i seçin ve gerekirse uygun kimlik bilgilerini kullanarak oturum açabilirsiniz.

  4. Yönet bölümündenKullanıcılar'ı seçin.

  5. Kullanıcı ayarları'nı seçin.

  6. Dış kullanıcılar bölümünden Dış işbirliği ayarlarını yönet'i seçin.

  7. Konuk kullanıcı izinleri seçeneğini Hayır olarakdeğiştirebilirsiniz.

Alternatif olarak, kullanıcıya ek izinler vermeye hazırsanız (yönetici düzeyinde), kullanıcıya yönetici rolü Genel yönetici sebilirsiniz. Bunu yapmak için aşağıdaki adımları izleyin:

Uyarı

Genel yönetici rolüne atanan kullanıcılar, Azure AD kuruluşta her yönetim ayarını okuyabilir ve değiştirebilir. En iyi uygulama olarak, bu rolü kuruluşta beşten az kullanıcıya atamanızı öneririz.

  1. Yönetici hesabı Azure portal oturum açın. Hesabın sahibi, genel yöneticisiveya kullanıcıhesabı yöneticisi olması gerekir.

  2. Sol Azure Active Directory bölmesinden Yeni'yi seçin.

  3. Kullanıcı aboneliğine karşılık gelen uygun dizini düzenlerken emin olun. Yoksa Dizini değiştir'i seçin ve gerekirse uygun kimlik bilgilerini kullanarak oturum açabilirsiniz.

  4. Yönet bölümündenKullanıcılar'ı seçin.

  5. Yönetmek istediğiniz kullanıcı için arama kutusunu kullanın.

  6. Yönet bölümünden Dizinrolü'sini seçin ve rolü Genel yönetici. Bitirerek Kaydet'i seçin.

Değişiklikleri genel olarak uygulamak genellikle 15-20 dakika sürer. Kullanıcı daha sonra hizmet bağlantısını yeniden kullanmayı deneyebilir.

Kullanıcının dizine uygulama ekleme yetkisi yok

Dizine tümleşik uygulamalar eklemek için izinlere sahipsiniz. Dizin yöneticisinin bu ayarı değiştirme izinleri vardır.

  1. Sol Azure Active Directory bölmede Yer Aç'ı seçin.

  2. Kullanıcı aboneliğine karşılık gelen uygun dizini düzenlerken emin olun. Yoksa Dizini değiştir'i seçin ve gerekirse uygun kimlik bilgilerini kullanarak oturum açabilirsiniz.

  3. Kullanıcılar'ıve ardından Kullanıcı ayarları'ı seçin.

  4. Uygulama Uygulama kayıtlarıseçeneğini ve ardından Kullanıcılar uygulamaları kaydedebilirsiniz seçeneğini Evet olarak belirleyin.

Hizmet sorumlularını, hizmet sorumlularında zaten gerekli izinlere sahip olan mevcut bir kullanıcıyla Azure Active Directory. Daha fazla bilgi Azure Resource Manager için bkz. Mevcut bir hizmet sorumlusuyla bir hizmet bağlantısı oluşturma.

Erişim belirteci alınamadı veya geçerli bir yenileme belirteci bulunamadı

Bu hatalar genellikle oturum süreniz dolduğunda oluşur. Bu sorunları çözmek için:

  1. Oturum açma Azure DevOps.
  2. Bir InPrivate veya gizli tarayıcı penceresi açın ve Azure DevOps.
  3. Uygun kimlik bilgilerini kullanarak oturum açma.
  4. Kuruluş ve projenizi seçin.
  5. Hizmet bağlantınızı oluşturun.

Katkıda Bulunan rolü atanamadı

Bu hata genellikle seçili Azure aboneliği için Yazma izninizin yoksa oluşur.

Bu sorunu çözmek için abonelik yöneticisinin size abonelik yöneticisinde uygun rolü Azure Active Directory.

Abonelik listesinde bazı abonelikler eksik

Bu sorunu düzeltmek için desteklenen hesap türlerini ve uygulamanızı kimlerin kullanabileceğini değiştirmeniz gerekir. Bunun için aşağıdaki adımları uygulayın:

  1. Azure portalında oturum açın.

  2. Birden çok kiracıya erişiminiz varsa, üst menüden Dizin + abonelik filtresini kullanarak bir uygulamayı kaydetmek istediğiniz kiracıyı seçin.

    Azure Portal'da dizin ve abonelikler simgesini gösteren ekran görüntüsü.

  3. Sol bölmeden Azure Active Directory'yi seçin.

  4. Uygulama kayıtları’nı seçin.

  5. Kayıtlı uygulamalar listesinden uygulama seçin.

  6. TemelLer'inaltında Desteklenen hesap türleri'ne seçin.

  7. Desteklenen hesap türleri altında,Who bu uygulamayı kullanabilir veya bu API'ye erişebilir misiniz? herhangi bir kuruluş dizininde Hesaplar'ı seçin.

    Desteklenen hesap türlerini gösteren ekran görüntüsü.

  8. İşiniz bittiğinde Kaydet ' i seçin.

Hizmet bağlantısı oluştururken abonelik listelenmiyor

Çeşitli Azure aboneliği açılan menülerinde (Faturalandırma, hizmet bağlantısı vb.) en fazla 50 Azure aboneliği listelenmiştir. Bir hizmet bağlantısı ayarlıyorsanız ve 50 taneden fazla Azure aboneliğiniz varsa, abonelikleriniz listelenmez. Bu senaryoda, aşağıdaki adımları izleyin:

  1. Azure aboneliğinizin Azure AD örneğinde yeni, yerel bir Azure AD kullanıcısı oluşturun.

  2. Azure AD kullanıcısını, faturalandırmayı ayarlamak veya hizmet bağlantıları oluşturmak için uygun izinlere sahip olacak şekilde ayarlayın. Daha fazla bilgi için bkz. Azure DevOps için faturalandırmayı ayarlayabilen bir kullanıcı ekleme.

  3. Azure AD kullanıcısını bir paydaş erişim düzeyiyle Azure DevOps org 'a ekleyin ve sonra Project Collection Administrators grubuna ekleyin (faturalandırma için) veya kullanıcının Team Project hizmet bağlantıları oluşturmak için yeterli izinlere sahip olduğundan emin olun.

  4. yeni kullanıcı kimlik bilgileriyle Azure DevOps için oturum açın ve bir faturalandırma kurun. Listede yalnızca bir Azure aboneliği görürsünüz.

Hizmet sorumlusunun belirtecinin geçerliliği zaman aşımına uğradı

Genellikle otomatik olarak oluşturulan hizmet sorumlularıyla ilgili bir sorun, hizmet sorumlusunun belirtecinin süresinin dolması ve yenilenmesi gerekir. Ancak, belirteci yenilemeye yönelik bir sorununuz varsa, bkz. geçerli yenileme belirteci bulunamadı.

Otomatik olarak oluşturulan hizmet sorumlusu için erişim belirtecini yenilemek için:

  1. Project ayarlarıhizmet bağlantıları' na gidin ve ardından değiştirmek istediğiniz hizmet bağlantısını seçin.

  2. Sağ üst köşedeki Düzenle ' yi seçin ve ardından Doğrula' yı seçin.

  3. Kaydet’i seçin.

Hizmet sorumlusunun belirteci daha fazla yıl boyunca yenilendi.

Hizmet sorumlusu istemci KIMLIĞI kullanılarak JWT alınamadı

Bu sorun, süresi dolduğunda gizli olmayan bir hizmet bağlantısını doğrulamaya çalıştığınızda oluşur.

Bu sorunu çözmek için:

  1. Project ayarlarıhizmet bağlantıları' na gidin ve ardından değiştirmek istediğiniz hizmet bağlantısını seçin.

  2. Sağ üst köşedeki Düzenle ' yi seçin ve ardından hizmet bağlantınızda herhangi bir değişikliği yapın. En kolay ve önerilen değişiklik, bir açıklama eklemektir.

  3. Hizmet bağlantısını kaydetmek için Kaydet ' i seçin.

    Not

    Kaydet’i seçin. Bu adımda hizmet bağlantısını doğrulamaya çalışmayın.

  4. Hizmet bağlantısı düzenleme penceresinden çıkın ve ardından hizmet bağlantıları sayfasını yenileyin.

  5. Sağ üst köşede Düzenle ' yi seçin ve şimdi Doğrula' yı seçin.

  6. Hizmet bağlantınızı kaydetmek için Kaydet ' i seçin.

Azure aboneliği önceki görev çıktısından geçirilmiyor

Azure aboneliğinizi yayın işlem hattınızı dinamik olarak ayarlayıp önceki bir görevden çıkış değişkenini kullanmak istediğinizde bu sorunla karşılaşabilirsiniz.

Sorunu çözmek için, değerlerin işlem hattının değişkenler bölümünde tanımlandığından emin olun. Daha sonra bu değişkeni, ardışık düzenin görevleri arasında geçirebilirsiniz.

Hangi kimlik doğrulama mekanizmaları desteklenir? Yönetilen kimlikler nasıl çalışır?

Bir Azure Resource Manager hizmet bağlantısı, bir hizmet sorumlusu kimlik doğrulaması (SPA) veya yönetilen kimlik kimlik doğrulaması kullanarak bir Azure aboneliğine bağlanabilir. Azure kaynakları için Yönetilen kimlikler, Azure hizmetlerini Azure Active Directory (Azure AD) içinde otomatik olarak yönetilen bir kimlik sağlar. Bu kimliği, kodda veya hizmet bağlantısında kalıcı kimlik bilgileri olmadan Azure AD kimlik doğrulamasını destekleyen herhangi bir hizmette kimlik doğrulaması yapmak için kullanabilirsiniz.

Sanal makineler için Yönetilen kimlikler hakkında bilgi edinmek için bkz. rol atama.

Not

Yönetilen kimlikler, Microsoft tarafından barındırılan aracılarda desteklenmez. Bu senaryoda, bir Azure sanal makinesinde şirket içinde barındırılan bir aracı ayarlamanız ve bu VM için yönetilen bir kimlik yapılandırmanız gerekir.