Я использую 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?