Я пытаюсь защитить пользовательский интерфейс хранилища и вход в командную строку, используя JWT / OID C метод аутентификации с использованием Azure AAD в качестве поставщика. Я слежу за документацией, но заканчиваю сообщением об ошибке:
Token verification failed. error validating signature: failed to verify signature: failed to verify id token signature
Вот шаги, которые я выполнил для настройки метода аутентификации
- Создание приложения Azure Регистрация, позволяющая мои URL-адреса перенаправления
- http://localhost: 8250 / oidc / callback
- https://hostname: номер_порта / ui / хранилище / auth / oidc / oidc / callback
- У меня есть разрешения
Group.Read.All
для приложения и делегированный тип Microsoft Graph API - Создан секрет и его токен из portal
- Я использую конечные точки v2.0
https://login.microsoftonline.com/{my_tenant_id}/v2.0
- Я указал oid c scope для
https://graph.microsoft.com/.default
- Я изменил манифест приложения с помощью
"groupMembershipClaims": "All",
Затем я вошел в систему с использованием токена аутентификации в хранилище и выдал следующую командную строку.
vault auth enable oidc
vault write auth/oidc/config @azuread-auth-config.json
# Success! Data written to: auth/oidc/config
vault write auth/oidc/role/default @azuread-default-role-config.json
Файл azuread-auth-config.json
содержит следующее содержимое
{
"oidc_discovery_url": "https://login.microsoftonline.com/{my_tenant_id}/v2.0",
"oidc_client_id": "{my_client_id}",
"oidc_client_secret": "{my_client_secret}",
"default_role": "default"
}
Файл azuread-default-role-config.json
имеет следующее содержание
{
"allowed_redirect_uris": [
"http://localhost:8250/oidc/callback",
"https://{my_hostname}/ui/vault/auth/oidc/oidc/callback",
"http://localhost:8200/ui/vault/auth/oidc/oidc/callback"
],
"groups_claim": "groups",
"oidc_scopes": [
"https://graph.microsoft.com/.default"
],
"policies": [
"default"
],
"user_claim": "email",
"bound_audiences": [
"{my_client_id}"
],
"verbose_oidc_logging": "true"
}
Строка "verbose_oidc_logging": "true"
была добавлена только для r цель отладки.
Процесс входа в систему, за которым я следовал
Как только я запускаю процесс входа в систему в пользовательском интерфейсе Vault, меня перенаправляют на URL
https://login.microsoftonline.com/{my_tenant_id}/oauth2/v2.0/authorize?client_id={my_client_id}&nonce=5e52640c66c2dsf64f5ds3f1sd46dc6717&redirect_uri=https%3A%2F%2F{my_hostname}%2Fui%2Fvault%2Fauth%2Foidc%2Foidc%2Fcallback&response_type=code&scope=openid+https%3A%2F%2Fgraph.microsoft.com%2F.default&state=744a03304e71ed7e4dedgrd3541544
, затем я получаю войдите в успешное сообщение, которое само закрывает окно
Я также отслеживаю журналы на сервере хранилища и вижу, что токен сгенерирован. Если я go на https://jwt.ms и вставляю токен JWT, он расшифровывается, и я могу определить правильные значения. Под моим пользователем я вижу около 90 групп с правильным идентификатором клиента и идентификатором клиента.
Если я попытаюсь войти в систему с помощью командной строки vault login -method oidc role=default
, я получу то же сообщение об ошибке.
Code: 400. Errors:
* Token verification failed. error validating signature: failed to verify signature: failed to verify id token signature