Как управлять проверкой подлинности Azure AD с помощью частных конечных точек и WAF в приложении Spring Boot?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как управлять проверкой подлинности Azure AD с помощью частных конечных точек и WAF в приложении Spring Boot?

Сообщение Anonymous »

Я настроил учетные данные Azure AD в файле application.properties моего проекта Spring Boot, используя зависимость Spring-cloud-azure-starter-active-directory. Вот конфигурация:

Код: Выделить всё

spring.cloud.azure.active-directory.enabled=true
spring.cloud.azure.active-directory.profile.tenant-id=${TENANT_ID_ENV_VAR}
spring.cloud.azure.active-directory.credential.client-id=${CLIENT_ID_ENV_VAR}
spring.cloud.azure.active-directory.credential.client-secret=${CLIENT_SECRET_ENV_VAR}
spring.cloud.azure.active-directory.redirect-uri-template=https://www.custdomain.com/login/oauth2/code/
Код приложения:

Код: Выделить всё

@RestController
public class HelloWorldController {
@GetMapping("/")
public String helloWorld() {
return "Greetings! from Webapp";
}
}
Текущее поведение
В моей локальной среде поток аутентификации работает отлично:
  • Запрос к http ://localhost:8080/ перенаправляет на http://localhost:8080/oauth2/authorization/azure.
  • Эта конечная точка перенаправляет пользователя в Azure Страница входа в AD: https://login.microsoftonline.com/....
  • После успешного входа пользователь перенаправляется обратно на настроенный URI перенаправления.
Однако в производственной среде:
  • Приложение размещается в Службе приложений Azure (ASP).
  • Из соображений безопасности в приложении Azure включена частная конечная точка. Сервис, а приложение предоставляется через сервер WAF (брандмауэр веб-приложений).

    URL-адрес WAF: https://www.custdomain.com/
    URL-адрес внутренней службы приложений: https://webapp0101.azurewebsites.net/
    Когда пользователь отправляет запрос на https://www.custdomain.com/< /code>, он пересылается WAF на серверное приложение по адресу https://webapp0101.azurewebsites.net/.
    Из-за конфигурации аутентификации на серверной стороне приложение перенаправляет пользователя на:

    Код: Выделить всё

    https://webapp0101.azurewebsites.net/oauth2/authorization/azure
    .

Поскольку серверная часть теперь является частной и не является общедоступной , пользователь получает ошибку 403 Forbidden.
Желаемый результат
Можно ли настроить приложение на обход промежуточный шаг перенаправления на серверную часть /oauth2/authorization/azure и вместо этого перенаправить пользователя непосредственно на страницу входа в Azure AD (

Код: Выделить всё

https://login.microsoftonline.com/...
)?
Дополнительные примечания
  • URI перенаправления, настроенный в Azure AD — это https://www.custdomain.com/login/oauth2/code/.
  • Цель состоит в том, чтобы поддерживать эту архитектуру, придерживаясь при этом лучших практик безопасности с частным конечная точка и WAF.
Как мне добиться такой настройки?

Подробнее здесь: https://stackoverflow.com/questions/792 ... n-a-spring
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»