Авторизация Istio с JWT - PullRequest
       24

Авторизация Istio с JWT

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

Я использую isio 1.0.2 и не могу настроить авторизацию службы на основе утверждений JWT к Azure AD.

Я успешно настроил и проверил проверку подлинности конечного пользователя Azure AD oidc jwt, и она работает нормально.

Теперь я хотел бы настроить авторизацию RBAC с использованием атрибута request.auth.claims ["предпочитаемое_имя_пользователя]].Я создал ServiceRoleBinding, как показано ниже:

apiVersion: "rbac.istio.io/v1alpha1"
kind: ServiceRole
metadata:
  name: service-reader
  namespace: default
spec:
  rules:
  - services: ["myservice.default.svc.cluster.local"]
    methods: ["GET"]
    paths: ["*/products"]
---
apiVersion: "rbac.istio.io/v1alpha1"
kind: ServiceRoleBinding
metadata:
  name: service-reader-binding
  namespace: default
spec:
  subjects:
  - properties:
      source.principal: "*"
      request.auth.claims["preferred_username"]: "user@company.com"
  roleRef:
    kind: ServiceRole
    name: "service-reader"

Тем не менее, я продолжаю получать 403 Запрещено от прокси-сервера службы, даже если утверждение предпочитаемого_пользователя из заголовка Аутентификация является правильным.Если я закомментирую строку request.auth.claims["preferred_username"]: "user@company.com", запрос будет выполнен успешно.

Может ли кто-нибудь указать мне правильное направление в отношении настройки авторизации на основе oidc и jwt?

1 Ответ

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

Неважно.Я нашел проблему.Мне не хватало пользователя: отметьте «*», чтобы позволить всем пользователям.поэтому по предметам следует сказать:

subjects:
  - user: "*"
    properties:
      source.principal: "*"
      request.auth.claims["preferred_username"]: "user@company.com"

Это исправляет.

...