Методы аутентификации. RADIUS (API)
В данном разделе представлена документация API для метода аутентификации RADIUS StarVault. Для получения общей информации об использовании и работе метода RADIUS, читайте документацию метода StarVault RADIUS.
В текущей документации предполагается, что метод RADIUS подключен по пути /auth/radius в StarVault. Поскольку возможно включать методы аутентификации в любом месте, пожалуйста, обновите ваши вызовы API соответственно.
1. Настройка RADIUS
Настраивает параметры подключения и общий секрет, используемые для связи с RADIUS.
| Метод | Путь |
|---|---|
|
|
1.1. Параметры
-
host(string: )- сервер RADIUS для подключения. Примеры:radius.myorg.com,127.0.0.1; -
port(integer: 1812)- UDP порт, на котором сервер RADIUS слушает запросы. По умолчанию 1812; -
secret(string: )- общий секрет RADIUS; -
unregistered_user_policies(string: "")- список политик, разделенный запятыми, которые будут предоставлены незарегистрированным пользователям; -
dial_timeout(integer: 10)- количество секунд для ожидания подключения к серверу перед истечением времени. По умолчанию 10; -
nas_port(integer: 10)- атрибут NAS-Port RADIUS запроса. По умолчанию 10.
{
"host": "radius.myorg.com",
"port": 1812,
"secret": "mySecret"
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/auth/radius/config
2. Регистрация пользователя
Регистрация нового пользователя и сопоставление набора политик с ним. Этот путь учитывает различия между возможностями create и update в ACL политике.
| Метод | Путь |
|---|---|
|
|
2.1. Параметры
-
username(string: )- имя пользователя для этого пользователя. -
policies(string: "")- список политик, разделённых запятыми. Если установлено на пустую строку, то будет применима только политикаdefault.
{
"policies": "dev,prod"
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/auth/radius/users/test-user
3. Чтение пользователя
Читает свойства существующего имени пользователя.
| Метод | Путь |
|---|---|
|
|
3.1. Параметры
-
username(string: )- имя пользователя для этого пользователя.
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/auth/radius/users/test-user
{
"request_id": "812229d7-a82e-0b20-c35b-81ce8c1b9fa6",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"policies": "default,dev"
},
"warnings": null
}
4. Удаление пользователя
Удаляет существующее имя пользователя из метода.
| Метод | Путь |
|---|---|
|
|
5. Список пользователей
Список пользователей, зарегистрированных с помощью метода.
| Метод | Путь |
|---|---|
|
|
5.1. Параметры
-
after(string: "")- необязательная запись, с которой следует начинать перечисление для постраничной навигации; не требуется существовать. -
limit(int: 0)- необязательное количество записей для возврата; по умолчанию возвращаются все записи.
$ curl \
--header "X-Vault-Token: ..." \
--request LIST \
http://127.0.0.1:8200/v1/auth/radius/users
{
"auth": null,
"warnings": null,
"wrap_info": null,
"data": {
"keys": ["devuser", "produser"]
},
"lease_duration": 0,
"renewable": false,
"lease_id": ""
}
6. Вход
Вход с использованием имени пользователя и пароля.
| Метод | Путь |
|---|---|
|
|
|
|
6.1. Параметры
-
username(string: )- имя пользователя для этого пользователя; -
password(string: )- пароль аутентифицируемого пользователя.
{
"password": "Password!"
}
$ curl \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/auth/radius/login/test-user
{
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": null,
"warnings": null,
"auth": {
"client_token": "64d2a8f2-2a2f-5688-102b-e6088b76e344",
"accessor": "18bb8f89-826a-56ee-c65b-1736dc5ea27d",
"policies": ["default"],
"metadata": {
"username": "vishal"
},
},
"lease_duration": 7200,
"renewable": true
}