Bezpieczne udostępnianie sekretów Kubernetes

Przesyłaj sekrety Kubernetes, pliki kubeconfig i tokeny kont serwisowych przez zaszyfrowane, samozniszczające się linki.

Problem

Sekrety Kubernetes i pliki kubeconfig zawierają dane uwierzytelniające klastra, tokeny kont serwisowych i certyfikaty TLS, które przyznają bezpośredni dostęp do infrastruktury. Udostępnianie ich przez Slack lub e-mail odsłania cały klaster. Wyciek pliku kubeconfig daje atakującemu możliwość wdrażania, modyfikowania lub niszczenia obciążeń.

Jak Vaulted pomaga

Vaulted szyfruje sekrety Kubernetes po stronie klienta za pomocą AES-256-GCM przed transmisją. Samozniszczający się link zapewnia, że dane uwierzytelniające klastra są dostępne tylko do momentu pobrania ich przez odbiorcę. Architektura zero-knowledge gwarantuje, że serwer Vaulted nigdy nie widzi konfiguracji klastra jako zwykłego tekstu.

Jak to zrobić

  1. Wklej sekret Kubernetes, kubeconfig lub token konta serwisowego do Vaulted
  2. Ustaw limit jednego wyświetlenia i krótki czas wygaśnięcia dla maksymalnego bezpieczeństwa
  3. Udostępnij zaszyfrowany link inżynierowi, który potrzebuje dostępu do klastra
  4. Odbiorca konfiguruje kubectl z danymi uwierzytelniającymi, a link zostaje trwale zniszczony

Udostępnianie sekretów Kubernetes z terminala

Użyj Vaulted CLI, aby udostępniać dane uwierzytelniające klastra bez opuszczania terminala: cat kubeconfig.yaml | npx vaulted-cli --views 1 --expires 1h. Lub przekaż zawartość bezpośrednio: npx vaulted-cli "$(kubectl get secret my-secret -o jsonpath={.data})" -v 1. Zainstaluj przez npm: npm install -g vaulted-cli.

Udostępnianie sekretów Kubernetes w GitHub Actions

Użyj akcji Vaulted GitHub Action, aby udostępniać dane uwierzytelniające klastra w potokach CI/CD: uses: vaulted-fyi/share-secret@v1 z sekretem Kubernetes jako wejściem. Zaszyfrowane po stronie klienta z samozniszczającymi się linkami. Dostępna w GitHub Marketplace.