Я развернул свои 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?