Öğretici: Azure Data Lake Store'a erişmek için Linux VM sistem tarafından atanan yönetilen kimliği kullanma

Azure kaynakları için yönetilen kimlikler, Microsoft Entra Id'nin bir özelliğidir. Azure kaynakları için yönetilen kimlikleri destekleyen Azure hizmetlerinin her biri kendi zaman çizelgesine tabidir. Başlamadan önce kaynağınıza yönelik yönetilen kimliklerin kullanılabilirlik durumunu ve bilinen sorunları gözden geçirdiğinizden emin olun.

Bu öğreticide, Azure Data Lake Store'a erişmek üzere Linux sanal makinesi (VM) için sistem tarafından atanan yönetilen kimliğin nasıl kullanılacağı gösterilmektedir. Şunları yapmayı öğreneceksiniz:

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure Data Lake Store'a VM'niz için erişim verme.
  • Azure Data Lake Store'a erişmek için VM'nin sistem tarafından atanan yönetilen kimliğini kullanarak bir erişim belirteci alın.

Önkoşullar

  • Azure kaynakları için yönetilen kimlikler özelliği hakkında bilgi sahibi değilseniz bu genel bakışı inceleyin.
  • Azure hesabınız yoksa, devam etmeden önce ücretsiz bir hesaba kaydolun.
  • Gerekli kaynak oluşturma ve rol yönetimini gerçekleştirmek için hesabınız uygun kapsamda (aboneliğiniz veya kaynak grubunuz) "Sahip" izinlerini gerektiriyor. Rol atama konusunda yardıma ihtiyacınız varsa bkz . Azure abonelik kaynaklarınıza erişimi yönetmek için Azure rolleri atama.

Erişim verme

Bu bölümde, VM'nize Azure Data Lake Store'daki dosyalara ve klasörlere nasıl erişim verilip ve ven velilerin nasıl verilip ve ven verilip ve ven Bu adımda, mevcut Data Lake Store örneğini kullanabilir veya yeni bir sunucu oluşturabilirsiniz. Azure portalını kullanarak Data Lake Store örneği oluşturmak için, Azure Data Lake Store hızlı başlangıcı'nı izleyin. Azure Data Lake Store belgeleri arasında Azure CLI'nin ve Azure PowerShell'in kullanıldığı hızlı başlangıçlar da vardır.

Data Lake Store'da yeni bir klasör oluşturun ve Linux VM sistem tarafından atanan yönetilen kimliğine bu klasördeki dosyaları okuma, yazma ve yürütme izni verin:

  1. Azure portalında, sol bölmedeki Data Lake Store'u seçin.
  2. Kullanmak istediğiniz Data Lake Store örneğini seçin.
  3. Komut çubuğunda Veri Gezgini'ni seçin.
  4. Data Lake Store örneğinin kök klasörü seçilidir. Komut çubuğunda Erişim'i seçin.
  5. Ekle'yi seçin. Seç kutusuna VM'nizin adını girin (örneğin, DevTestVM). Arama sonuçlarından VM'nizi seçin ve ardından Seç'i seçin.
  6. İzinleri Seç'i seçin. Okuma ve Yürütme'yi seçin, Bu klasör'e ekleyin ve Yalnızca erişim izni olarak ekleyin. Tamam’ı seçin. İzin başarıyla eklenmiş olmalıdır.
  7. Erişim bölmesini kapatın.
  8. Bu öğretici için, yeni bir klasör oluşturun. Komut çubuğunda Yeni Klasör'ü seçin ve yeni klasöre bir ad verin (örneğin, TestFolder). Tamam’ı seçin.
  9. Oluşturduğunuz klasörü seçin ve sonra da komut çubuğunda Erişim'e seçin.
  10. 5. adıma benzer biçimde, Ekle'yi seçin. Seç kutusuna VM'nizin adını girin. Arama sonuçlarından VM'nizi seçin ve ardından Seç'i seçin.
  11. 6. adıma benzer biçimde, İzin Seç'i seçin. Okuma, Yazma ve Yürütme'yi seçin, Bu klasör'e ekleyin ve Erişim izni girdisi ve varsayılan erişim girdisi olarak ekleyin. Tamam’ı seçin. İzin başarıyla eklenmiş olmalıdır.

Azure kaynakları için yönetilen kimlikler artık oluşturduğunuz klasördeki dosyalar üzerinde tüm işlemleri gerçekleştirebilir. Data Lake Store'a erişimi yönetme hakkında daha fazla bilgi için bkz. Data Lake Store’da Erişim Denetimi.

Bir erişim belirteci alma

Bu bölümde bir erişim belirtecinin nasıl alınıp Data Lake Store dosya sisteminin nasıl çağrılacakları gösterilmektedir. Azure Data Lake Store, Microsoft Entra kimlik doğrulamasını yerel olarak desteklediği için Azure kaynakları için yönetilen kimlikler kullanılarak elde edilen erişim belirteçlerini doğrudan kabul edebilir. Data Lake Store dosya sisteminde kimlik doğrulaması yapmak için, Microsoft Entra Id tarafından verilen bir erişim belirtecini Data Lake Store dosya sistemi uç noktanıza gönderirsiniz. Erişim belirteci yetkilendirme üst bilgisi içinde, "Bearer <ACCESS_TOKEN_VALUE>" biçimindedir. Microsoft Entra kimlik doğrulaması için Data Lake Store desteği hakkında daha fazla bilgi edinmek için bkz . Microsoft Entra Kimliğini kullanarak Data Lake Store ile kimlik doğrulaması.

Bu öğreticide, REST istekleri yapmak üzere cURL kullanarak Data Lake Store dosya sistemi için REST API'de kimlik doğrulaması yaparsınız.

Dekont

Data Lake Store dosya sistemi için istemci SDK'ları henüz Azure kaynakları için yönetilen kimlikleri desteklememektedir.

Bu adımları tamamlamak bir SSH istemciniz olmalıdır. Windows kullanıyorsanız, Linux için Windows Alt Sistemi'ndeki SSH istemcisini kullanabilirsiniz. SSH istemcinizin anahtarlarını yapılandırmak için yardıma ihtiyacınız olursa, bkz. Azure'da Windows ile SSH anahtarlarını kullanma veya Azure’da Linux VM’ler için SSH ortak ve özel anahtar çifti oluşturma.

  1. Portalda Linux VM'nizi bulun. Genel Bakış'ta Bağlan'ı seçin.

  2. Tercih ettiğiniz SSH istemcisini kullanarak VM'ye bağlanın.

  3. Terminal penceresinde, Data Lake Store dosya sisteminin erişim belirtecini almak için cURL'yi kullanarak yerel Azure kaynakları için yönetilen kimlikler uç noktasına bir istek gönderin. Data Lake Store'un kaynak tanımlayıcısı şeklindedir https://datalake.azure.net/. Kaynak tanımlayıcısına sondaki eğik çizgiyi eklemek önemlidir.

    curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fdatalake.azure.net%2F' -H Metadata:true   
    

    Başarılı bir yanıt Data Lake Store'da kimlik doğrulaması için kullandığınız erişim belirtecini döndürür:

    {"access_token":"eyJ0eXAiOiJ...",
     "refresh_token":"",
     "expires_in":"3599",
     "expires_on":"1508119757",
     "not_before":"1508115857",
     "resource":"https://datalake.azure.net/",
     "token_type":"Bearer"}
    
  4. cURL kullanarak, kök klasördeki klasörleri listelemek için Data Lake Store dosya sisteminizin REST uç noktasına bir istek gönderin. Bu, her şeyin doğru yapılandırılıp yapılandırılmadığını denetlemenin basit bir yoludur. Önceki adımdan erişim belirtecinin değerini kopyalayın. Yetkilendirme üst bilgisindeki "Taşıyıcı" dizesinin büyük "B" olması önemlidir. Data Lake Store örneğinizin adını Azure portalındaki Data Lake Store bölmesinin Genel Bakış bölümünde bulabilirsiniz.

    curl https://<YOUR_ADLS_NAME>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS -H "Authorization: Bearer <ACCESS_TOKEN>"
    

    Başarılı bir yanıt şöyle görünür:

    {"FileStatuses":{"FileStatus":[{"length":0,"pathSuffix":"TestFolder","type":"DIRECTORY","blockSize":0,"accessTime":1507934941392,"modificationTime":1508105430590,"replication":0,"permission":"770","owner":"bd0e76d8-ad45-4fe1-8941-04a7bf27f071","group":"bd0e76d8-ad45-4fe1-8941-04a7bf27f071"}]}}
    
  5. Artık Data Lake Store örneğinize bir dosya yüklemeyi deneyebilirsiniz. Önce karşıya yüklenecek dosyayı oluşturun.

    echo "Test file." > Test1.txt
    
  6. cURL kullanarak, dosyayı daha önce oluşturduğunuz klasöre yüklemek için Data Lake Store dosya sisteminizin REST uç noktasına bir istek gönderin. Karşıya yükleme işlemi bir yeniden yönlendirme içerir ve cURL yeniden yönlendirmeyi otomatik olarak izler.

    curl -i -X PUT -L -T Test1.txt -H "Authorization: Bearer <ACCESS_TOKEN>" 'https://<YOUR_ADLS_NAME>.azuredatalakestore.net/webhdfs/v1/<FOLDER_NAME>/Test1.txt?op=CREATE' 
    

    Başarılı bir yanıt şöyle görünür:

    HTTP/1.1 100 Continue
    HTTP/1.1 307 Temporary Redirect
    Cache-Control: no-cache, no-cache, no-store, max-age=0
    Pragma: no-cache
    Expires: -1
    Location: https://mytestadls.azuredatalakestore.net/webhdfs/v1/TestFolder/Test1.txt?op=CREATE&write=true
    x-ms-request-id: 756f6b24-0cca-47ef-aa12-52c3b45b954c
    ContentLength: 0
    x-ms-webhdfs-version: 17.04.22.00
    Status: 0x0
    X-Content-Type-Options: nosniff
    Strict-Transport-Security: max-age=15724800; includeSubDomains
    Date: Sun, 15 Oct 2017 22:10:30 GMT
    Content-Length: 0
    
    HTTP/1.1 100 Continue
    
    HTTP/1.1 201 Created
    Cache-Control: no-cache, no-cache, no-store, max-age=0
    Pragma: no-cache
    Expires: -1
    Location: https://mytestadls.azuredatalakestore.net/webhdfs/v1/TestFolder/Test1.txt?op=CREATE&write=true
    x-ms-request-id: af5baa07-3c79-43af-a01a-71d63d53e6c4
    ContentLength: 0
    x-ms-webhdfs-version: 17.04.22.00
    Status: 0x0
    X-Content-Type-Options: nosniff
    Strict-Transport-Security: max-age=15724800; includeSubDomains
    Date: Sun, 15 Oct 2017 22:10:30 GMT
    Content-Length: 0
    

Data Lake Store dosya sistemi için başka API'ler kullanarak dosyaların sonuna ekleyebilir, dosyaları indirebilir ve daha birçok işlem yapabilirsiniz.

Sonraki adımlar

Bu öğreticide, Azure Data Lake Store'a erişmek için Linux VM sistem tarafından atanan yönetilen kimlik kullanmayı öğrendiniz. Azure Data Lake Store hakkında daha fazla bilgi edinmek için bkz: