Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Bu makalede, Azure Resource Manager hizmet bağlantısı oluştururken karşılaşabileceğiniz sorunları çözmenize yardımcı olacak yaygın sorun giderme senaryoları açıklanmaktadır. Hizmet bağlantılarını yönetme konusunu öğrenmek için bkz: Hizmet bağlantılarını oluşturma, düzenleme ve güvenliğini sağlama.
Azure Resource Manager hizmet bağlantısı oluşturduğunuzda ne olur?
Hizmet bağlantınız yoksa aşağıdaki gibi bir bağlantı oluşturabilirsiniz:
Projenizin içinden Proje ayarları'nı ve ardından Hizmet bağlantıları'nı seçin.
Yeni bir hizmet bağlantısı eklemek için Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager'ı seçin. İşiniz bittiğinde İleri'yi seçin.
Kimlik türü olarak Uygulama kaydı (otomatik) ve kimlik bilgisi olarak İş yükü kimlik federasyonu seçin.
Abonelik'i seçin ve ardından açılan listeden aboneliğinizi seçin. Formun kalan kısmını doldurun ve işiniz bittiğinde Kaydet'i seçin.
Yeni Azure Resource Manager hizmet bağlantınızı kaydettiğinizde, Azure DevOps aşağıdaki eylemleri gerçekleştirir:
- Seçilen abonelik için Microsoft Entra kiracısına bağlanır.
- Microsoft Entra ID’de kullanıcı adına bir uygulama oluşturur.
- Seçilen aboneliğe uygulamayı katkıda bulunan olarak atar.
- Bu uygulamanın ayrıntılarını kullanarak bir Azure Resource Manager hizmet bağlantısı oluşturur.
Not
Hizmet bağlantıları oluşturmak için, proje ayarlarınızda Endpoint Creator grubu için Oluşturucu veya Yönetici rolüne atanmalısınız: Proje ayarları>Hizmet bağlantıları>Diğer Eylemler>Güvenlik. Proje Katılımcıları varsayılan olarak bu gruba eklenir.
Sorun giderme senaryoları
Hizmet bağlantıları oluşturduğunuzda aşağıdaki sorunlar oluşabilir:
- Kullanıcının dizinde yalnızca konuk izni var
- Kullanıcının dizine uygulama ekleme yetkisi yok
- Erişim belirteci alınamadı veya geçerli bir yenileme belirteci bulunamadı
- Katkıda Bulunan rolü atanamadı
- Hizmet bağlantısı oluştururken abonelik listelenmiyor
- Abonelik listesinde bazı abonelikler eksik
- Service principal belirtecinin süresi doldu
- Hizmet sorumlusu istemci kimliği kullanılarak JSON web belirteci (JWT) alınamadı
- Azure aboneliği önceki görev çıkışından geçirilmiyor
- Hangi kimlik doğrulama mekanizmaları desteklenir? Yönetilen kimlikler nasıl çalışır?
Kullanıcının dizinde yalnızca konuk izni var
Yönetici hesabı kullanarak Azure portalında oturum açın. Hesap sahibi veya kullanıcı hesabı yöneticisi olmalıdır
Sol gezinti çubuğunda Microsoft Entra Id öğesini seçin.
Kullanıcı aboneliğine karşılık gelen uygun dizini düzenlediğinizden emin olun. Aksi takdirde Dizini değiştir'i seçin ve gerekirse uygun kimlik bilgilerini kullanarak oturum açın.
Yönet bölümünde Kullanıcılar'ıseçin.
Kullanıcı ayarlarını seçin.
Dış kullanıcılar bölümünden Dış işbirliği ayarlarını yönet'i seçin.
Konuk kullanıcı izinleri sınırlı seçeneğini Hayır olarak değiştirin.
Alternatif olarak, kullanıcıya yönetici düzeyinde izinler vermeye hazırsanız kullanıcıyı Yönetici rolünün bir üyesi yapabilirsiniz. Aşağıdaki adımları yapın:
Uyarı
Kullanıcıları Genel Yönetici rolüne atamak, Microsoft Entra kuruluşunuzdaki tüm yönetim ayarlarını okumalarına ve değiştirmelerine olanak tanır. En iyi uygulama olarak, bu rolü kuruluşunuzdaki beşten az kişiye atayın.
Yönetici hesabı kullanarak Azure portalında oturum açın. Hesap bir sahip veya kullanıcı hesabı yöneticisi olmalıdır.
Sol gezinti bölmesinde Microsoft Entra ID'yi seçin.
Kullanıcı aboneliğine karşılık gelen uygun dizini düzenlediğinizden emin olun. Aksi takdirde Dizini değiştir'i seçin ve gerekirse uygun kimlik bilgilerini kullanarak oturum açın.
Yönet bölümünde Kullanıcılar'ıseçin.
Yönetmek istediğiniz kullanıcıyı aramak için arama kutusunu kullanın.
Yönet bölümünden Dizin rolü'nü seçin ve ardından rolü değiştirin. Bitirdiğinizde Kaydet'i seçin.
Değişikliklerin genel olarak uygulanması genellikle 15-20 dakika sürer. Kullanıcı daha sonra hizmet bağlantısını yeniden oluşturmayı deneyebilir.
Kullanıcının dizine uygulama ekleme yetkisi yok
Dizine tümleşik uygulamalar eklemek için izinlere sahip olmanız gerekir. Dizin yöneticisinin bu ayarı değiştirme izinleri vardır.
Sol gezinti bölmesinde Microsoft Entra Id öğesini seçin.
Kullanıcı aboneliğine karşılık gelen uygun dizini düzenlediğinizden emin olun. Aksi takdirde Dizini değiştir'i seçin ve gerekirse uygun kimlik bilgilerini kullanarak oturum açın.
Kullanıcılar'ı ve ardından Kullanıcı ayarları'nı seçin.
Uygulama kayıtları altında Kullanıcılar uygulamaları kaydedebilir seçeneğini Evet olarak değiştirin.
Hizmet sorumlusunu, Microsoft Entra Id'de gerekli izinlere sahip olan mevcut bir kullanıcıyla da oluşturabilirsiniz. Daha fazla bilgi için bkz. Mevcut bir hizmet sorumlusuyla Azure Resource Manager hizmet bağlantısı oluşturma.
Erişim belirteci alınamadı veya geçerli bir yenileme belirteci bulunamadı
Bu hatalar genellikle oturumunuzun süresi dolduğunda oluşur. Bu sorunları çözmek için:
- Azure DevOps oturumunu kapatın.
- InPrivate veya gizli bir tarayıcı penceresi açın ve Azure DevOps'a gidin.
- Uygun kimlik bilgilerini kullanarak oturum açın.
- Kuruluşunuzu ve projenizi seçin.
- Hizmet bağlantınızı oluşturun.
Hata: Yeni bir hizmet bağlantısını düzenlemeye veya oluşturmaya çalışırken etkin bir Azure aboneliğiniz yok gibi görünüyor
Bu hata genellikle birden çok Entra Id kiracısının parçası olduğunuzda oluşur. Sorunu doğrulamak ve çözmek için aşağıdaki adımları izleyin.
VS profiline gidin. Birden çok kiracınız olup olmadığını denetleyin.
Her kiracıyı seçin ve sonra yeniden kimlik doğrulaması yapın.
Bir hizmet bağlantısı oluşturmayı deneyin ve ardından aboneliğin yüklenip yüklenmediğini denetleyin.
Katkıda Bulunan rolü atanamadı
Bu hata genellikle seçili Azure aboneliği için Yazma izniniz olmadığında oluşur.
Bu sorunu çözmek için abonelik yöneticisinden size Microsoft Entra ID'de uygun rolü atamasını isteyin.
Hizmet bağlantısı oluştururken abonelik listelenmiyor
Çeşitli Azure aboneliği açılan menülerinde (faturalama, hizmet bağlantısı vb.) en fazla 50 Azure aboneliği listelenir: Bir hizmet bağlantısı kuruyorsanız ve 50'den fazla Azure aboneliğiniz varsa, bazı abonelikleriniz listelenmez. Bu senaryoda aşağıdaki adımları tamamlayın:
- Azure aboneliğinizin Microsoft Entra örneğinde yeni, yerel bir Microsoft Entra kullanıcısı oluşturun.
- Microsoft Entra kullanıcısını, faturalamayı 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 faturalama ayarlarını yapabilecek bir kullanıcı ekleme.
- Microsoft Entra kullanıcısını Paydaş erişim düzeyine sahip Azure DevOps kuruluşa ekleyin ve ardından Proje Koleksiyonu Yöneticileri grubuna ekleyin (faturalama için) veya kullanıcının hizmet bağlantıları oluşturmak için Team Project'te yeterli izinlere sahip olduğundan emin olun.
- Yeni kullanıcı kimlik bilgileriyle Azure DevOps'ta oturum açın ve faturalamayı ayarlayın. Listede yalnızca bir Azure aboneliği görürsünüz.
Azure DevOps Services'te önbelleğe alınmış eski kullanıcı belirteci: Azure Resource Manager (ARM) hizmet bağlantısı oluşturduğunuzda Azure aboneliğiniz listelenmiyorsa, bunun nedeni Azure DevOps Services'te önbelleğe alınmış eski bir kullanıcı belirteci olabilir. Azure aboneliklerinin liste ekranında kullanıcı belirtecinin güncel olmadığını belirten herhangi bir hata veya uyarı iletisi görüntülenmediğinden bu senaryo hemen açık değildir. Bu sorunu çözmek için aşağıdaki adımları uygulayarak Azure DevOps Services'da önbelleğe alınmış kullanıcı belirtecini el ile güncelleştirin:
- Azure DevOps Services oturumunu kapatın ve yeniden oturum açın. Bu eylem kullanıcı belirtecini yenileyebilir.
- Eski belirteçlerin kaldırıldığından emin olmak için tarayıcı önbelleğinizi ve tanımlama bilgilerinizi temizleyin.
- Azure DevOps portalından hizmet bağlantılarına gidin ve Azure bağlantısını yeniden doğrulayın. Bu adım, Azure DevOps'un yeni bir belirteç kullanmasını ister.
Abonelik listesinde bazı abonelikler eksik
Destek hesabı türleri ayarlarını değiştirme: Bu sorun, desteklenen hesap türleri ayarlarını değiştirerek ve uygulamanızı kimlerin kullanabileceğini tanımlayarak düzeltilebilir. Aşağıdaki adımları yapın:
Azure Portal’ında oturum açın.
Birden çok kiracıya erişiminiz varsa, bir uygulamayı kaydetmek istediğiniz kiracıyı seçmek için üst menüdeki Dizin + abonelik filtresini kullanın.
Sol bölmeden Microsoft Entra Id'yi seçin.
Uygulama kayıtları’nı seçin.
Kayıtlı uygulamalar listesinden uygulamanızı seçin.
Kimlik doğrulaması'nın altında Desteklenen hesap türleri'ne tıklayın.
Desteklenen hesap türleri'nin altında, Bu uygulamayı kimler kullanabilir veya bu API'ye erişebilir? herhangi bir kuruluş dizinindeki Hesaplar'ı seçin.
Bitirdiğinizde Kaydet'i seçin.
Azure DevOps Services'te önbelleğe alınmış eski kullanıcı belirteci: Azure Resource Manager (ARM) hizmet bağlantısı oluşturduğunuzda Azure aboneliğiniz listelenmiyorsa, bunun nedeni Azure DevOps Services'te önbelleğe alınmış eski bir kullanıcı belirteci olabilir. Azure aboneliklerinin liste ekranında kullanıcı belirtecinin güncel olmadığını belirten herhangi bir hata veya uyarı iletisi görüntülenmediğinden bu senaryo hemen açık değildir. Bu sorunu çözmek için aşağıdaki adımları uygulayarak Azure DevOps Services'da önbelleğe alınmış kullanıcı belirtecini el ile güncelleştirin:
- Azure DevOps Services oturumunu kapatın ve yeniden oturum açın. Bu eylem kullanıcı belirtecini yenileyebilir.
- Eski belirteçlerin kaldırıldığından emin olmak için tarayıcı önbelleğinizi ve tanımlama bilgilerinizi temizleyin.
- Azure DevOps portalından hizmet bağlantılarına gidin ve Azure bağlantısını yeniden doğrulayın. Bu adım, Azure DevOps'un yeni bir belirteç kullanmasını ister.
Hizmet sorumlusu belirtecinin süresi doldu
Genellikle otomatik olarak oluşturulan hizmet sorumluları veya gizli anahtarlarla ilgili ortaya çıkan bir sorun, belirtecin süresinin dolması ve yenilenmesi gerektiğidir. Belirteci yenilemeyle ilgili bir sorununuz varsa bkz. Erişim belirteci alınamadı veyageçerli bir yenileme belirteci bulunamadı.
Belirtecinizin süresi dolduysa hata iletilerinden birini görebilirsiniz:
AADSTS7000215: Invalid client secret is provided
AADSTS7000222: The provided client secret keys for app '***' are expired
Invalid client id or client secret
Otomatik olarak oluşturulan bir hizmet sorumlusunun veya gizli anahtarın erişim belirtecini yenilemek için:
Proje ayarlarıgidin ve değiştirmek istediğiniz hizmet bağlantısını seçin.
Sağ üst köşedeki Düzenle'yi seçin.
Kaydet'i seçin.
Hizmet ilkeniz veya gizli anahtarınızın belirteci artık üç ay daha yenilendi.
Not
Hizmet sorumlusunun belirtecinin süresi dolmamış olsa bile bu işlem kullanılabilir. hizmet sorumlusu için kaydedilen uygulamanın gizli dizisini güncelleştireceği için, işlemi gerçekleştiren kullanıcının abonelik ve Microsoft Entra Kimliği üzerinde uygun izinlere sahip olduğundan emin olun. Daha fazla bilgi için bkz . Otomatik güvenlik kullanarak Azure Resource Manager hizmet bağlantısı oluşturma ve Resource Manager hizmet bağlantısı oluşturduğunuzda ne olur?
Hizmet sorumlusunun istemci kimliği kullanılarak JWT elde edilemedi.
Bu sorun, süresi dolmuş bir gizli diziye sahip bir hizmet bağlantısını kaydetmeye çalıştığınızda veya Entra Kimliği düzeyinde başka sorunlar olduğunda oluşur.
Bu sorunu çözmek için:
Proje ayarlarıgidin ve değiştirmek istediğiniz hizmet bağlantısını seçin.
Sağ üst köşedeki Düzenle'yi seçin ve ardından hizmet bağlantınızda herhangi bir değişiklik yapın. En kolay ve önerilen değişiklik bir açıklama eklemektir.
Hizmet bağlantısını kaydetmek için Kaydet'i seçin.
Not Düşünürü
Azure aboneliği önceki görev çıktısından aktarılmıyor
Azure aboneliğinizi yayın işlem hattınız için dinamik olarak ayarladığınızda ve ö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ızın değişkenler bölümünde tanımlandığından emin olun. Ardından bu değişkeni işlem hattınızın görevleri arasında geçirebilirsiniz.
Hangi kimlik doğrulama mekanizmaları desteklenir? Yönetilen kimlikler nasıl çalışır?
Azure Resource Manager hizmet bağlantısı, Hizmet Sorumlusu Kimlik Doğrulaması (SPA) veya yönetilen kimlik doğrulaması kullanarak bir Azure aboneliğine bağlanabilir.
Azure Resource Manager hizmet bağlantısı aşağıdakileri kullanarak bir Azure aboneliğine, yönetim grubuna veya makine öğrenmesi çalışma alanına bağlanabilir:
- Uygulama kaydı (önerilen): İş Yükü Kimlik Federasyonu veya gizli anahtar kullanarak bağlantının kimlik doğrulamasını yapabilirsiniz.
- Yönetilen kimlik: Azure kaynakları için yönetilen kimlikler, Azure hizmetlerine Microsoft Entra Id'de otomatik olarak yönetilen bir kimlik sağlar. Aracı tarafından tanımlanmış bir yönetilen kimliğini de kullanabilirsiniz.
Kimlik doğrulama yöntemi olarak yönetilen kimlikle hizmet bağlantısını ayarlarken, işlem yeni bir yönetilen kimlik oluşturmaz; yalnızca hizmet bağlantısını kurar. Bunun doğru çalışması için belirli koşulların karşılanması gerekir. Özellikle, yönetilen kimlik seçilen kimlik doğrulama yöntemi olduğundan, kullandığınız sanal makinede sistem tarafından atanan bir kimlik olmalıdır. Ayrıca, bu sanal makinenin iş akışının tam olarak yürütülmesi için işlem hatlarında kendi kendine barındırılan bir aracı olarak davranması ve işlem hattının değişiklikleri hizmet bağlantısı üzerinden göndermesine olanak sağlaması gerekir. VM'de sistem tarafından atanan kimlik, aynı VM'nin işlem hattında aracı olarak hizmet ettiğini ve kimlik doğrulamasını etkinleştirdiğini belirler. Bu, mevcut yönetilen kimlik kurulumundan yararlanmanızı sağlar.
Sanal makinelerin yönetilen kimlikleri hakkında bilgi edinmek için Rol atamalarını gözden geçirin.
Not
Yönetilen kimlikler Microsoft tarafından barındırılan aracılarda desteklenmez. Bu senaryoda, bir Azure VM üzerinde kendi kendini barındıran bir aracı ayarlamanız ve bu VM için yönetilen kimlik yapılandırmanız gerekir.