Действия администратора в 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 с вашими ключами и значениями.
P.S. В этом примере я использовал случайные значения:
- кв путь:
secret/
- кв секрет:
secret/amit
- секретные значения:
key1=value1 key2=value2 key3=value3
- название политики:
amit-github-policy
- Имя пользователя GitHub:
amit_rathod
- маркер ответа:
1977fceb-3bfa-6c71-4d1f-b64af98ac018
person
Dmitry Ionash
schedule
16.03.2020