Как настроить kubernetes для приложений oidc и azure, чтобы разрешить аутентификацию только с указанной группой безопасности - PullRequest
0 голосов
/ 24 сентября 2019

Я развернул свои 2 приложения Azure, одно нативное для клиента kubectl и одно веб-приложение для kubeapi-сервера, настроил мою конфигурацию kubectl для подключения к azure и такую ​​же для манифеста сервера kube api.Работает нормально.

Но когда я пытаюсь отфильтровать группы безопасности с группой утверждений, я получаю сообщение об ошибке форматирования, даже несмотря на то, что отправляемое мне JWT Azure содержит группы в нужном формате (массив строк json)

Я использую "groupMembershipClaims": "SecurityGroup", в своем веб-приложении Azure, чтобы группы в моем JWT.В моем манифесте yaml для сервера kube api я использую - --oidc-groups-claim=groups и - --oidc-required-claim=groups=bbc2eedf-79cd-4505-9fb4-39856ed3790e, где строка является GUID моей целевой группы безопасности.

Я получаю error: You must be logged in to the server (Unauthorized) при выводе kubectl и сервера kube apiжурналы предоставляют мне это authentication.go:62] Unable to authenticate the request due to an error: [invalid bearer token, [invalid bearer token, oidc: parse claim groups: json: cannot unmarshal array into Go value of type string]]

Но я не понимаю, почему это не радует, потому что когда я декодирую JWT, у меня есть

"groups": [
    "00530f35-0013-4237-8947-6e3f6a7895ca",
    "bbc2eedf-79cd-4505-9fb4-39856ed3790e",
    "17dff614-fd68-4a38-906c-69561daec8b7"
  ],

, который, насколько мне известно, хорошоотформатированный массив строк json ...

Почему сервер api жалуется на JWT?

...