🔒 Учебник по Vault. Часть 3 — Information Security Squad
🔒 Учебник по Vault. Часть 3

Можно добавить другие секреты движков.

Движки секретов — это модель расширяемости Vault, которая позволяет получать данные, выполнять действия и возвращать результат.

Например, если вы хотите динамически подготовить участников службы в Azure, можно добавить механизм Azure (при условии, что у них есть достаточные привилегии в Azure).

Примечание. Секретный механизм Azure предназначен для создания принципалов службы. Включение аутентификации Azure не имеет ничего общего с AKV

$ vault write azure/config \
> subscription_id=******-****-****-****-********** \
> tenant_id=******-****-****-****-********** \
> client_id=******-****-****-****-********** \
> client_secret=*********************************
Success! Data written to: azure/config

$ vault write azure/roles/my-role ttl=1h max_ttl=24h azure_roles=-<<EOF
>   [
>     {
>         "role_name": "Contributor",
>         "scope":  "/subscriptions/<uuid>/resourceGroups/Website"
>     },
>     {
>         "role_id": "/subscriptions/<uuid>/providers/Microsoft.Authorization/roleDefinitions/<uuid>",
>         "scope":  "/subscriptions/<uuid>"
>     },
>     {
>         "role_name": "This won't matter as it will be overwritten",
>         "role_id": "/subscriptions/<uuid>/providers/Microsoft.Authorization/roleDefinitions/<uuid>",
>         "scope":  "/subscriptions/<uuid>/resourceGroups/Database"
>     }
>   ]
> EOF

Примеры Secrets Engines: базы данных

Мощное использование Vault Engines взаимодействует с базами данных.

Например, во время проверки программного обеспечения можно динамически создать временного тестового пользователя.

См. Стандартный пайплайн CI CD, показанный ниже.

Процесс запуска базы данных в конвейере непрерывного развертывания

Пример с MongoDB:

Сначала можно создать экземпляр MongoDB, используя бесплатный образ bitnami в Azure («MongoDB Certified by Bitnami»)

После запуска добавьте входящее правило для порта 27017.

Пароль базы данных находится в журнале диагностики загрузки.

Добавление входящего порта для MongoDB после запуска
Определение пароля БД после запуска
Создайте запись базы данных и роль.

Затем вы можете использовать команду «read», чтобы получить временную учетную запись пользователя

Вы можете использовать Compass CLI, но я решил загрузить только CLI.

Вы можете проверить свою связь таким образом.
проверка состояния с помощью CLI:
$ ~/Downloads/mongodb-osx-x86_64-3.6.2/bin/mongo mongodb://137.117.104.120:27017
MongoDB shell version v3.6.2
connecting to: mongodb://137.117.104.120:27017
MongoDB server version: 4.0.3
WARNING: shell and server versions do not match
Welcome to the MongoDB shell.

$ vault write database/config/my-azure-mongodb \
plugin_name=mongodb-database-plugin \
allowed_roles="my-role" \
connection_url="mongodb://{{username}}:{{password}}@137.117.104.120:27017/admin" \
username="root" \
password="pvK9Xk9sz357"

$ vault write database/roles/my-role \
> db_name=my-azure-mongodb \
> creation_statements='{ "db": "admin", "roles": [{ "role": "readWrite" }, {"role": "read", "db": "foo"}] }' \
> default_ttl="2h" \
> max_ttl="24h"
Success! Data written to: database/roles/my-role

$ vault read database/creds/my-role
Key                Value
---                -----
lease_id           database/creds/my-role/zquLtoyl8Mk6SvLyZoQeJFpH
lease_duration     2h
lease_renewable    true
password           A1a-U5JzyT5YBRHprZrF
username           v-token-my-role-2Ph0kxLfI2gAE634ElHu-1546356485

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40