Share via


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:

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:

  1. Azure portalında Microsoft Entra Id'ye gidin ve uygulama kaydınızı bulun.
  2. Kimlik Doğrulaması bölümüne gidin.
  3. Önerilen Yeniden Yönlendirilen URI'ler bölümünde ile /common/oauth2/nativeclientbiten URI'yi denetleyin.
  4. 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 InteractiveBrowserCredentialiç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 InteractiveBrowserCredentialBuildergerektiğ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ı SecretClientInteractiveBrowserCredentialgö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:

  1. IntelliJ pencerenizde Dosya > Ayarlar > Eklentileri'yi açın.
  2. Markette "Azure Toolkit for IntelliJ" araması yapın. IDE'yi yükleyin ve yeniden başlatın.
  3. Araçlar > Azure Azure > Oturum Açma yeni menü öğesini bulma
  4. 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.

Windows'da, IntelliJ kimlik bilgilerini okumak için KeePass veritabanı yoluna da ihtiyacınız vardır. Yolu IntelliJ ayarlarında Dosya > Ayarlar > Görünüm ve Davranış > Sistemi Ayarlar > Parolalar altında bulabilirsiniz. KeePassDatabase yolunun konumunu not edin.

IntelliJ IDEA ile kullanıcı hesabının kimliğini doğrulama

Aşağıdaki örnekte, IntelliJ IDEA'nın yüklü olduğu ve kullanıcının bir Azure hesabıyla oturum açtığı bir iş istasyonunda kullanarak IntelliJCredential azure-security-keyvault-secrets istemci kitaplığından kimlik doğrulaması SecretClient gösterilmektedir.

IntelliJCredential intelliJCredential = new IntelliJCredentialBuilder()
  // KeePass configuration isrequired only for Windows. No configuration needed for Linux / Mac.
  .keePassDatabasePath("C:\\Users\\user\\AppData\\Roaming\\JetBrains\\IdeaIC2020.1\\c.kdbx")
  .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();

Visual Studio Code kimlik bilgileri

Visual Studio Code kimlik bilgileri, VS Code'un VS Code Azure Hesabı uzantısıyla yüklendiği geliştirme ortamlarında kimlik doğrulamasını etkinleştirir. VS Code IDE'deki oturum açmış kullanıcı bilgilerini kullanır ve microsoft Entra kimliğine göre uygulamanın kimliğini doğrulamak için kullanır.

VisualStudioCodeCredential için Visual Studio Code Azure Hesap Uzantısı'nda oturum açın

Azure Hesabı uzantısıyla Nn tümleştirmesi, Visual Studio Code kimlik doğrulamasını işler. Bu kimlik doğrulama biçimini kullanmak için Azure Hesabı uzantısını yükleyin, ardından Görünüm > Komut Paleti'ni kullanarak Azure: Oturum Aç komutunu yürütebilirsiniz. Bu komut bir tarayıcı penceresi açar ve Azure'da oturum açmanıza olanak tanıyan bir sayfa görüntüler. Oturum açma işlemini tamamladıktan sonra, tarayıcıyı yönlendirildikçe kapatabilirsiniz. Uygulamanızı çalıştırmak (hata ayıklayıcıda veya geliştirme makinesinde herhangi bir yerde) oturum açma bilgilerinizden kimlik bilgilerini kullanır.

Visual Studio Code ile kullanıcı hesabının kimliğini doğrulama

Aşağıdaki örnekte, Visual Studio Code'un yüklü olduğu ve kullanıcının bir Azure hesabıyla oturum açtığı bir iş istasyonunda kullanarak VisualStudioCodeCredential azure-security-keyvault-secrets istemci kitaplığından kimlik doğrulaması SecretClient gösterilmektedir.

VisualStudioCodeCredential visualStudioCodeCredential = new VisualStudioCodeCredentialBuilder().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(visualStudioCodeCredential)
  .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:

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.