Аутентификация большого двоичного объекта Azure с помощью субъекта-пользователя Azure AD java sdk
Есть ли способ аутентификации службы хранилища больших двоичных объектов с помощью информации о пользователе объявления Azure (имя пользователя и пароль). Я использую принципал приложения, и он работает нормально: фрагмент кода
ClientSecretCredential clientSecretCredential = new ClientSecretCredentialBuilder()
.clientSecret(clientSecret)
.clientId(clientId)
.tenantId(tenantId)
.build();
new BlobServiceClientBuilder()
.credential(clientSecretCredential)
.endpoint(endpoint)
.buildClient()
.getBlobContainerClient(container)
.getProperties();
А теперь у нас есть какие-нибудь изменения в информации о пользователе?
1 ответ
Поскольку на этот вопрос уже ответил в MS Q&A Калян Чанумолу.
Microsoft рекомендует не использовать учетные данные пароля владельца ресурса (ROPC) для потока ROPC OAuth 2.0 (который позволяет приложению входить в систему пользователя, напрямую обрабатывая его пароль). Это небезопасный способ аутентификации пользователей и не рекомендуется. В большинстве сценариев доступны и рекомендуются более безопасные альтернативы. Этот поток требует очень высокой степени доверия к приложению и несет в себе риски, которых нет в других потоках. Вы должны использовать этот поток только тогда, когда другие более безопасные потоки не могут быть использованы.
Учетные записи, у которых нет паролей, не могут войти в систему с помощью ROPC, что означает, что такие функции, как вход по SMS, FIDO и приложение Authenticator, не будут работать с этим потоком. Используйте поток, отличный от ROPC, если вашему приложению или пользователям требуются эти функции.
Ваше приложение должно получить токен от Microsoft Identity Platform от имени вашего пользователя. Пожалуйста, обратитесь к OAuth 2.0 от имени потока