Kullanıcı kimlik bilgileriyle Azure kimlik doğrulaması

Bu makalede, Azure Kimlik kitaplığının kullanıcı tarafından sağlanan kimlik bilgileriyle Microsoft Entra belirteci kimlik doğrulamasını nasıl desteklediğine bakabilirsiniz. Bu destek, bu makalede ele alınan bir dizi TokenCredential uygulaması aracılığıyla mümkün kılındı.

Bu makale aşağıdaki konuları kapsar:

Kullanıcı kimlik bilgisi kimlik doğrulaması sorunlarını gidermek için bkz . Kullanıcı kimlik bilgisi 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ı kullanı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 için Treat application as a public clientöğesini seçinyes.

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 Key Vault gibi 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 Java için Azure Key Vault Gizli anahtarı istemci kitaplığından kimlik doğrulaması SecretClient gösterilmektedirDeviceCodeCredential.

/**
 * Authenticate with device code credential.
 */
DeviceCodeCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
    .challengeConsumer(challenge -> {
    // Lets the user know about 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ışı için önceki adımları 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ı SecretClient InteractiveBrowserCredentialgösterir.

/**
 * Authenticate interactively in the browser.
 */
InteractiveBrowserCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
    .clientId("<your app client ID>")
    .redirectUrl("YOUR_APP_REGISTERED_REDIRECT_URL")
    .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();

Kullanıcı adı parola kimlik bilgisi

, UsernamePasswordCredential çok faktörlü kimlik doğrulaması gerektirmeyen kullanıcı kimlik bilgilerini kullanarak bir genel istemci uygulamasının kimliğini doğrulamaya yardımcı olur. Aşağıdaki örnek, kullanarak azure-security-keyvault-secrets istemci kitaplığından kimliğini doğrulamayı SecretClient UsernamePasswordCredentialgösterir. Kullanıcının çok faktörlü kimlik doğrulaması açık olmamalıdır.

/**
 * Authenticate with username, password.
 */
UsernamePasswordCredential usernamePasswordCredential = new UsernamePasswordCredentialBuilder()
    .clientId("<your app client ID>")
    .username("<your username>")
    .password("<your password>")
    .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(usernamePasswordCredential)
    .buildClient();

Daha fazla bilgi için bkz. Microsoft kimlik platformu ve OAuth 2.0 Kaynak Sahibi Parola Kimlik Bilgileri.

Sonraki adımlar

Bu makalede kullanıcı kimlik bilgileriyle 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:

Kullanıcı kimlik bilgisi kimlik doğrulamasıyla ilgili sorunlarla karşılaşırsanız bkz . Kullanıcı kimlik bilgisi 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.