Aracılığıyla paylaş


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

Yerel geliştirme sırasında uygulamaların çeşitli Azure hizmetlerine erişmek için Azure'da kimlik doğrulaması yapmaları gerekir. Yerel kimlik doğrulaması için iki yaygın yaklaşım , hizmet sorumlusu kullanmak veya geliştirici hesabı kullanmaktır. Bu makalede geliştirici hesabının nasıl kullanılacağı 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
  • Kapsam izinleri için geliştirici hesaplarına rol atama
  • Desteklenen yerel geliştirme araçlarında oturum açma
  • Uygulama kodunuzdan geliştirici hesabı kullanarak kimlik doğrulaması

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 Komut Satırı Arayüzü (Azure CLI)
  • Azure Geliştirici CLI'sı
  • Azure PowerShell

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

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 sorumluları oluşturabilirsiniz. Bu sorumluların kapsamı yalnızca uygulamanın ihtiyaç duyduğu erişime sahip olacak şekilde ayarlanabilir.

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'ı seçin.

  3. Gruplar sayfasında Yeni grup'a tıklayın.

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

    • Grup türü: Güvenlik'i seç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'in altında Üye 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ı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'u 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 ve ardından açılan menüden Rol ataması ekle'yi seçin. Rol ataması ekle sayfasında rolleri yapılandırmak ve atamak için birkaç sekme bulunur.

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

  5. Üyeler sekmesinde:

    • Değere erişim ata için Kullanıcı, grup veya hizmet sorumlusu öğesini seçin.
    • Üyeler değeri için + Üyeleri seç'i seçerek Üyeleri seçin açılır penceresini 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 ve Ata'yı, Ü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 ve ata sekmesinde, sayfanın alt kısmında Gözden geçir ve ata seçeneğini 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.

Geliştiriciler, Microsoft Entra Id'de kimlik doğrulaması yapmak için Azure CLI kullanabilir. veya DefaultAzureCredential kullanan AzureCliCredential uygulamalar, yerel olarak çalıştırılırken uygulama isteklerinin kimliğini doğrulamak için bu hesabı kullanabilir.

Azure CLI ile kimlik doğrulaması yapmak için komutunu çalıştırın az login . Varsayılan web tarayıcısına sahip bir sistemde Azure CLI, kullanıcının kimliğini doğrulamak için tarayıcıyı başlatır.

az login

Varsayılan web tarayıcısı olmayan sistemler için az login komutu cihaz kodu kimlik doğrulama akışını kullanır. Kullanıcı ayrıca --use-device-code bağımsız değişkenini belirterek bir tarayıcı başlatmak yerine Azure CLI'yi cihaz kodu akışını kullanmaya zorlayabilir.

az login --use-device-code

Uygulamanızdan Azure hizmetlerinde kimlik doğrulaması

Azure Kimlik kitaplığı, farklı senaryoları ve Microsoft Entra kimlik doğrulama akışlarını TokenCredential desteklemeye uyarlanmış uygulamaları gibi çeşitli kimlik bilgileri sağlar. İlerideki adımlarda, kullanıcı hesaplarıyla yerel olarak çalışırken nasıl kullanılacağı DefaultAzureCredential gösterilmektedir.

Kodu uygulama

DefaultAzureCredential, Microsoft Entra ID'de doğrulama yapmak için hazırlanan, sıralı bir mekanizmalar dizisidir. Her kimlik doğrulama mekanizması TokenCredential sınıfından türetilen bir sınıftır ve kimlik bilgisi olarak bilinir. Çalışma zamanında, DefaultAzureCredential ilk kimlik bilgilerini kullanarak kimlik doğrulamayı dener. Bu kimlik bilgisi bir erişim belirteci alamazsa, bir erişim belirteci başarıyla alınana kadar dizideki bir sonraki kimlik bilgisi denenir ve bu şekilde devam edilir. Bu şekilde, uygulamanız ortama özgü kod yazmadan farklı ortamlarda farklı kimlik bilgilerini kullanabilir.

Kullanmak için DefaultAzureCredential, @azure/kimlik paketlerini uygulamanıza ekleyin. Seçtiğiniz bir terminalde uygulama projesi dizinine gidin ve aşağıdaki komutu çalıştırın:

npm install @azure/identity

Azure hizmetlerine çeşitli Azure SDK istemci kitaplıklarından özel istemci sınıfları kullanılarak erişilir. Bu sınıflar ve kendi özel hizmetleriniz, uygulamanız genelinde erişilebilmeleri için kayıtlı olmalıdır. Bir istemci sınıfı ve DefaultAzureCredential oluşturmak için aşağıdaki programatik adımları tamamlayın.

  1. @azure/identity paketini içeri aktarın.
  2. Azure hizmet istemcisini oluşturun ve ona DefaultAzureCredential yeni bir örnek aktarın.
import { DefaultAzureCredential } from "@azure/identity";
import { SomeAzureServiceClient } from "@azure/arm-some-service";

const client = new SomeAzureServiceClient(new DefaultAzureCredential());