Войдите в систему и получите секрет из хранилища hashicorp в nodejs - PullRequest
0 голосов
/ 16 марта 2020

У меня есть собственный сервер хранилища, работающий удаленно.
Я хочу получить доступ к хранилищу и получить секреты после входа в систему.
метод входа в систему: GIT TOKEN
также я не знаю не знаю, как войти в систему, используя git токен в nodejs
и , тогда я хочу прочитать конкретную c ключ: значение пары .

Заранее спасибо за помощь

1 Ответ

0 голосов
/ 16 марта 2020

Действия администратора в 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
...