Движки секретов. RabbitMQ (API)
В данном разделе представлена документация API для движка секретов RabbitMQ StarVault. Для общих сведений о использовании и работе движка секретов RabbitMQ, пожалуйста, обратитесь к документации RabbitMQ.
Эта документация предполагает, что движок секретов RabbitMQ включен по пути /rabbitmq в StarVault. Поскольку возможно включить движки секретов в любом месте, пожалуйста, соответствующим образом обновите ваши API вызовы.
1. Настроить соединение
Эта конечная точка настраивает строку соединения, используемую для общения с RabbitMQ.
| Метод | Путь |
|---|---|
|
|
1.1. Параметры
-
connection_uri(string: <обязательный>)- указывает URI соединения RabbitMQ. -
username(string: <обязательный>)- указывает имя пользователя администратора RabbitMQ. -
password(string: <обязательный>)- указывает пароль администратора RabbitMQ. -
verify_connection(bool: true)- указывает, следует ли проверять URI соединения, имя пользователя и пароль. -
password_policy(string: "")- указывает политику пароля для использования при создании динамических учетных данных. По умолчанию генерируется алфавитный пароль, если не задано. -
username_template(string)- Шаблон, описывающий, как генерируются динамические имена пользователей.
{
"connection_uri": "https://...",
"username": "user",
"password": "password",
"password_policy": "rabbitmq_policy"
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/rabbitmq/config/connection
2. Настроить аренду
Эта конечная точка настраивает параметры аренды для сгенерированных учетных данных.
| Метод | Путь |
|---|---|
|
|
2.1. Параметры
-
ttl(int: 0)- указывает ttl аренды, предоставленный в секундах. -
max_ttl(int: 0)- указывает максимальный ttl, предоставленный в секундах.
{
"ttl": 1800,
"max_ttl": 3600
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/rabbitmq/config/lease
$ starvault write rabbitmq/config/lease \
ttl=1800 \
max_ttl=3600
3. Список ролей
Эта конечная точка перечисляет роли.
| Метод | Путь |
|---|---|
|
|
3.1. Параметры
-
after(string: "")- необязательная запись, чтобы начать перечисление после для постраничного разбивания; не обязательно должно существовать. -
limit(int: 0)- необязательное количество записей, которые нужно вернуть; по умолчанию возвращаются все записи.
$ curl \
--header "X-Vault-Token: ..." \
--request LIST \
http://127.0.0.1:8200/v1/rabbitmq/roles?list=true
4. Создать роль
Эта конечная точка создает или обновляет определение роли.
| Метод | Путь |
|---|---|
|
|
4.1. Параметры
-
name(string: <обязательный>)- указывает имя роли для создания. Это указано как часть URL. -
tags(string: "")- указывает запятую-разделенные теги управления RabbitMQ. -
vhosts(string: "")- указывает карту виртуальных хостов к разрешениям. -
vhost_topics(string: "")- указывает карту виртуальных хостов и обменов к разрешениям по темам. Эта опция требует RabbitMQ 3.7.0 или новее.
{
"tags": "tag1,tag2",
"vhosts": "{\"/\": {\"configure\":\".*\", \"write\":\".*\", \"read\": \".*\"}}",
"vhost_topics": "{\"/\": {\"amq.topic\": {\"write\":\".*\", \"read\": \".*\"}}}"
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/rabbitmq/roles/my-role
$ starvault write rabbitmq/roles/my-role \
tags="tag1,tag2" \
vhosts="..." \
vhost_topics="..."
5. Чтение роли
Эта конечная точка запрашивает определение роли.
| Метод | Путь |
|---|---|
|
|
5.1. Параметры
-
name(string: <обязательный>)- указывает имя роли для чтения. Это указано как часть URL.
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/rabbitmq/roles/my-role
$ starvault read rabbitmq/roles/my-role
{
"data": {
"tags": "",
"vhosts": "{\"/\": {\"configure\":\".*\", \"write\":\".*\", \"read\": \".*\"}}",
"vhost_topics": "{\"/\": {\"amq.topic\": {\"write\":\".*\", \"read\": \".*\"}}}"
}
}
6. Удаление роли
Эта конечная точка удаляет определение роли.
| Метод | Путь |
|---|---|
|
|
7. Генерация учетных данных
Эта конечная точка генерирует новый набор динамических учетных данных на основе названной роли.
| Метод | Путь |
|---|---|
|
|
7.1. Параметры
-
name(string: <обязательный>)- указывает имя роли для создания учетных данных. Это указано как часть URL.
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/rabbitmq/creds/my-role
$ starvault read rabbitmq/creds/my-role
{
"data": {
"username": "root-4b95bf47-281d-dcb5-8a60-9594f8056092",
"password": "e1b6c159-ca63-4c6a-3886-6639eae06c30"
}
}