Java geliştirme ortamlarında Azure kimlik doğrulaması
Bu makalede, Microsoft Entra belirteci kimlik doğrulaması için Azure Kimlik kitaplığı desteğine genel bir bakış sağlanır. Bu destek, bir dizi TokenCredential
uygulama aracılığıyla geliştirici makinelerinde yerel olarak çalışan uygulamalar için kimlik doğrulaması sağlar.
Bu makale aşağıdaki konuları kapsar:
- Cihaz kodu kimlik bilgileri
- Etkileşimli tarayıcı kimlik bilgileri
- Azure CLI kimlik bilgileri
- IntelliJ kimlik bilgileri
Geliştirme ortamı kimlik doğrulaması sorunlarını gidermek için bkz . Geliştirme ortamı kimlik doğrulaması sorunlarını giderme.
Cihaz kodu kimlik bilgileri
Cihaz kodu kimlik bilgisi, kullanıcı arabirimi sınırlı olan cihazlarda kullanıcının kimliğini etkileşimli olarak doğrular. Uygulama kimlik doğrulaması yapmaya çalıştığında kullanıcıdan tarayıcı etkin bir makinede oturum açma URL'sini ziyaret etmelerini isteme yoluyla çalışır. Kullanıcı daha sonra oturum açma kimlik bilgileriyle birlikte yönergelerde belirtilen cihaz kodunu girer. Kimlik doğrulaması başarılı olduğunda, kimlik doğrulaması isteyen uygulamanın kimliği üzerinde çalıştığı cihazda başarıyla doğrulanır.
Daha fazla bilgi için bkz. Microsoft kimlik platformu ve OAuth 2.0 cihaz yetkilendirmesi verme akışı.
Cihaz kodu akışı için uygulamaları etkinleştirme
Cihaz kodu akışı aracılığıyla kullanıcının kimliğini doğrulamak için aşağıdaki adımları uygulayın:
- Azure portalında Microsoft Entra Id'ye gidin ve uygulama kaydınızı bulun.
- Kimlik Doğrulaması bölümüne gidin.
- Önerilen Yeniden Yönlendirilen URI'ler bölümünde ile
/common/oauth2/nativeclient
biten URI'yi denetleyin. - Varsayılan İstemci Türü altında Uygulamayı genel istemci olarak kabul edin için evet'i seçin.
Bu adımlar uygulamanın kimliğini doğrulamasını sağlar, ancak yine de microsoft Entra Id'de oturum açma veya sizin yerinize kaynaklara erişme izni yoktur. Bu sorunu gidermek için API İzinleri'ne gidin ve Microsoft Graph'ı ve erişmek istediğiniz kaynakları etkinleştirin.
Ayrıca, ilk kez oturum açtığınızda uygulamanıza onay vermek için kiracınızın yöneticisi olmanız gerekir.
Microsoft Entra Id'nizde cihaz kodu akışı seçeneğini yapılandıramıyorsanız, uygulamanızın çok kiracılı olmasını gerektirebilir. Uygulamanızı çok kiracılı hale getirmek için Kimlik Doğrulama paneline gidin ve herhangi bir kuruluş dizinindeki Hesaplar'ı seçin. Ardından Uygulamayı Genel İstemci Olarak Kabul Edin için evet'i seçin.
Cihaz kodu akışıyla kullanıcı hesabının kimliğini doğrulama
Aşağıdaki örnekte, ioT cihazında kullanarak DeviceCodeCredential
azure-security-keyvault-secrets istemci kitaplığından kimlik doğrulaması SecretClient
gösterilmektedir.
DeviceCodeCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
.challengeConsumer(challenge -> {
// lets user know of the challenge
System.out.println(challenge.getMessage());
}).build();
// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(deviceCodeCredential)
.buildClient();
Etkileşimli tarayıcı kimlik bilgileri
Bu kimlik bilgisi, kullanıcının kimliğini varsayılan sistem tarayıcısıyla etkileşimli olarak doğrular ve uygulamanızın kimliğini doğrulamak için kendi kimlik bilgilerinizi kullanmanıza izin vererek sorunsuz bir kimlik doğrulama deneyimi sunar.
Etkileşimli tarayıcı OAuth 2 akışı için uygulamaları etkinleştirme
kullanmak InteractiveBrowserCredential
için, bir kullanıcı adına oturum açma izinleri olan bir uygulamayı Microsoft Entra Id'ye kaydetmeniz gerekir. Uygulamanızı kaydetmek için cihaz kodu akışının önceki adımlarını izleyin. Daha önce belirtildiği gibi, herhangi bir kullanıcı hesabının oturum açabilmesi için kiracınızın yöneticisinin uygulamanıza onay vermesi gerekir.
içinde bir yeniden yönlendirme URL'si InteractiveBrowserCredentialBuilder
gerektiğini fark edebilirsiniz. Yeniden yönlendirme URL'sini kayıtlı Microsoft Entra uygulamanızın Kimlik Doğrulaması bölümünün altına Yeniden Yönlendirme URI'leri alt bölümüne ekleyin.
Kullanıcı hesabının kimliğini tarayıcıda etkileşimli olarak doğrulama
Aşağıdaki örnek, kullanarak azure-security-keyvault-secrets istemci kitaplığından kimliğini doğrulamayı SecretClient
InteractiveBrowserCredential
gösterir.
InteractiveBrowserCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
.clientId("<your client ID>")
.redirectUrl("http://localhost:8765")
.build();
// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(interactiveBrowserCredential)
.buildClient();
Azure CLI kimlik bilgileri
Azure CLI kimlik bilgileri, Azure CLI'daki etkin kullanıcı veya hizmet sorumlusuyla geliştirme ortamında kimlik doğrulaması yapar. Zaten oturum açmış olan bir kullanıcıya verilen Azure CLI'yi kullanır ve uygulamanın kimliğini Microsoft Entra Id ile doğrulamak için CLI'yi kullanır.
AzureCliCredential için Azure CLI'da oturum açma
Aşağıdaki Azure CLI komutuyla kullanıcı olarak oturum açın:
az login
Aşağıdaki komutu kullanarak hizmet sorumlusu olarak oturum açın:
az login \
--service-principal \
--username <client-ID> \
--password <client-secret> \
--tenant <tenant-ID>
Hesap veya hizmet sorumlusunun birden çok kiracıya erişimi varsa, aşağıdaki komutun çıkışında istenen kiracının veya aboneliğin "Etkin" durumunda olduğundan emin olun:
az account list
Kodda kullanmadan AzureCliCredential
önce, hesabın başarıyla yapılandırıldığını doğrulamak için aşağıdaki komutu çalıştırın.
az account get-access-token
Kuruluşunuzdaki yenileme belirteci geçerliliğine bağlı olarak bu işlemi belirli bir süre sonra tekrarlamanız gerekebilir. Genellikle yenileme belirteci geçerlilik süresi birkaç hafta ile birkaç ay sürer. AzureCliCredential
yeniden oturum açmanızı ister.
Azure CLI ile kullanıcı hesabının kimliğini doğrulama
Aşağıdaki örnekte azure CLI yüklü ve oturum açmış bir iş istasyonunda kullanarak AzureCliCredential
azure-security-keyvault-secrets istemci kitaplığından kimlik doğrulaması SecretClient
gösterilmektedir.
AzureCliCredential cliCredential = new AzureCliCredentialBuilder().build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(cliCredential)
.buildClient();
IntelliJ kimlik bilgileri
IntelliJ kimlik bilgisi, Azure Toolkit for IntelliJ hesabıyla geliştirme ortamında kimlik doğrulaması yapar. IntelliJ IDE'de oturum açmış kullanıcı bilgilerini kullanır ve Microsoft Entra Id ile uygulamanın kimliğini doğrulamak için kullanır.
IntelliJcredential için IntelliJ için Azure Toolkit'te oturum açma
Oturum açmak için aşağıdaki adımları kullanın:
- IntelliJ pencerenizde Dosya > Ayarları > Eklentileri'yi açın.
- Markette "Azure Toolkit for IntelliJ" araması yapın. IDE'yi yükleyin ve yeniden başlatın.
- Araçlar > Azure Azure > Oturum Açma yeni menü öğesini bulma
- Cihaz Oturum Açma, kullanıcı hesabı olarak oturum açmanıza yardımcı olur. Web sitesinde cihaz koduyla oturum açmak
login.microsoftonline.com
için yönergeleri izleyin. IntelliJ sizden aboneliklerinizi seçmenizi ister. Erişmek istediğiniz kaynakları içeren aboneliği seçin.
IntelliJ IDEA ile kullanıcı hesabının kimliğini doğrulama
Aşağıdaki örnekte, IntelliJ IDEA'nın yüklü olduğu bir iş istasyonunda kullanarak azure-security-keyvault-secrets istemci kitaplığından IntelliJCredential
kimlik doğrulaması SecretClient
gösterilmektedir ve kullanıcı IntelliJ için Azure Toolkit'te bir Azure hesabıyla oturum açmıştır.
IntelliJCredential intelliJCredential = new IntelliJCredentialBuilder()
.build();
// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(intelliJCredential)
.buildClient();
Sonraki adımlar
Bu makalede, bilgisayarınızda bulunan kimlik bilgilerini kullanarak geliştirme sırasında kimlik doğrulaması ele alınmıştır. Bu kimlik doğrulama biçimi, Java için Azure SDK'da kimlik doğrulaması yapmanın birden çok yoludur. Aşağıdaki makalelerde diğer yollar açıklanmaktadır:
- Azure'da barındırılan uygulamaların kimliğini doğrulama
- Hizmet sorumlularıyla kimlik doğrulaması
- Kullanıcı kimlik bilgileriyle kimlik doğrulaması
Geliştirme ortamı kimlik doğrulamasıyla ilgili sorunlarla karşılaşırsanız bkz . Geliştirme ortamı kimlik doğrulaması sorunlarını giderme.
Kimlik doğrulamasında ustalaşdıktan sonra, SDK tarafından sağlanan günlük işlevselliği hakkında bilgi için bkz . Java için Azure SDK'da günlüğe kaydetmeyi yapılandırma.