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

Bulut uygulamaları oluşturduğunuzda 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.

Bir .env dosyasından hizmet sorumlusu alma ve Azure kaynaklarına bağlanmak için bu kimliği kullanma çalışan bir yerel geliştirme uygulaması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 Visual Studio Code Azure Araçları uzantısı, Azure CLI veya Azure PowerShell'den Azure'da oturum açmış olması gerekir. JavaScript için Azure SDK, geliştiricinin bu araçlardan birinden 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 kimlik bilgileri önbelleğinden gerekli kimlik bilgilerini 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 ve bu nedenle uygulamanın üretimde birlikte çalıştığı izinleri aşacaktır. Alternatif olarak, yerel geliştirme sırasında kullanmak üzere uygulama hizmet sorumluları oluşturabilirsiniz. Bu sorumluların kapsamı yalnızca uygulamanın ihtiyaç duyduğu erişime sahip olacak şekilde ayarlanabilir.

1 - Yerel geliştirme için Microsoft Entra 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 Microsoft Entra 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 Microsoft Entra 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 Microsoft Entra grubuna eklenmesi yeterlidir.

Geliştirme ekibiniz için mevcut bir Microsoft Entra grubunuz varsa bu grubu kullanabilirsiniz. Aksi takdirde, bir Microsoft Entra 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 Microsoft Entra Id yazarak ve ardından hizmetler altındaki Microsoft Entra ID'yi seçerek Azure portalında Microsoft Entra Id sayfasına gidin. Microsoft Entra Id sayfasını aramak ve sayfaya gitmek için Azure portalındaki üst arama çubuğunun nasıl kullanılacağını gösteren ekran görüntüsü.
Microsoft Entra Id sayfasında sol taraftaki menüden Gruplar'ı seçin. Microsoft Entra Id Default Directory 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. Güvenlikgrup türü.
  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.
Yeni bir Microsoft Entra grubu oluşturmayı gösteren ekran görüntüsü. Bu gruba üye eklemek için seçilen bağlantının konumu vurgulanır.
Ü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 bir veya daha fazla kullanıcı seçin. Siz bir nesne seçtiğinizde, nesne iletişim kutusunun altındaki Seçili öğeler listesine taşınır.
  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 - Microsoft Entra 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 Microsoft Entra 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 atandığı gösterilmektedir.

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'na tı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.
Bir Microsoft Entra 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 Microsoft Entra grubunun ilk birkaç karakterini yazın.
  2. Uygulamanızla ilişkili yerel geliştirme Microsoft Entra 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 Microsoft Entra grubunu filtrelemeyi ve seçmeyi gösteren ekran görüntüsü.
Microsoft Entra grubu 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 - VS Code, Azure CLI veya Azure PowerShell kullanarak Azure'da oturum açma

Geliştirici iş istasyonunuzda bir terminal açın ve Azure PowerShell'den Azure'da oturum açın.

Connect-AzAccount

4 - Uygulamanızda DefaultAzureCredential uygulama

Azure SDK istemci nesnelerinin kimliğini Azure'da doğrulamak için uygulamanız paketteki DefaultAzureCredential @azure/identity sınıfını kullanmalıdır. Bu senaryoda, geliştiricinin VS Code Azure araçları uzantısını DefaultAzureCredential , Azure CLI'yı veya Azure PowerShell'i kullanarak Azure'da oturum açıp açmadığını sırayla denetler. Geliştirici bu araçlardan herhangi birini kullanarak Azure'da oturum açtıysa, araçta oturum açmak için kullanılan kimlik bilgileri uygulama tarafından Azure'da kimlik doğrulaması yapmak için kullanılır.

uygulamanıza @azure/kimlik paketini ekleyerek başlayın.

npm install @azure/identity

Ardından, uygulamanızda bir Azure SDK istemci nesnesi oluşturan tüm JavaScript kodları için şunları yapmak istersiniz:

  1. sınıfını DefaultAzureCredential modülden içeri aktarın @azure/identity .
  2. Bir DefaultAzureCredential nesne oluşturun.
  3. DefaultAzureCredential Nesnesini Azure SDK istemci nesnesi oluşturucusna geçirin.

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

import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';

// Acquire a credential object
const tokenCredential = DefaultAzureCredential();

const blobServiceClient = BlobServiceClient(
        `https://${accountName}.blob.core.windows.net`,
        tokenCredential
);

DefaultAzureCredential uygulama için yapılandırılan kimlik doğrulama mekanizmasını otomatik olarak algılar ve uygulamanın Kimliğini Azure'da doğrulamak için gerekli belirteçleri alır. Bir uygulama birden fazla SDK istemcisi kullanıyorsa, her SDK istemci nesnesiyle aynı kimlik bilgisi nesnesi kullanılabilir.