Действия администратора в Vault (с root или аналогичными разрешениями):
$> vault secrets enable -path=secret/ kv
$> vault kv put secret/amit key1=value1 key2=value2 key3=value3
$> vault policy write amit-github-policy -<EOF
path "secret/amit" {
capabilities = ["read", "list"]
}
EOF
$> vault auth enable github
$> vault write auth/github/map/users/amit_rathod value=amit-github-policy
- для установки своих секретов и политик вы можете использовать любой метод и подходы
После настройки Vault вы можете сначала пройти аутентификацию:
curl --request=POST --data='{"token": "<your GitHub token>"}' <VAULT_HOST>/v1/auth/github/login
Вы получите ответ
{
"auth": {
"renewable": true,
"lease_duration": 2764800,
"metadata": {
"username": "amit_rathod"
},
"policies": ["default", "amit-github-policy"],
"accessor": "f93c4b2d-18b6-2b50-7a32-0fecf88237b8",
"client_token": "1977fceb-3bfa-6c71-4d1f-b64af98ac018"
}
}
Получив client_token
, вы сможете получить доступные секреты:
curl --header="X-Vault-Token: 1977fceb-3bfa-6c71-4d1f-b64af98ac018" --request=GET <VAULT_HOST>/v1/secret/amit
Вы получите ответ с json с вашими ключами и значениями.
PS Я использовал случайные значения для этого примера:
- kv path:
secret/
- kv секрет:
secret/amit
- секретные значения:
key1=value1 key2=value2 key3=value3
- имя политики:
amit-github-policy
- Имя пользователя GitHub:
amit_rathod
- токен ответа:
1977fceb-3bfa-6c71-4d1f-b64af98ac018