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

Bulut uygulamaları oluştururken geliştiricilerin yerel iş istasyonlarında uygulamaların hatalarını ayıklaması ve test etmeleri gerekir. Yerel geliştirme sırasında bir uygulama geliştiricinin iş istasyonunda çalıştırıldığında, yine de uygulama tarafından kullanılan tüm Azure hizmetlerinde kimlik doğrulaması yapması gerekir. Bu makalede, yerel geliştirme sırasında uygulamanın Kimliğini Azure'da doğrulamak için bir geliştiricinin Azure kimlik bilgilerinin nasıl kullanılacağı ele alınır.

Yerel geliştiricide çalışan bir uygulamanın uygulama hizmet sorumlusunu bir .env dosyasından nasıl edineceğini ve ardından Azure kaynaklarına bağlanmak için bu kimliği nasıl kullanacağını gösteren diyagram.

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 VS Code Azure Araçları uzantısı, Azure CLI veya Azure PowerShell'den Azure'da oturum açmış olması gerekir. .NET için Azure SDK, geliştiricinin bu araçlardan birinde oturum açtığını algılayabilir ve ardından uygulamanın oturum açmış kullanıcı olarak Azure'da kimliğini doğrulamak için gerekli kimlik bilgilerini kimlik bilgileri önbelleğinden alabilir.

Geliştiricilerin mevcut Azure hesaplarından yararlandığından, geliştirme ekibi için bu yaklaşımı ayarlamak en kolay yöntemdir. Ancak, bir geliştirici hesabının büyük olasılıkla uygulamanın gerektirdiğinden daha fazla izni olacaktır, bu nedenle uygulamanın üretimde çalıştırılacağı izinleri aşacaktır. Alternatif olarak, yerel geliştirme sırasında kullanmak üzere uygulama hizmet sorumluları oluşturabilirsiniz. Bu ilkeler yalnızca uygulamanın ihtiyaç duyduğu erişime sahip olacak şekilde değiştirilebilir.

1 - Yerel geliştirme için Azure AD grubu oluşturma

Bir uygulama üzerinde çalışan neredeyse her zaman birden çok geliştirici olduğundan, önce yerel geliştirmede uygulamanın ihtiyaç duyduğu rolleri (izinleri) kapsüllemek için bir Azure AD grubu oluşturmanız önerilir. Bu, aşağıdaki avantajları sunar.

  • Roller grup düzeyinde atandığından her geliştiricinin aynı rollere atandığından emin olur.
  • Uygulama için yeni bir rol gerekiyorsa, yalnızca uygulama için Azure AD grubuna eklenmesi gerekir.
  • Ekibe yeni bir geliştirici katılırsa, uygulama üzerinde çalışmak için doğru izinleri almak için doğru Azure AD grubuna eklenmesi yeterlidir.

Geliştirme ekibiniz için mevcut bir Azure AD grubunuz varsa bu grubu kullanabilirsiniz. Aksi takdirde, bir Azure AD grubu oluşturmak için aşağıdaki adımları tamamlayın.

Yönergeler Ekran görüntüsü
Sayfanın üst kısmındaki arama kutusuna Azure Active Directory yazıp hizmetler altından Azure Active Directory'yi seçerek Azure portalında Azure Active Directory sayfasına gidin. Azure Active Directory sayfasını aramak ve bu sayfaya gitmek için Azure portalındaki üst arama çubuğunun nasıl kullanılacağını gösteren ekran görüntüsü.
Azure Active Directory sayfasında sol taraftaki menüden Gruplar'ı seçin. Azure Active Directory Varsayılan Dizin sayfasının sol tarafındaki menüde Gruplar menü öğesinin konumunu gösteren ekran görüntüsü.
Tüm gruplar sayfasında Yeni grup'a tıklayın. Tüm gruplar sayfasındaki Yeni Grup düğmesinin konumunu gösteren ekran görüntüsü.
Yeni Grup sayfasında:
  1. Grup türüGüvenlik
  2. Grup adı → Genellikle uygulama adından oluşturulan güvenlik grubu için bir addır. Grubun amacını belirtmek için grubun adına local-dev gibi bir dize eklemek de yararlıdır.
  3. Grup açıklaması → Grubun amacının açıklaması.
  4. Gruba üye eklemek için Üyeler'in altında Üye seçilmedi bağlantısını seçin.
Uygulama için yeni bir Azure Active Directory grubu oluşturmak üzere formun nasıl doldurulacağını gösteren ekran görüntüsü. Bu ekran görüntüsü, bu gruba üye eklemek için seçılacak bağlantının konumunu da gösterir
Üye ekle iletişim kutusunda:
  1. Listedeki kullanıcı adları listesini filtrelemek için arama kutusunu kullanın.
  2. Bu uygulama için yerel geliştirme için kullanıcıları seçin. Nesneler seçildikçe, iletişim kutusunun en altındaki Seçili öğeler listesine geçerler.
  3. İşiniz bittiğinde Seç düğmesini seçin.
Gruba dahil edilecek geliştirici hesaplarını seçmeyi gösteren Üye ekle iletişim kutusunun ekran görüntüsü.
Yeni grup sayfasına dönüp Oluştur'u seçerek grubu oluşturun.

Grup oluşturulur ve Tüm gruplar sayfasına geri dönersiniz. Grubun görünmesi 30 saniye kadar sürebilir ve Azure portalında önbelleğe alma nedeniyle sayfayı yenilemeniz gerekebilir.
Oluştur düğmesini seçerek işlemin nasıl tamamlanmasını gösteren Yeni Grup sayfasının ekran görüntüsü.

2 - Azure AD grubuna rol atama

Ardından, uygulamanızın hangi kaynaklar üzerinde hangi rollere (izinlere) ihtiyacı olduğunu belirlemeniz ve bu rolleri uygulamanıza atamanız gerekir. Bu örnekte roller, 1. adımda oluşturulan Azure Active Directory grubuna atanır. Rollere 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 atanacağı gösterilir.

Yönergeler Ekran görüntüsü
Azure portalının üst kısmındaki arama kutusunu kullanarak kaynak grubu adını arayarak uygulamanızın kaynak grubunu bulun.

İletişim kutusundaki Kaynak Grupları başlığının altındaki kaynak grubu adını seçerek kaynak grubunuza gidin.
Rol (izinler) atamak istediğiniz kaynak grubunu bulmak ve bu gruba gitmek için Azure portalındaki en üstteki arama kutusunun nasıl kullanılacağını gösteren ekran görüntüsü.
Kaynak grubunun sayfasında sol taraftaki menüden Erişim denetimi (IAM) öğesini seçin. Erişim denetimi (IAM) menü öğesinin konumunu gösteren kaynak grubu sayfasının ekran görüntüsü.
Erişim denetimi (IAM) sayfasında:
  1. Rol atamaları sekmesini seçin.
  2. Üst menüden + Ekle'yi seçin ve ardından açılan menüden Rol ataması ekle'yi seçin.
Rol atamaları sekmesine ve bir kaynak grubuna rol atamaları eklemek için kullanılan düğmenin konumunu gösteren ekran görüntüsü.
Rol ataması ekle sayfasında, kaynak grubu için atanabilecek tüm roller listelenir.
  1. Listeyi daha yönetilebilir bir boyuta filtrelemek için arama kutusunu kullanın. Bu örnekte Depolama Blobu rolleri için filtreleme gösterilmektedir.
  2. Atamak istediğiniz rolü seçin.
Sonraki ekrana gitmek için İleri'yi seçin.
Kaynak grubuna eklenecek rol atamalarını filtrelemeyi ve seçmeyi gösteren ekran görüntüsü.
Sonraki Rol ataması ekle sayfası, rolü hangi kullanıcıya atayabileceğinizi belirtmenize olanak tanır.
  1. Erişim ata altında Kullanıcı, grup veya hizmet sorumlusu'natıklayın.
  2. Üyeler'in altında + Üyeleri seç'i seçin
Azure portalının sağ tarafında bir iletişim kutusu açılır.
Azure AD grubuna rol atamak için seçecek radyo düğmesini ve rolün atanacak grubu seçmek için kullanılan bağlantıyı gösteren ekran görüntüsü.
Üye seç iletişim kutusunda:
  1. Seç metin kutusu, aboneliğinizdeki kullanıcı ve grupların listesini filtrelemek için kullanılabilir. Gerekirse, uygulama için oluşturduğunuz yerel geliştirme Azure AD grubunun ilk birkaç karakterini yazın.
  2. Uygulamanızla ilişkili yerel geliştirme Azure AD grubunu seçin.
Devam etmek için iletişim kutusunun alt kısmındaki Seç'i seçin.
Üye seç iletişim kutusunda uygulamanın Azure AD grubunu filtrelemeyi ve seçmeyi gösteren ekran görüntüsü.
Azure AD grubu artık Rol ataması ekle ekranında seçili olarak gösterilir.

Son sayfaya gitmek için Gözden geçir + ata'yı seçin ve ardından işlemi tamamlamak için Gözden geçir + yeniden ata'yı seçin.
Tamamlanan Rol ataması ekle sayfasını ve işlemi tamamlamak için kullanılan Gözden Geçir ve ata düğmesinin konumunu gösteren ekran görüntüsü.

3 - .NET Tooling kullanarak Azure'da oturum açma

Ardından çeşitli .NET araç seçeneklerinden birini kullanarak Azure'da oturum açmanız gerekir. Oturum açmış olduğunuz hesap, daha önce oluşturup yapılandırdığınız Azure Active Directory grubunda da bulunmalıdır.

Visual Studio'nun üst menüsünde Araçlar>Seçenekler'e gidip seçenekler iletişim kutusunu açın. Seçenekleri filtrelemek için sol üstteki arama çubuğuna Azure yazın. Azure Hizmet Kimlik Doğrulaması'nın altında Hesap Seçimi'ni seçin.

Hesap seçin altındaki açılan menüyü seçin ve bir Microsoft Hesabı eklemeyi seçin. Bir hesap seçmenizi isteyen bir pencere açılır. İstediğiniz Azure hesabınızın kimlik bilgilerini girin ve ardından onayı seçin.

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

4 - Uygulamanızda DefaultAzureCredential uygulama

DefaultAzureCredential birden çok kimlik doğrulama yöntemini destekler ve çalışma zamanında kullanılan kimlik doğrulama yöntemini belirler. Bu şekilde uygulamanız, ortama özgü kod uygulamadan farklı ortamlarda farklı kimlik doğrulama yöntemleri kullanabilir.

Kimlik bilgilerinin arandığı DefaultAzureCredential sıra ve konumlar DefaultAzureCredential konumunda bulunur.

uygulamasını uygulamak DefaultAzureCredentialiçin önce ve isteğe bağlı olarak Microsoft.Extensions.Azure paketlerini uygulamanıza ekleyinAzure.Identity. Bunu komut satırını veya NuGet Paket Yöneticisi kullanarak yapabilirsiniz.

Uygulama projesi dizininde tercihinize göre bir terminal ortamı açın ve aşağıdaki komutu girin.

dotnet add package Azure.Identity
dotnet add package Microsoft.Extensions.Azure

Azure hizmetlerine genellikle SDK'dan karşılık gelen istemci sınıfları kullanılarak erişilir. Bu sınıflar ve kendi özel hizmetleriniz, uygulamanıza bağımlılık ekleme yoluyla erişilebilmeleri için dosyaya kaydedilmelidir Program.cs . Program.csiçinde, ve hizmetinizi DefaultAzureCredentialdoğru şekilde ayarlamak için aşağıdaki adımları izleyin.

  1. Azure.Identity ve Microsoft.Extensions.Azure ad alanlarını bir using yönergeye ekleyin.
  2. İlgili yardımcı yöntemleri kullanarak Azure hizmetini kaydedin.
  3. yöntemine nesnesinin DefaultAzureCredential bir örneğini UseCredential geçirin.

Bunun bir örneği aşağıdaki kod kesiminde gösterilmiştir.

using Microsoft.Extensions.Azure;
using Azure.Identity;

// Inside of Program.cs
builder.Services.AddAzureClients(x =>
{
    x.AddBlobServiceClient(new Uri("https://<account-name>.blob.core.windows.net"));
    x.UseCredential(new DefaultAzureCredential());
});

Alternatif olarak, aşağıda görüldüğü gibi ek Azure kayıt yöntemlerinin yardımı olmadan hizmetlerinizde daha doğrudan kullanabilirsiniz DefaultAzureCredential .

using Azure.Identity;

// Inside of Program.cs
builder.Services.AddSingleton<BlobServiceClient>(x =>
    new BlobServiceClient(
        new Uri("https://<account-name>.blob.core.windows.net"),
        new DefaultAzureCredential()));

Yukarıdaki kod yerel geliştirme sırasında yerel iş istasyonunuzda çalıştırıldığında, yerel geliştirme sırasında uygulamanın Kimliğini Azure kaynaklarına doğrulamak için kullanılabilen bir geliştirici kimlik bilgileri kümesi için bir uygulama hizmet sorumlusunun veya Visual Studio, VS Code, Azure CLI veya Azure PowerShell'in ortam değişkenlerine bakar.

Azure'a dağıtıldığında bu kod uygulamanızın kimliğini diğer Azure kaynaklarda da doğrulayabilir. DefaultAzureCredential diğer hizmetlerde otomatik olarak kimlik doğrulaması yapmak için ortam ayarlarını ve yönetilen kimlik yapılandırmalarını alabilir.