Движок секретов базы данных Cassandra
|
Этот движок может использовать внешние X.509-сертификаты в составе TLS или для проверки подписей. Поддержка проверки подписей сертификатов X.509, использующих SHA-1, считается устаревшей и начиная с StarVault 1.12 больше не работает без специальных обходных решений. |
Cassandra является одним из поддерживаемых плагинов для движка секретов баз данных. Этот плагин динамически генерирует учетные данные базы данных на основе заранее настроенных ролей для Cassandra.
Дополнительную информацию о настройке движка секретов баз данных см. в документации по Базам данных.
1. Возможности
Имя плагина |
Ротация корневых учетных данных |
Динамические роли |
Статические роли |
Кастомизация имени пользователя |
|
Да |
Да |
Да (с версии 1.6+) |
Да (с версии 1.7+) |
2. Настройка
-
Для работы StarVault потребуется Cassandra-пользователь со следующими правами:
Пример:GRANT CREATE ON ALL ROLES TO '<ВАШ ПОЛЬЗОВАТЕЛЬ>'; GRANT ALTER ON ALL ROLES TO '<ВАШ ПОЛЬЗОВАТЕЛЬ>'; GRANT DROP ON ALL ROLES TO '<ВАШ ПОЛЬЗОВАТЕЛЬ>'; GRANT AUTHORIZE ON ALL ROLES TO '<ВАШ ПОЛЬЗОВАТЕЛЬ>'; GRANT AUTHORIZE ON ALL KEYSPACES TO '<ВАШ ПОЛЬЗОВАТЕЛЬ>'; GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '<ВАШ ПОЛЬЗОВАТЕЛЬ>'; -
Включите движок секретов базы данных, если он ещё не включён:
Пример:$ starvault secrets enable database Success! Enabled the database secrets engine at: database/По умолчанию движок включается под именем database. Чтобы активировать его на другом пути, используйте параметр -path.
-
Задайте конфигурацию StarVault с нужным плагином и параметрами подключения:
Пример:$ starvault write database/config/my-cassandra-database \ plugin_name="cassandra-database-plugin" \ hosts=127.0.0.1 \ protocol_version=4 \ username=vaultuser \ password=vaultpass \ allowed_roles=my-role -
Создайте роль, которая сопоставляет имя в StarVault с SQL-запросом для создания учетных данных базы данных:
Пример:$ starvault write database/roles/my-role \ db_name=my-cassandra-database \ creation_statements="CREATE USER '{{username}}' WITH PASSWORD '{{password}}' NOSUPERUSER; \ GRANT SELECT ON ALL KEYSPACES TO {{username}};" \ default_ttl="1h" \ max_ttl="24h" Success! Data written to: database/roles/my-role
3. Использование
После настройки движка секретов и получения пользователем или машиной токена StarVault с соответствующими правами можно генерировать учетные данные.
-
Для этого нужно запросить новые данные через endpoint
/creds, указав имя роли:
$ starvault read database/creds/my-role
Key Value
--- -----
lease_id database/creds/my-role/2f6a614c-4aa2-7b19-24b9-ad944a8d4de6
lease_duration 1h
lease_renewable true
password 7iO-FxlVCdj8szsgGgsL
username v_vaultuser_my_role_6zjahr4mjn5c9prgucy1_1602541475
4. API
Полный список доступных опций можно найти на странице HTTP API плагина базы данных Cassandra.
Подробнее о работе HTTP API движка секретов для баз данных см. в Движок секретов базы данных (API).