.NET SDK kullanarak Azure Data Lake Storage 1. Nesil ile hizmet-hizmet kimlik doğrulaması

Bu makalede, Azure Data Lake Storage 1. Nesil ile hizmet-hizmet kimlik doğrulaması yapmak için .NET SDK'sını kullanmayı öğreneceksiniz. .NET SDK kullanarak Data Lake Storage 1. Nesil ile son kullanıcı kimlik doğrulaması için bkz. .NET SDK kullanarak Data Lake Storage 1. Nesil ile son kullanıcı kimlik doğrulaması.

Önkoşullar

.NET uygulaması oluşturma

  1. Visual Studio'da Dosya menüsünü, Yeni'yi ve ardından Project'i seçin.

  2. Konsol Uygulaması (.NET Framework) öğesini ve ardından İleri'yi seçin.

  3. Proje adı alanına yazın CreateADLApplicationve Oluştur'u seçin.

  4. NuGet paketlerini projenize ekleyin.

    1. Çözüm Gezgini'nde proje adına sağ tıklayın ve NuGet Paketlerini Yönet'e tıklayın.

    2. NuGet Paket Yöneticisi sekmesinde Paketkaynağınınnuget.org olarak ayarlandığından ve Ön sürümü ekle onay kutusunun seçili olduğundan emin olun.

    3. Aşağıdaki NuGet paketlerini arayıp yükleyin:

      • Microsoft.Azure.Management.DataLake.Store - Bu öğreticide v2.1.3-preview kullanılır.

      • Microsoft.Rest.ClientRuntime.Azure.Authentication - Bu öğreticide v2.2.12 kullanılır.

        NuGet kaynağı ekleme

    4. NuGet Paket Yöneticisi'ni kapatın.

  5. Program.cs öğesini açın, var olan kodu silin ve ardından ad alanlarına başvurular eklemek için aşağıdaki deyimleri ekleyin.

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Collections.Generic;
using System.Security.Cryptography.X509Certificates; // Required only if you are using an Azure AD application created with certificates

using Microsoft.Rest;
using Microsoft.Rest.Azure.Authentication;
using Microsoft.Azure.Management.DataLake.Store;
using Microsoft.Azure.Management.DataLake.Store.Models;
using Microsoft.IdentityModel.Clients.ActiveDirectory;

İstemci gizli anahtarıyla hizmet-hizmet kimlik doğrulaması

Bu kod parçacığını .NET istemci uygulamanıza ekleyin. Yer tutucu değerlerini bir Microsoft Entra web uygulamasından alınan değerlerle değiştirin (önkoşul olarak listelenir). Bu kod parçacığı, Microsoft Entra web uygulaması için istemci gizli anahtarını/anahtarını kullanarak uygulamanızın kimliğini Data Lake Storage 1. Nesil etkileşimli olmayan bir şekilde doğrulamanıza olanak tanır.

private static void Main(string[] args)
{
    // Service principal / application authentication with client secret / key
    // Use the client ID of an existing AAD "Web App" application.
    string TENANT = "<AAD-directory-domain>";
    string CLIENTID = "<AAD_WEB_APP_CLIENT_ID>";
    System.Uri ARM_TOKEN_AUDIENCE = new System.Uri(@"https://management.core.windows.net/");
    System.Uri ADL_TOKEN_AUDIENCE = new System.Uri(@"https://datalake.azure.net/");
    string secret_key = "<AAD_WEB_APP_SECRET_KEY>";
    var armCreds = GetCreds_SPI_SecretKey(TENANT, ARM_TOKEN_AUDIENCE, CLIENTID, secret_key);
    var adlCreds = GetCreds_SPI_SecretKey(TENANT, ADL_TOKEN_AUDIENCE, CLIENTID, secret_key);
}

Yukarıdaki kod parçacığı bir yardımcı işlevi GetCreds_SPI_SecretKeykullanır. Bu yardımcı işlevin kodu burada GitHub'da bulunabilir.

Sertifika ile hizmet-hizmet kimlik doğrulaması

Bu kod parçacığını .NET istemci uygulamanıza ekleyin. Yer tutucu değerlerini bir Microsoft Entra web uygulamasından alınan değerlerle değiştirin (önkoşul olarak listelenir). Bu kod parçacığı, Microsoft Entra bir web uygulamasının sertifikasını kullanarak uygulamanızın kimliğini Data Lake Storage 1. Nesil etkileşimli olmayan şekilde doğrulamanıza olanak tanır. Microsoft Entra uygulaması oluşturma yönergeleri için bkz. Sertifikalarla hizmet sorumlusu oluşturma.

private static void Main(string[] args)
{
    // Service principal / application authentication with certificate
    // Use the client ID and certificate of an existing AAD "Web App" application.
    string TENANT = "<AAD-directory-domain>";
    string CLIENTID = "<AAD_WEB_APP_CLIENT_ID>";
    System.Uri ARM_TOKEN_AUDIENCE = new System.Uri(@"https://management.core.windows.net/");
    System.Uri ADL_TOKEN_AUDIENCE = new System.Uri(@"https://datalake.azure.net/");
    var cert = new X509Certificate2(@"d:\cert.pfx", "<certpassword>");
    var armCreds = GetCreds_SPI_Cert(TENANT, ARM_TOKEN_AUDIENCE, CLIENTID, cert);
    var adlCreds = GetCreds_SPI_Cert(TENANT, ADL_TOKEN_AUDIENCE, CLIENTID, cert);
}

Yukarıdaki kod parçacığı bir yardımcı işlevi GetCreds_SPI_Certkullanır. Bu yardımcı işlevin kodu burada GitHub'da bulunabilir.

Sonraki adımlar

Bu makalede, .NET SDK kullanarak Data Lake Storage 1. Nesil kimlik doğrulaması yapmak için hizmet-hizmet kimlik doğrulamasını kullanmayı öğrendiniz. Artık Data Lake Storage 1. Nesil ile çalışmak için .NET SDK'sını kullanma hakkında bilgi veren aşağıdaki makalelere bakabilirsiniz.