Как мне безопасно подключить ADLS Gen 2 к веб-службе AKS?

#python #azure-data-lake #azure-aks #azure-data-lake-gen2

#python #azure-data-lake #azure-aks #azure-data-lake-gen2

Вопрос:

У меня есть модель, размещенная на AKS, которая требует чтения файла в ADLS Gen 2 для разработки функций на Python. Я предоставил AKS управляемую идентификацию и предоставил этому поставщику данных хранилища больших двоичных объектов доступ к ADLS Gen 2.

Учитывая это, как мне подключить мою веб-службу AKS к ADLS Gen 2 в моем коде Python? Я вижу документацию для этого, учитывая секрет клиента и идентификатор клиента здесь, но могу ли я сделать это с помощью управляемой идентификации без явного использования секрета клиента и идентификатора клиента?

Комментарии:

1. пожалуйста, обратитесь к github.com/Azure/azure-sdk-for-python/issues /…

2. Какие-либо обновления по этой проблеме?

3. Пока нет, но я планирую попробовать что-то вроде этого: learn.microsoft.com/en-us/azure/machine-learning /. … Я думаю, что все немного сложнее, поскольку мне нужно назначить идентификатор модуля AAD.

4. Таким образом, вы не можете просто постоянно присоединять adlsgen2 к kubernetes в качестве тома, а затем ссылаться на этот том в своем коде на python? (например, как DataBricks)

Ответ №1:

Чтобы использовать управляемую идентификацию для доступа к ADLS Gen 2, вам просто нужно использовать ManagedIdentityCredential вместо ClientSecretCredential предоставленного вами примера кода.

 credential = ManagedIdentityCredential()
service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format("https", storage_account_name), credential=credential)
  

Примечание: Приведенный выше код применяется только к назначенному системой управляемому удостоверению, если вы используете назначенное пользователем управляемое удостоверение, вам необходимо использовать client_id параметр.

 credential = ManagedIdentityCredential(client_id = "<client-id of your user-assigned managed identity>")