2017-06-14 21 views
5

Przygotowuję się do skonfigurowania skarbca Hashicorp za pomocą mojej aplikacji internetowej, a chociaż przykłady Hashicorp mają sens, nie jestem pewien, jaka powinna być zamierzona konfiguracja produkcji.Skarbiec Hashicorp - Definicja/Architektura w produkcji

W moim przypadku mam:

  • garstka instancji EC2 AWS obsługujących moja aplikacja internetowa
  • instancje
  • kilka EC2 serwujące Jenkins do ciągłego wdrażania

i muszę:

  • Moje oprogramowanie konfiguracyjne (Ansible) i Jenkins, aby móc czytać sekrety podczas dep zapłata
  • , aby umożliwić pracownikom firmy, aby w razie potrzeby czytali sekrety i potencjalnie generowali tymczasowe dla niektórych rodzajów dostępu.

Prawdopodobnie będę używać S3 jako zaplecza magazynu Vault.

Rodzaje pytań mam to:

  1. Gdyby sklepienie być uruchomiony na wszystkich moich wystąpień EC2 i słuchania w 127.0.0.1:8200?

  2. Czy mogę utworzyć instancję (może 2 dla dostępności), które uruchamiają Vault i czy inne instancje/usługi są połączone z tymi, które są potrzebne do tajnego dostępu?

  3. Jeśli potrzebuję pracowników, aby mieć dostęp do sekretów z ich lokalnych maszyn, jak to działa? Czy ustawiają sejf w lokacji przeciwko pamięci S3, czy też powinny uderzać w interfejs REST API zdalnych serwerów od kroku 2, aby uzyskać dostęp do ich sekretów?

  4. I dla jasności, każda maszyna, która korzysta z sejfu, jeśli zostanie uruchomiona ponownie, należy ponownie otworzyć sejf, co wydaje się być ręcznym procesem obejmującym x liczbę posiadaczy kluczy.

+0

https://s3.amazonaws.com/quickstart-reference/hashicorp/vault/latest/doc/hashicorp-vault-on-the-aws-cloud.pdf – sethvargo

+0

@sethvargo dzięki, ale to nie do końca odpowiada pytanie, w szczególności pkt 3 i 4 – djt

Odpowiedz

0

Vault działa w architekturze klient-serwer, więc trzeba mieć specjalny klaster serwerów Vault (zwykle 3 nadaje się do małych i średnich instalacji) uruchomione w availability mode.

Serwery skarbca powinny prawdopodobnie łączyć się z wewnętrznym prywatnym adresem IP, a nie 127.0.0.1, ponieważ nie będą dostępne w VPC. Zdecydowanie nie chcesz , a nie chcieć wiązania 0.0.0.0, ponieważ może to uczynić Vault publicznie dostępnym, jeśli twoja instancja ma publiczny adres IP.

Będziesz chciał połączyć się z adresem IP anonsowanym na certyfikacie, bez względu na to, czy jest to adres IP czy nazwa DNS. Komunikacja z Vault przez TLS powinna odbywać się tylko w infrastrukturze klasy produkcyjnej.

Wszystkie żądania są przesyłane przez te serwery Vault. Jeśli inni użytkownicy muszą komunikować się z Vault, powinni połączyć się z VPC za pośrednictwem VPN lub hosta bastionu i wysyłać żądania przeciwko niemu.

Gdy komputer z uruchomioną usługą Vault jest ponownie uruchamiany, Vault nie musi być otwierany.Dlatego należy uruchomić Vault w trybie HA, aby inny serwer mógł akceptować żądania. Możesz skonfigurować monitorowanie i powiadamianie, aby powiadomić Cię, kiedy serwer musi zostać otwarty (Vault zwraca specjalny kod statusu).

Możesz także przeczytać production hardening guide, aby uzyskać więcej wskazówek.