Интеграция Istio с AWS IAM - PullRequest
       7

Интеграция Istio с AWS IAM

0 голосов
/ 10 октября 2018

В настоящее время я изучаю запуск кластера Istio / Kubernetes на AWS с использованием EKS.Я хотел бы иметь возможность назначать разные роли IAM для каждой службы, работающей в кластере, чтобы ограничить права AWS для каждой службы.

В не-Istio Kubernetes кластерах эта возможность предоставляется такими проектами, как kube2iam но это не кажется идеальным в мире Istio, поскольку kube2iam использует правила iptables, а Istio уже использует правила iptables для перенаправления всего исходящего трафика на коляску посланника.

Документация по безопасности Istio гласит, что модель идентификации обслуживает различные базовые реализации, а в AWS эта реализация является IAM:

В модели идентификации Istio Istio использует первоклассный сервисличность, чтобы определить личность услуги.Это обеспечивает большую гибкость и детальность представления пользователя, отдельного сервиса или группы сервисов.На платформах, у которых нет таких идентификаторов, Istio может использовать другие идентификаторы, которые могут группировать экземпляры служб, например имена служб.

Идентификаторы службы Istio на разных платформах:

Kubernetes: учетная запись службы Kubernetes
GKE / GCE: может использовать учетную запись службы GCP
GCP: учетная запись службы GCP
AWS: учетная запись пользователя / роли AWS IAM

Но я не нашел никакой дополнительной документациио том, как назначить роли IAM для Istio ServiceRoles .

Кто-нибудь нашел решение этой проблемы?

1 Ответ

0 голосов
/ 19 декабря 2018

Я тоже борюсь с этим и нашел небольшую помощь.Я имел успех с этим предложением людей https://groups.google.com/forum/m/#!topic/istio-users/3-fp2JPb2dQ

Мне не повезло заставить работать kube2iam, пока я не добавил этот сервис (см. Ниже или перейдите по ссылке)

В основном вы добавляете это

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: apipa
spec:
  hosts:
  - 169.254.169.254
  ports:
  - number: 80
    name: http
    protocol: HTTP
  resolution: DNS
  location: MESH_EXTERNAL

Посмотрев на колонтитул istio-proxy, прежде чем применять сервис-вентри, вы можете получить 404 ошибки в журнале с путями, которые выглядят как вызовы aws api.После вступления в службу эти повернулись к 200-ым.

ОБНОВЛЕНИЕ .... Позже я обнаружил, что это ожидаемое требование при использовании istio для любых внешних сетей связи.См https://istio.io/docs/concepts/traffic-management/#service-entries

...