Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Методы автоматической аутентификации. AppRole

Метод approle считывает идентификатор роли и секретный идентификатор из файлов и отправляет значения в метод AppRole Auth.

Метод кэширует значения, и можно смело удалять файлы с идентификатором роли/секретным идентификатором после их считывания. На самом деле, по умолчанию после считывания секретного идентификатора агент удаляет файл. Новые файлы или значения, записанные в ожидаемых местах, будут использоваться при следующей аутентификации, а новые значения будут кэшироваться.

1. Конфигурация

  • role_id_file_path (string: required) - путь к файлу с идентификатором роли.

  • secret_id_file_path (string: optional) - путь к файлу с секретным идентификатором. Если не задано, будет использоваться только role-id. В этом случае для AppRole должно быть установлено значение bind_secret_id равное false, иначе StarVault Agent не сможет войти в систему.

  • remove_secret_id_file_after_reading (bool: optional, defaults to true) - это значение может быть установлено в ``falseм, чтобы отключить стандартное поведение удаления файла секретного идентификатора после его чтения.

  • secret_id_response_wrapping_path (string: optional) - если установлено, значение в secret_id_file_path будет ожидаться как Response-Wrapping Token, содержащий вывод конечной точки получения секретного идентификатора для роли (например, auth/approle/role/webservers/secret-id), а путь создания response-wrapping token должен соответствовать значению, установленному здесь.

2. Пример конфигурации

Ниже приведен пример конфигурации с использованием approle для включения автоматической проверки подлинности и создания как текстового приемника токенов, так и файла приемника токенов в оболочке ответа:

pid_file = "./pidfile"

vault {
  address = "https://127.0.0.1:8200"
}

auto_auth {
  method {
    type      = "approle"

    config = {
      role_id_file_path = "roleid"
      secret_id_file_path = "secretid"
      remove_secret_id_file_after_reading = false
    }
  }

  sink {
    type = "file"
    wrap_ttl = "30m"
    config = {
      path = "sink_file_wrapped_1.txt"
    }
  }

  sink {
    type = "file"
    config = {
      path = "sink_file_unwrapped_2.txt"
    }
  }
}

api_proxy {
  use_auto_auth_token = true
}

listener "tcp" {
  address = "127.0.0.1:8100"
  tls_disable = true
}