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 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.
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.
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:
- sınıfını
DefaultAzureCredential
modülden içeri aktarın@azure/identity
. - Bir
DefaultAzureCredential
nesne oluşturun. 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.