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

Хотя Vault можно установить на различных платформах (www.vaultproject.io/downloads.html), есть один очень грамотный подход, который будет работать для последующей миграции в облако, — это использовать опубликованный  Docker контейнер.

Для начала вам все равно нужно скачать бинарник Vault для локального компьютера, чтобы использовать клиент Vault.

$ docker run -p 8200:8200
--cap-add=IPC_LOCK -d --name=dev-vault vault

#Если вы уже запускали в прошлом, но не видите, что он работает с Docker PS, просто запустите:
$ docker run vault

#Если вы хотите принудительно использовать токен (для автоматизации позже это станет полезным)
$ docker run -p 8200:8200
--cap-add=IPC_LOCK -e 'VAULT_DEV_ROOT_TOKEN_ID=5l8v34FMhOVBozD9IAAkHREj' vault
==> Vault server configuration:

             Api Address: http://0.0.0.0:8200
                     Cgo: disabled
         Cluster Address: https://0.0.0.0:8201
После запуска убедитесь, что ваш контейнер прослушивает 8200, войдите в систему с помощью логина vault.
#определить IP
docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
44597b284377        vault               "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        0.0.0.0:8200->8200/tcp   vigorous_darwin

#входи
vault login -address=http://0.0.0.0:8200
Token (will be hidden): 
Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "vault login"
again. Future Vault requests will automatically use this token.

Key                  Value
---                  -----
token                5l8v34FMhOVBozD9IAAkHREj
token_accessor       5g5IJ5WZtfIrQ7KpWhFBWELq
token_duration       ∞
token_renewable      false
token_policies       ["root"]
identity_policies    []
policies             ["root"]
Можно создать файл учетных данных (простой текст) и передать его с «-» для неинтерактивных сеансов.

Вы также можете использовать REST API для входа в систему не в интерактивном режиме (все, что вы можете сделать в CLI, можно сделать через API).

Одним из приятных преимуществ запуска контейнера Vault является то, что вы можете запускать несколько экземпляров одновременно в режиме разработчика, просто используя разные IP-адреса контейнеров.
#используя pod ip
docker inspect zen_chatterjee | grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",
$ sudo ifconfig lo0 alias 172.17.0.2
$ sudo vi /etc/hosts
$ cat /etc/hosts | grep vault.local
172.17.0.2	vault.local

$ vault login -address=http://vault.local:8200
Token (will be hidden): 
Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "vault login"
again. Future Vault requests will automatically use this token.

Key                  Value
---                  -----
token                5l8v34FMhOVBozD9IAAkHREj
token_accessor       5g5IJ5WZtfIrQ7KpWhFBWELq
Двоичные файлы Vault созданы для различных платформ.
Хотя в приведенных выше примерах используются Mac и Linux, в Windows все работает так же хорошо:


D:\Vault>vault server -dev
==> Vault server configuration:

             Api Address: http://127.0.0.1:8200
                     Cgo: disabled
         Cluster Address: https://127.0.0.1:8201
              Listener 1: tcp (addr: "127.0.0.1:8200", cluster address: "127.0.0.1:8201", max_request_duration: "1m30s", max_request_size: "33554432", tls: "disabled")
               Log Level: (not set)
                   Mlock: supported: false, enabled: false
                 Storage: inmem
                 Version: Vault v1.0.1
             Version Sha: 08df121c8b9adcc2b8fd55fc8506c3f9714c7e61

WARNING! dev mode is enabled! In this mode, Vault runs entirely in-memory
and starts unsealed with a single unseal key. The root token is already
authenticated to the CLI, so you can immediately begin using Vault.

You may need to set the following environment variable:

    $ set VAULT_ADDR=http://127.0.0.1:8200

Используя подсистему Windows для Linux в Windows 10, вы также можете использовать бинарный файл linux.

Как запустить файл .sh или Shell скрипт в Windows 10

Вы можете увидеть различные конфигурации сервера здесь: https://www.vaultproject.io/docs/configuration/

Теперь можно также установить Vault в Kubernetes.

Для этого требуется сначала работающий экземпляр consul (который также теперь имеет helm chart ):

  • Consul Helm Chart: https://github.com/helm/charts/tree/master/stable/consul
  • Vault Helm Chart: https://github.com/helm/charts/tree/master/incubator/vault
Надеемся, что это краткое руководство поможет вам запустить локальный экземпляр Hashi Vault.
В следующий раз мы рассмотрим использование Vault.

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

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