Aracılığıyla paylaş


Geliştirici hesaplarını kullanarak yerel geliştirme sırasında Azure hizmetlerinde .NET uygulamalarının kimliğini doğrulama

Yerel geliştirme sırasında uygulamaların farklı Azure hizmetlerini kullanmak için Azure'da kimlik doğrulamasından geçirmesi gerekir. Aşağıdaki yaklaşımlardan birini kullanarak yerel olarak kimlik doğrulaması gerçekleştirin:

Bu makalede, Azure Kimlik kitaplığı tarafından desteklenen araçlarla bir geliştirici hesabı kullanarak kimlik doğrulamasının nasıl yapılacağını açıklanmaktadır. İlerideki bölümlerde şunları öğrenirsiniz:

  • Birden çok geliştirici hesabının izinlerini verimli bir şekilde yönetmek için Microsoft Entra gruplarını kullanma.
  • Geliştirici hesaplarına roller atayarak izin kapsamını belirleme.
  • Desteklenen yerel geliştirme araçlarında oturum açma.
  • Uygulama kodunuzdan bir geliştirici hesabı kullanarak kimlik doğrulaması.

Kimlik doğrulaması için desteklenen geliştirici araçları

Bir uygulamanın yerel geliştirme sırasında geliştiricinin Azure kimlik bilgilerini kullanarak Azure'da kimlik doğrulaması yapması için geliştiricinin aşağıdaki geliştirici araçlarından birinden Azure'da oturum açmış olması gerekir:

  • Azure CLI
  • Azure Geliştirici CLI
  • Azure PowerShell
  • Visual Studio
  • Visual Studio Code

Azure Kimlik kitaplığı, geliştiricinin bu araçlardan birinden oturum açtığını algılayabilir. Kitaplık, uygulamanın oturum açmış kullanıcı olarak Azure'da kimliğini doğrulaması için Microsoft Entra erişim belirtecini araç aracılığıyla edinebilir.

Bu yaklaşım, kimlik doğrulama sürecini kolaylaştırmak için geliştiricinin mevcut Azure hesaplarından yararlanır. Ancak, bir geliştirici hesabının büyük olasılıkla uygulama için gerekenden daha fazla izni vardır ve bu nedenle uygulamanın üretim ortamında çalıştırdığı izinleri aşmış olur. Alternatif olarak, yerel geliştirme sırasında kullanmak üzere uygulama hizmet birimleri oluşturabilirsiniz, bu birimler yalnızca uygulamanın ihtiyaç duyduğu erişime sahip olacak şekilde kapsamlandırılabilir.

Yerel geliştirme için Microsoft Entra grubu oluşturma

Rolleri tek tek hizmet sorumlusu nesnelerine atamak yerine yerel geliştirmede uygulamanın ihtiyaç duyduğu rolleri (izinleri) kapsüllemek için bir Microsoft Entra grubu oluşturun. Bu yaklaşım aşağıdaki avantajları sunar:

  • Her geliştirici, grup düzeyinde aynı rollere sahiptir.
  • Uygulama için yeni bir rol gerekiyorsa, yalnızca uygulamanın grubuna eklenmesi gerekir.
  • Ekibe yeni bir geliştirici katılırsa, geliştirici için yeni bir uygulama hizmet sorumlusu oluşturulur ve gruba eklenir ve geliştiricinin uygulama üzerinde çalışmak için doğru izinlere sahip olduğundan emin olun.
  1. Azure portalında Microsoft Entra Id genel bakış sayfasına gidin.

  2. Sol taraftaki menüden Tüm Gruplar öğesini seçin.

  3. Gruplar sayfasında Yeni grupseçin.

  4. Yeni grup sayfasında aşağıdaki form alanlarını doldurun:

    • Grup türü: güvenlikseçin.
    • Grup adı: Uygulama veya ortam adına başvuru içeren grup için bir ad girin.
    • Grup açıklaması: Grubun amacını açıklayan bir açıklama girin.

    Azure portalında grup oluşturmayı gösteren ekran görüntüsü.

  5. Gruba üye eklemek için, Üyeler başlığı altında Üyeler seçilmedi bağlantısını seçin.

  6. Açılan açılır panelde, daha önce oluşturduğunuz hizmet sorumlusunu arayın ve filtrelenen sonuçlardan seçin. Seçiminizi onaylamak için panelin alt kısmındaki Seç düğmesini seçin.

  7. Grubu oluşturmak ve Tüm gruplar sayfasına dönmek için Yeni grup sayfasının alt kısmındaki Oluştur'yi seçin. Yeni grubu listede görmüyorsanız, bir dakika bekleyin ve sayfayı yenileyin.

Gruba rol atama

Ardından, uygulamanızın hangi kaynaklar üzerinde hangi rollere (izinlere) ihtiyacı olduğunu belirleyin ve bu rolleri oluşturduğunuz Microsoft Entra grubuna atayın. Gruplara kaynak, kaynak grubu veya abonelik kapsamında bir rol atanabilir. Bu örnekte, çoğu uygulama tüm Azure kaynaklarını tek bir kaynak grubunda gruplandırdığından kaynak grubu kapsamında rollerin nasıl atandığı gösterilmektedir.

  1. Azure portalında uygulamanızı içeren kaynak grubunun Genel Bakış sayfasına gidin.

  2. Sol gezinti bölmesinden Erişim denetimi (IAM) seçin.

  3. Erişim denetimi (IAM) sayfasında + ekle'yi seçin ve ardından açılan menüden Rol ataması ekle seçin. Rol ataması ekle sayfasında rolleri yapılandırmak ve atamak için çeşitli sekmeler sağlanır.

  4. Rol sekmesinde, atamak istediğiniz rolü bulmak için arama kutusunu kullanın. Rolü seçin ve ardından İleriseçin.

  5. Üyeler sekmesinde:

    • değere erişimi atamak için, Kullanıcı, grup veya hizmet sorumlusunu seçin.
    • Üyeler değeri için, 'Üyeleri Seç' seçeneğini belirleyerek 'Üyeleri Seç' flyout panelini açın.
    • Daha önce oluşturduğunuz Microsoft Entra grubunu arayın ve filtrelenen sonuçlardan seçin. Grubu seçmek ve açılır menü panelini kapatmak için seç'i seçin.
    • Gözden Geçir + Ata seçeneğini Üyeler sekmesinin alt kısmında seçin.

    Microsoft Entra grubuna rol atamayı gösteren ekran görüntüsü.

  6. Gözden geçir + ata sekmesinde, sayfanın alt kısmında Gözden geçir + ata seçin.

Geliştirici araçlarını kullanarak Azure'da oturum açma

Ardından, geliştirme ortamınızda kimlik doğrulaması gerçekleştirmek için kullanılabilecek çeşitli geliştirici araçlarından birini kullanarak Azure'da oturum açın. Kimlik doğrulaması yaptığınız hesap, daha önce oluşturup yapılandırdığınız Microsoft Entra grubunda da bulunmalıdır.

Visual Studio 2017 veya üzerini kullanan geliştiriciler, IDE aracılığıyla geliştirici hesabını kullanarak kimlik doğrulaması yapabilir. DefaultAzureCredential veya VisualStudioCredential kullanan uygulamalar, yerel olarak çalıştırılırken uygulama isteklerinin kimliğini doğrulamak için bu hesabı bulabilir ve kullanabilir. Bu hesap, uygulamaları doğrudan Visual Studio'dan Azure'a yayımladığınızda da kullanılır.

Önemli

Azure kimlik doğrulaması, geliştirme ve dağıtımı için Visual Studio araçlarını etkinleştirmek amacıyla Azure geliştirme iş yükünü yüklemeniz gerekir.

  1. Visual Studio'da seçenekler iletişim kutusunu açmak için Araçları>Seçenekler gidin.

  2. En üstteki Arama Seçenekleri kutusuna, kullanılabilir seçenekleri filtrelemek için Azure yazın.

  3. Azure Hizmet Kimlik Doğrulaması'nın altında Hesap Seçimi'ni seçin.

  4. altındaki açılır menüden Hesap seçin ve bir Microsoft hesabı eklemeyi seçin.

  5. Açılan pencerede, istediğiniz Azure hesabınızın kimlik bilgilerini girin ve girişlerinizi onaylayın.

    Visual Studio kullanarak Azure'da oturum açmayı gösteren ekran görüntüsü.

  6. OK'yi seçerek seçenekler iletişim kutusunu kapatın.

Uygulamanızdan Azure hizmetlerinde kimlik doğrulaması

Azure Kimlik kitaplığı, çeşitli senaryoları TokenCredential ve Microsoft Entra kimlik doğrulama akışlarını destekleyen uygulamaları sağlar. İlerideki adımlar, kullanıcı hesaplarıyla yerel olarak çalışırken DefaultAzureCredential veya belirli bir geliştirme aracı kimlik bilgilerini nasıl kullanabileceğinizi gösterir.

Kodu uygulama

Aşağıdaki adımları tamamlayın:

  1. Projenizde Azure.Identity ve Microsoft.Extensions.Azure paketlerine başvurular ekleyin:

    dotnet add package Azure.Identity
    dotnet add package Microsoft.Extensions.Azure
    
  2. Program.cs içinde Azure.Identity ve Microsoft.Extensions.Azure ad alanları için using yönergeleri ekleyin.

  3. İlgili Add ön ekli uzantı yöntemini kullanarak Azure hizmet istemcisini kaydedin.

    Azure hizmetlerine Azure SDK istemci kitaplıklarından özel istemci sınıfları kullanılarak erişilir. Uygulamanıza bağımlılık ekleme yoluyla erişebilmek için bu istemci türlerini kaydedin.

  4. Yöntemine TokenCredential bir UseCredential örnek geçirin. Yaygın TokenCredential örnekler şunlardır:

    • DefaultAzureCredential Yerel geliştirme için iyileştirilmiş bir örnek. Bu örnek ortam değişkenlerini AZURE_TOKEN_CREDENTIALS olarak devayarlar. Daha fazla bilgi için bkz . Kimlik bilgisi türü kategorisini dışlama.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          DefaultAzureCredential credential = new(
              DefaultAzureCredential.DefaultEnvironmentVariableName);
          clientBuilder.UseCredential(credential);
      });
      
    • Belirli bir geliştirme aracına, örneğin VisualStudioCredential, karşılık gelen bir kimlik bilgisi örneği.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          VisualStudioCredential credential = new();
          clientBuilder.UseCredential(credential);
      });
      

    Tavsiye

    Ekibiniz Azure'da kimlik doğrulaması yapmak için birden çok geliştirme aracı kullandığında, araca özgü kimlik bilgileri yerine yerel geliştirme için iyileştirilmiş bir örneğini DefaultAzureCredential tercih edin.