Azure SRE Aracısı'nda GitHub BYO Uygulama bağlayıcısını ayarlama

Aracınızı, kuruluşunuzun Key Vault destekli kimlik bilgileriyle kaydettiği bir hizmet kimliği olan Kendi GitHub Uygulamanızı Getirin (Bring Your Own GitHub App) seçeneğini kullanarak GitHub’a bağlayın.

Important

Bu öğretici, Key Vault destekli kimlik bilgilerine sahip bir BYO GitHub Uygulaması kullanarak GitHub depolarınıza uygulama tabanlı erişimi ayarlar. Tüm işlemler tek bir kullanıcıyla değil uygulama kimliğinizle ilişkilendirilir.

BYO Uygulaması ne zaman kullanılır?

BYO App’i şu durumlarda kullanın:

  • Kuruluşunuz için uygulama tabanlı kimlik doğrulaması ve anahtar saklama denetimleri gerekir.
  • *.ghe.com depolarına bağlanıyorsunuz (gerekli).
  • Kullanıcı belirteçleri yerine yükleme belirteci tabanlı erişim istiyorsunuz.

Prerequisites

  • Aracıyı Yönetici veya Standart Kullanıcı rolüyle çalıştırma
  • Hedef ana bilgisayarınızda oluşturulan bir GitHub Uygulaması (github.com veya *.ghe.com)
  • GitHub kuruluşu veya deposu için yönetici erişimi (GitHub Uygulaması kapsamını oluşturmak, yüklemek veya doğrulamak için)
  • Azure Key Vault'da gizli dizi olarak depolanan uygulamanın özel anahtarı
  • Söz konusu kasada Key Vault Secrets User rolüne sahip aracının yönetilen kimliği

1. Adım: GitHub Uygulaması oluşturma

Doğru izinlere sahip bir GitHub Uygulamanız varsa 2 adımını atlayın.

  1. GitHub konağınıza gidin:
    • github.com: Kuruluşunuza gidin, ardından Settings>Geldirici ayarları'nı seçin>GitHub Apps>Yeni GitHub Uygulaması.
    • <tenant>.ghe.com: GHE örneğinizde aynı yol kullanılır.
  2. Uygulama ayrıntılarını doldurun:
    • GitHub Uygulama adı: Örneğin, contoso-sre-agent-reader (çakışmaları önlemek için kuruluşunuzun adıyla önek).
    • Giriş sayfası URL'si: https://sre.azure.com.
    • Web Kancası: Etkin seçeneğinin işaretini kaldırın (aracı web kancalarını kullanmaz).
  3. İzinler'in altında şunları ayarlayın:
    • Depo izinleri > İçerik: Salt okunur (gerekli).
    • Depo izinleri > Meta veriler: Salt okunur (otomatik seçili).
    • İsteğe bağlı olarak Sorunlar ve Çekme istekleri okuma erişimi ekleyin.
  4. Bu GitHub Uygulaması nereye yüklenebilir? altında Bu hesapta'i seçin.
  5. GitHub Uygulaması Oluştur'u seçin.
  6. Uygulama ayarları sayfasında gösterilen İstemci Kimliği'ne dikkat edin (ile Iv...başlar; bu, sayısal Uygulama Kimliği'nden farklıdır).

GitHub Uygulamasını yükleme

  1. GitHub Uygulama ayarları sayfasında, sol kenar çubuğundan Yükle Uygulamayı seçin.
  2. Kuruluşunuzu seçin.
  3. Tüm depolar'ı seçin veya belirli depoları seçin.
  4. Yükle'yi seçin.

2. Adım: Özel anahtar oluşturma

  1. GitHub uygulaması ayarları sayfasında, Özel anahtarlar bölümüne aşağı kaydırın.
  2. Özel anahtar oluştur'a tıklayın.
  3. .pem dosyası indirilir. Bu dosya, aracının kimlik doğrulaması için kullandığı RSA özel anahtarıdır.

Warning

PEM'i güvende tutun. Bu anahtarı sonraki adımda Key Vault'a yüklersiniz. Depoya kaydetmeyin veya paylaşmayın.

3. Adım: Özel anahtarı Key Vault'da depolama

  1. Azure portalını açın ve Key Vault gidin.
  2. Gizli Anahtarlar>Oluştur/İçe Aktar bölümüne gidin.
  3. Ad'ı (örneğin, sre-agent-github-app-key) ayarlayın ve tam PEM içeriğini Değer alanına (-----BEGIN RSA PRIVATE KEY----- ve -----END RSA PRIVATE KEY----- başlıkları dahil) yapıştırın.
  4. Oluştur'i seçin.
  5. Gizli diziyi açın, geçerli sürümü seçin ve Gizli Dizi Tanımlayıcısı URI'sini kopyalayın:
https://myvault.vault.azure.net/secrets/my-github-app-key/<version>

Tip

Belirli bir anahtar sürümüne sabitlemek için sürümlü URI'yi (/<version> sonekiyle) kullanın veya her zaman en son sürümü kullanmak için sürümü belirtmeyin. Tersine çevrilmemesi önerilir. Anahtarı döndürdüğünüzde aracı, URI'yi güncelleştirmeden yeni sürümü otomatik olarak alır.

4. Adım: Aracı kimliğine Key Vault erişim izni verin

  1. Azure portalında Key Vault’unuzu açın ve Erişim denetimi (IAM) öğesine gidin.
  2. Key Vault Secrets User rolünü aracının yönetilen kimliğine atayın.
  3. Rol atamasının yayılmasını bekleyin.

5. Adım: Kod Erişiminde BYO Uygulamasını Yapılandırma

  1. Aracınızı açın.
  2. Oluşturucu>Kod Erişimi'ne gidin.

Azure SRE Agent’ta Builder gezintisi altındaki Code Access sayfasının ekran görüntüsü.

  1. Depo ekle'yi seçin.

  2. GitHub seçin ve konağı girin:

    • github.com herkese açık GitHub için.
    • <tenant>.ghe.com Kurumsal Bulut için.
  3. Kimlik Doğrulamasına Devam Edin.

  4. Kendi GitHub Uygulamanızı seçin.

     İstemci Kimliği ve Key Vault URI alanlarını gösteren BYO GitHub Uygulama kimlik doğrulama formunun ekran görüntüsü.

  5. Giriş:

    • Müşteri Kimliği
    • Özel anahtar gizli dizisi URI’si (Key Vault)
    • İsteğe bağlı Key Vault identity (veya sistem tarafından atanmış kalsın)
  6. Bağlan seçeneğini seçin.

Sihirbaz kimlik bilgilerinizi doğrular. İşlem başarılı olduğunda, yeşil bir onay işaretiyle birlikte GitHub Uygulaması olarak bağlandı ifadesini görürsünüz.

Yeşil onay işaretiyle GitHub Uygulaması olarak bağlandı başarı durumunun ekran görüntüsü.

Note

Yeşil onay işaretini ve GitHub Uygulaması olarak bağlandı ifadesini görürseniz, kimlik bilgileriniz geçerlidir. Connect başarısız olursa İstemci Kimliğinizi, Key Vault URI'nizi ve yönetilen kimlik izinlerinizi doğrulayın.

Code Access soldaki gezinme menüsünden açılmazsa ajan sayfasını yenileyin, Builder bölümünü yeniden genişletin ve tekrar deneyin.

Important

Ana bilgisayar olarak bir *.ghe.com etki alanı girdiğinizde, sihirbaz otomatik olarak Bring your own GitHub App seçeneğini belirler. OAuth ve PAT, GHE ana bilgisayarları için kullanılamaz.

6. Adım: Depo ekleme ve doğrulama

  1. Depoları seçin ve kaydedin.

    Eklenecek kullanılabilir depoları gösteren depo seçimi adımının ekran görüntüsü.

  2. Kod Erişimi kartının bağlı ana bilgisayarı ve kimlik doğrulama türünü GitHubAppgösterdiğini onaylayın.

    GitHubApp kimlik doğrulama türüne sahip bağlı GitHub ana bilgisayarını gösteren kod erişim sayfasının ekran görüntüsü.

  3. Sohbette kod erişimini test edin:

What files are in the root of owner/repo?

GitHub Uygulamanıza Issues izni de verdiyseniz sorun işlemlerini doğrulayın:

List recent issues from owner/repo.

Uygulama bazlı yönetilen kimlik

Varsayılan olarak, aracı Key Vault’taki özel anahtarı okumak için sistem tarafından atanan yönetilen kimliğini kullanır. Birden çok GitHub Uygulamasını yönetiyorsanız (örneğin, GHE örneği başına bir tane), her uygulamaya farklı bir kullanıcı tarafından atanan yönetilen kimlik atayın. Bu yaklaşım, her kimlik yalnızca Key Vault'taki kendi gizli anahtarına erişebildiği için güvenlik yalıtımı sağlar.

5. Adım sırasında Key Vault identity açılan listesinden kimliği seçin.

GitHub bağlayıcıları için birden çok ana bilgisayar desteği

Aynı aracıya birden çok GitHub ana bilgisayarı bağlayabilirsiniz. Her konağın bağımsız kimlik doğrulaması vardır:

  • github.com: OAuth, PAT veya BYO Uygulaması
  • contoso.ghe.com: BYO Uygulaması
  • engineering.ghe.com: BYO Uygulaması (farklı bir GitHub Uygulaması ile)

Bir ana makinenin bağlantısını kesmek diğerlerini etkilemez.

Troubleshooting

Belirti Olası neden Düzelt
Kimlik doğrulaması başarısız oluyor Yanlış istemci kimliği veya yanlış ana bilgisayar Uygulamanın Kod Erişimi'ne girilen ana bilgisayarda oluşturulduğunu doğrulayın.
Gizli dizi okuma başarısız oluyor Key Vault RBAC veya erişim ilkesi eksik Aracı kimliğine Key Vault Gizli Diziler Kullanıcısı rolünü atayın. Key Vault erişim ilkelerini kullanıyorsanız, gizli anahtarlar için Get izni verin.
Repo, "Kod Erişimi'nde Başarısız" ifadesini gösteriyor Eksik uygulama izinleri veya yükleme kapsamı Meta Verileri Doğrulama: Okuma + İçerikler: Okuma ve yükleme kapsamı.
Sohbet sorunları çalışıyor ancak Kod Erişimi başarısız oluyor Uç nokta/yol denetimleri farklı Bağlantı testlerini yeniden çalıştırın ve meta veri iznini doğrulayın.