Aracılığıyla paylaş


Hizmet sorumlusu kullanarak Unity Kataloğu yönetilen depolama alanı oluşturma (eski)

Önemli

Bu belge kullanımdan kaldırılmıştır ve güncelleştirilmeyebilir. Bu içerikte belirtilen ürünler, hizmetler veya teknolojiler artık desteklenmemektedir. Geçerli yönetici belgelerini görüntülemek için bkz . Azure Databricks hesabınızı yönetme.

Bu makalede, hizmet sorumlusu kullanarak dış konumlar ve yönetilen depolama oluşturmanın eski bir yöntemi açıklanmaktadır. Databricks, hizmet sorumluları yerine depolama kapsayıcısına erişim sağlayan kimlik olarak Azure yönetilen kimliği kullanmanızı kesinlikle önerir. Depolamaya erişmek için bkz. Unity Kataloğu'nda Azure yönetilen kimliklerini kullanma.

Ancak, hizmet sorumlusunu kullanmaya devam etmek istiyorsanız veya Unity Kataloğu yönetilen depolama alanınız veya hizmet sorumlusu kullanan dış konumlarınız varsa ve işlemi anlamak istiyorsanız, yönergeler bu arşiv makalesinde sağlanır.

Hizmet sorumlusu (eski) kullanarak erişilen bir meta veri deposu oluşturma

Hizmet sorumlusu tarafından erişilen bir Unity Kataloğu meta veri deposu oluşturmak için:

  1. Azure Data Lake Storage 2. Nesil için bir depolama hesabı oluşturun.

    Bu hesaptaki bir depolama kapsayıcısı, kendi yönetilen depolama konumuna sahip bir katalog veya şemadakiler dışında meta veri deposunun yönetilen tablolarının tümünü depolar.

    Bkz. Azure Data Lake Storage 2. Nesil ile kullanmak için depolama hesabı oluşturma. Bu, Azure Databricks çalışma alanlarınızla aynı bölgede bulunan bir Premium performans Azure Data Lake Storage 2. Nesil hesabı olmalıdır.

  2. Yeni depolama hesabında bir kapsayıcı oluşturun.

    Aşağıdaki biçimdeki kapsayıcı için ADLSv2 URI'sini not edin:

    abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
    

    İzleyen adımlarda değerini bu URI ile değiştirin <storage-container> .

  3. Microsoft Entra Id'de bir hizmet sorumlusu oluşturun ve hizmet sorumlusu ve Microsoft Entra Id (Azure Active Directory) kullanarak Access depolamadaki yönergeleri kullanarak bu hizmet sorumlusuna izinler atayın.

    Unity Kataloğu, Unity Kataloğu kullanıcıları adına depolama hesabındaki kapsayıcılara erişmek için bu hizmet sorumlusunu kullanır. Hizmet sorumlusu için bir istemci gizli dizisi oluşturun. Bkz . Microsoft Entra ID hizmet sorumlusu kimlik doğrulaması. Hizmet sorumlusu, istemci uygulama kimliği ve bu hizmet sorumlusunu oluşturduğunuz dizin kimliği için istemci gizli dizisini not edin. Aşağıdaki adımlarda , <client-application-id>ve <directory-id> değerlerini bu değerlerle değiştirin<client-secret>.

  4. Meta veri deposu oluştururken kullanacağınız bu özellikleri not edin:

    • <aad-application-id>
    • Depolama hesabı bölgesi
    • <storage-container>
    • Hizmet sorumlusunun <client-secret>, <client-application-id>ve <directory-id>
  5. Hesap konsolu kullanıcı arabiriminde hizmet sorumlusu kullanılarak erişilen bir meta veri deposu oluşturamazsınız. Bunun yerine Hesap Meta Veri Depoları API'sini kullanın. Örneğin:

    curl -n -X POST --header 'Content-Type: application/json' https://<account-domain>/api/2.0/accounts/<account-id>/metastores
    --data '{
       "metastore_info": {
          "name": "<metastore-name>",
          "storage_root": "<storage-container>",
          "region": "<region>"
          "storage_root_credential_id"
       }
    }'
    

    Hesap düzeyinde API'lerde kimlik doğrulaması yapmayı öğrenmek için bkz . Microsoft Entra ID hizmet sorumlusu kimlik doğrulaması.

    Meta veri deposu oluşturan kullanıcı sahibidir. Databricks, meta veri deposunun sahipliğini bir gruba yeniden atamanızı önerir. Bkz. Meta veri deposu yöneticisi atama.

  6. Meta veri deposunun kimliğini not edin. Meta veri deposunun özelliklerini görüntülediğinizde, meta veri deposunun kimliği URL'nin sonraki /data ve önceki /configurationbölümüdür.

  7. Meta veri deposu oluşturuldu, ancak Unity Kataloğu henüz buna veri yazamıyor. Meta veri deposunun kurulumunu tamamlamak için:

    1. Ayrı bir tarayıcıda, meta veri deposuna çalışma alanı yöneticisi olarak atanmış bir çalışma alanında oturum açın.

    2. URL'nin ilk bölümü olan çalışma alanı URL'sini, sonrasında https:// ve dahil olmak üzere azuredatabricks.netnot edin.

    3. Kişisel erişim belirteci oluşturma. Bkz. Belirteç yönetimi API'sine.

    4. Kişisel erişim belirtecini giriş dizininizdeki dosyaya .netrc ekleyin. Bu, kişisel erişim belirtecinin kabuğunuzun komut geçmişinde görünmesini engelleyerek güvenliği artırır. Bkz. Belirteç yönetimi API'sine.

    5. Meta veri deposunun kök depolama kimlik bilgilerini oluşturmak için aşağıdaki cURL komutunu çalıştırın. Yer tutucu değerlerini değiştirin:

      • <workspace-url>: Kişisel erişim belirtecinin oluşturulduğu çalışma alanının URL'si.
      • <credential-name>: Depolama kimlik bilgileri için bir ad.
      • <directory-id>: Oluşturduğunuz hizmet sorumlusunun dizin kimliği.
      • <application-id>: Oluşturduğunuz hizmet sorumlusunun uygulama kimliği.
      • <client-secret>: Hizmet sorumlusu için oluşturduğunuz istemci gizli dizisinin değeri (istemci gizli anahtarı kimliği değil).
      curl -n -X POST --header 'Content-Type: application/json' https://<workspace-url>/api/2.0/unity-catalog/storage-credentials --data "{
         \"name\": \"<credential-name>\",
         \"azure_service_principal\": {
         \"directory_id\": \"<directory-id>\",
         \"application_id\": \"<application-id>\",
         \"client_secret\": \"<client-secret>\"
         }
      }"
      

      cURL komutunun yanıtından değeri olan id depolama kimlik bilgisi kimliğini not edin.

  8. Meta veri deposunu yeni kök depolama kimlik bilgileriyle güncelleştirmek için aşağıdaki cURL komutunu çalıştırın. Yer tutucu değerlerini değiştirin:

    • <workspace-url>: Kişisel erişim belirtecinin oluşturulduğu çalışma alanının URL'si.
    • <metastore-id>: Meta veri deposunun kimliği.
    • <storage-credential-id>: Önceki komuttan depolama kimlik bilgilerinin kimliği.
    curl -n -X PATCH --header 'Content-Type: application/json' https://<workspace-url>/api/2.0/unity-catalog/metastores/<metastore-id> --data
    "{\"storage_root_credential_id\": \"<storage-credential-id>\"}"
    

Artık meta veri deposuna çalışma alanları ekleyebilirsiniz.

Hizmet sorumlusu kullanan bir depolama kimlik bilgisi oluşturma (eski)

Hizmet sorumlusu kullanarak depolama kimlik bilgileri oluşturmak için Azure Databricks hesap yöneticisi olmanız gerekir. Hizmet sorumlusu depolama kimlik bilgilerini oluşturan hesap yöneticisi, üzerindeki izinleri yönetmek için sahipliği başka bir kullanıcı veya gruba devredebilir.

İlk olarak, bir hizmet sorumlusu oluşturun ve hizmet sorumlusu ve Microsoft Entra Id(Azure Active Directory) kullanarak Access depolamadan sonra depolama hesabınıza erişim verin.

Katalog Gezgini'nde hizmet sorumlusu depolama kimlik bilgileri ekleyemezsiniz. Bunun yerine Depolama Kimlik Bilgileri API'sini kullanın. Örneğin:

curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
   "name": "<storage-credential-name>",
   "read_only": true,
   "azure_service_principal": {
      "directory_id": "<directory-id>",
      "application_id": "<application-id>",
      "client_secret": "<client-secret>"
   },
   "skip_validation": "false"
   }'

Databricks Terraform sağlayıcısını ve databricks_storage_credential kullanarak da depolama kimlik bilgileri oluşturabilirsiniz.