Я ищу способ аутентификации пользователя по контейнеру BLOB-объектов Azure.Пример кода (да, предупреждение новичка) работает просто отлично, используя ключ доступа к учетной записи хранения, но это неудобно, как передача полного контроля над всей учетной записью хранения любому, кто украл учетные данные.
Пример аутентификации (из https://azure.microsoft.com/en-us/resources/samples/storage-python-getting-started/) выглядит следующим образом:
block_blob_service = BlockBlobService(account_name='<acc>', account_key='<key>')
У меня есть пользователь службы, настроенный в Active Directory с ролью в учетной записи хранения, ограничивающей его использование контейнера BLOB-объектов; он предназначенничего не делать, кроме как записывать новые элементы в один конкретный контейнер.
Я хотел бы использовать учетные данные этого пользователя в скрипте python, чтобы в случае утечки не было доступа к другим ресурсам хранилища.создать ключ доступа на основе комбинации ресурса и идентификатора или аналогичного способа достижения этой цели? Я просматривал документы API Azure Python API, но ничего не добился.
Редактировать: Я немного сделалЯ создал субъект-службу с соответствующими ограничениями IAM. Похоже, что при успешном входе в системуhis:
credentials = ServicePrincipalCredentials( client_id=<>, secret=<>, tenant=<>)
print(credentials)
Что дает мне объект:
<msrestazure.azure_active_directory.ServicePrincipalCredentials object at 0x7f34f52668d0>
И ошибка, если я даю неверные учетные данные.Итак, отлично, у меня есть объект учетных данных.Что теперь?Я не могу найти способ передать его в BlockBlobService.