У меня есть настольное приложение с возможностью доступа к корзинам AWS S3. Наше предприятие использует Azure AD для управления пользователями. Мы хотели бы выполнить аутентификацию пользователей на нашем предприятии через Azure AD и предоставить им доступ к ресурсу S3 через наше приложение DESKTOP (программно на python).
Что мне удалось сделать:
- Настройка федерации между AWS - Azure таким образом, чтобы пользователь с учетной записью Azure и пользователь, которому назначена соответствующая роль, могли получить доступ к ресурсу S3 - Через SAML
- Программно в python получить временные учетные данные из AWS STS, когда пользователь входит в систему с учетными данными Azure AD (имя пользователя / пароль). Это включает в себя некоторую очистку / захват SAMLResponse и т. Д.
- Используйте временные учетные данные для доступа к корзине S3 с помощью boto в python.
Что мне не хватает, и мне нужна помощь, так это SSO для Azure AD:
Как я могу эмулировать что-то вроде поведения приложения outlook / команды, чтобы, если пользователь уже вошел в Azure AD, я мог использовать «сеанс» (что бы это ни было, токен и т. Д.), Чтобы затем запросить временные учетные данные (шаги 1- 3 выше) из AWS STS вместо того, чтобы заставлять пользователя вводить имя пользователя и пароль Azure AD? Кроме того, если так получилось, что пользователь не вошел в систему, появится всплывающая веб-страница с запросом учетных данных, после чего аутентификация продолжится.
Буду признателен за любую помощь по этому вопросу. Проблема в том, что у меня есть настольное приложение, а не веб-приложение, которое было бы проще.