Secret storage
Tworzenie storage dla secretów
2 minute read
Repozytorium: iac-vault
Repozytorium zawiera kompletną konfigurację Infrastructure as Code (IaC) umożliwiającą zarządzanie środowiskiem HashiCorp Vault za pomocą OpenTofu. Projekt automatyzuje tworzenie, konfigurację oraz utrzymanie komponentów Vault, w tym trzystopniowego PKI, przestrzeni KV oraz polityk dostępu.
Repozytorium iac-vault pełni rolę głównego punktu orkiestracji konfiguracji Vault. Bazuje na dedykowanym module vault-pki, który odpowiada za budowę hierarchii certyfikatów.
flowchart TB
subgraph s1["opentofu module"]
n2["vault-pki"]
end
A["iac-vault"] --> n3["auth"] & n4["pki"] & n5["secrets"] & n6["polices"]
n4 --> n2
n2@{ shape: rounded}
Struktura repozytorium:
.
├── auth # mechanizmy autoryzacji (userpass, AppRole)
├── main.tf # główny plik wykonawczy OpenTofu
├── pki # konfiguracja PKI oparta o moduł vault-pki
├── policies # polityki ACL Vault
├── providers.tf # definicje providerów
├── secrets # konfiguracja backendów KV
└── variables.tf # zmienne globalne
Główny plik main.tf integruje moduły:
pkisecretspoliciesauthParametry globalne, takie jak var.pki_urls_base (adres publikacji certyfikatów i CRL) oraz var.kv_mount_path, definiowane są w pliku variables.tf.
Warstwa PKI korzysta z modułu:
Moduł automatyzuje budowę trójwarstwowej hierarchii certyfikatów:
pki-root – tworzy główny urząd certyfikacji.Dwa niezależne urzędy pośrednie, wykorzystywane zgodnie z podziałem ról:
pki-infrastructure – certyfikaty dla infrastruktury (np. routery, systemy HA, bazy danych)pki-apps – certyfikaty dla aplikacji i usługModuł pozwala generować certyfikaty końcowe oraz zapisywać je jako sekrety Vault.
Wygenerowane certyfikaty mogą być opcjonalnie przechowywane w backendach KV (np. kv-certificates), co umożliwia ich łatwe pobieranie przez inne procesy (np. Ansible, CI/CD).
Polityki zdefiniowane są w katalogu policies/ i odpowiadają za granularną kontrolę dostępu do zasobów Vault.
Struktura zawiera m.in.:
full-admin.hcl – pełne uprawnienia administracyjne.kv-devopskv-gitlabkv-certificatesKażda z nich definiuje:
policy_read.hcl)policy_write.hcl)policy_admin.hcl)pki-rootpki-infrastructurepki-appsZawierają:
Polityki są automatycznie rejestrowane w policies/main.tf.
Mechanizmy uwierzytelniania znajdują się w katalogu auth/.
Obejmują:
userpassmrachuna).AppRoleMechanizmy auth są aktywowane i konfigurowane w auth/main.tf.
Repozytorium iac-vault zapewnia kompletny, modułowy i skalowalny zestaw IaC do zarządzania HashiCorp Vault w środowisku produkcyjnym. Łączy:
Całość jest w pełni automatyzowalna dzięki OpenTofu i integruje się z pipeline’ami GitLab CI oraz procesami konfiguracji (np. Ansible).
Tworzenie storage dla secretów
Tworzenie PKI w organizacji
Uwierzytelnianie (Auth)