EKS базовая аутентификация из Интернета

#authentication #amazon-eks #aws-application-load-balancer

Вопрос:

Проблема: У меня есть приложение WWW в кластере EKS, которое я хочу защитить аналогично базовому решению аутентификации, чтобы предотвратить временный доступ к нему. В этом приложении настроено несколько учетных записей разработчиков, и мы не хотим никому разрешать доступ, прежде чем обойти первый метод аутентификации (общий для всех лиц, которым мы разрешаем доступ к нему).

Приложение использует ALB:

   annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
    alb.ingress.kubernetes.io/certificate-arn: ...
 

До сих пор возможные решения:

  • используйте nginx с базовой аутентификацией в качестве прокси (требуется изменение развертывания, так как в образе или развертывании нет nginx — возможно, но затем необходимо поддерживать 2 развертывания)
  • Аутентификация Cognito — возможна, но я думаю, что ее слишком сложно настроить для временного решения
  • Учетные записи служб — невозможно использовать, так как приложение доступно в Интернете
  • Доступ к VPN / IP разрешить/запретить — не знаю, возможно ли это сделать на EKS, не знаю, всегда ли клиент будет использовать один и тот же IP

Можете ли вы предложить самое простое решение, не обязательно самое безопасное, как я уже сказал, на данный момент будет достаточно даже базовой аутентификации для EKS?