TGViewer
DevOps | Вопросы собесов DevOps | Вопросы собесов @easy_devops · 5.57K subscribers
Post #2654 814
🤔 Как бы организовал хранение и доступ к секретам?

В DevOps и Kubernetes важно безопасно хранить секретные данные (пароли, API-ключи, токены). Нельзя хранить их в коде, в Git, в .env файлах без шифрования.

🚩HashiCorp Vault (лучший вариант для масштабных проектов)

Полностью управляемое решение для хранения и динамической ротации секретов.
Шифрование с поддержкой KMS.
API-доступ и интеграция с CI/CD.
Как получить секрет через CLI?
vault kv put secret/db password="SuperSecret123"
vault kv get secret/db


Как использовать в Jenkins?
withVault([vaultSecrets: [[path: 'secret/db', secretValues: [['envVar': 'DB_PASS', 'vaultKey': 'password']]]]]) {
sh 'echo $DB_PASS' # Переменная доступна только внутри блока
}


🚩Kubernetes Secrets (если приложение в K8s)

Интеграция с Kubernetes, управление через kubectl.
Доступ через переменные окружения или монтирование в файл.
Можно использовать Sealed Secrets или SOPS для шифрования.
Как создать секрет?
kubectl create secret generic db-secret --from-literal=password='SuperSecret123'


Как использовать в Deployment?
env:
- name: DB_PASS
valueFrom:
secretKeyRef:
name: db-secret
key: password


🚩AWS Secrets Manager / Azure Key Vault / GCP Secret Manager

Интеграция с облачными сервисами (IAM, Lambda, RDS).
Автоматическая ротация ключей.
Как получить секрет в AWS?
aws secretsmanager get-secret-value --secret-id my-secret


Как подключить к Kubernetes?
Используем External Secrets Operator:
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: db-secret
spec:
secretStoreRef:
name: aws-secrets
kind: SecretStore
target:
name: db-secret
data:
- secretKey: password
remoteRef:
key: my-db-password


🚩SOPS + GitOps (для хранения в Git, но зашифрованно)

Позволяет хранить секреты в Git без утечек.
Работает с KMS, PGP, age.
Как зашифровать секрет?
sops --encrypt --age YOUR_PUBLIC_KEY secrets.yaml > secrets.enc.yaml


Как расшифровать?
sops --decrypt secrets.enc.yaml


Ставь 👍 и забирай 📚 Базу знаний
  • 🔥 3
  • 💊 1
More from @easy_devops
  1. Oct 11, 2026🤔 Какой будет ID в Podman? Podman использует тот же механизм контейнеризации, что и Docke…
  2. Oct 11, 2026🤔 Зачем нужен стейт в Terraform? Файл terraform.tfstate хранит текущее состояние инфрастр…
  3. Oct 10, 2026🤔 Если удалить terraform.tfstate, а потом сделать terraform init — что будет? - terraform…
  4. Oct 10, 2026🤔 Что касается безопасности где хранить переменные секреты? Хранение секретных переменных…
  5. Oct 9, 2026🤔 Можно ли на лету изменить настройки DNS в контейнере через CLI? Да, можно: docker exec…
  6. Oct 9, 2026🤔 Из чего состоит ELK стек? ELK (Elasticsearch, Logstash, Kibana) – это стек для сбора, о…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →