Для выполнения действия необходимо наличие Vault-токена, обладающего правами на создание/обновление ролей Kubernetes auth backend.

CreateVaultKubernetesAuthRole — создаёт или обновляет роль аутентификации Kubernetes в HashiCorp Vault.

Пример запроса

mountPath: kubernetes
role: example
bound_service_account_names:
  - default
bound_service_account_namespaces:
  - default
optional:
  token_ttl: 1h
  token_max_ttl: 12h
  audience: vault
  token_policies:
    - default

Спецификация запроса

НазваниеОбязательностьОписание
mountPathДаПуть монтирования Kubernetes auth backend в Vault (например, kubernetes)
roleДаНазвание роли, которая создаётся в Vault
bound_service_account_namesДаСписок имён service account’ов, которым разрешён доступ через данную роль
bound_service_account_namespacesДаСписок неймспейсов (namespaces), в которых разрешён доступ через данную роль
optionalНетДополнительные параметры роли (приведены в следующей таблице)

Поддерживаемые значения в optional:

ПолеТипОписание
token_ttlstringВремя жизни (TTL) токена, выданного при логине
token_max_ttlstringМаксимальное TTL токена
token_policies[]stringДополнительные политики, назначаемые при логине
audiencestringЗначение JWT audience (aud), которое Vault ожидает от токена
token_periodstringПериодичность выдачи токена
token_explicit_max_ttlstringЯвный верхний предел TTL токена
token_num_usesintОграничение на количество использований токена
token_typestringТип выдаваемого токена (например, service, batch)
alias_name_sourcestringИсточник alias name для identity
token_no_default_policyboolИсключение default policy из состава токена
token_bound_cidrs[]stringОграничение CIDR-диапазонов, откуда можно использовать выданный токен

Полный список поддерживаемых параметров приведён в официальной документации HashiCorp Vault.