
Secret에 대해 알아보기 전에 Secret이란 애플리케이션이 비밀로 유지하려는 데이터 더 쉽게 말하면 애플리케이션 서비스에서 필요한 비밀 데이터 ex) secret token, password, ... 다음과 같은 운영상의 문제를 고려해야 함 시크릿 순환 정책/키 (암호화) 순환 정책 시크릿의 순환 주기는 어떻게 결정할 것인가? 암호화 키의 순환 주기는 어떻게 결정할 것인가? 시크릿 저장 정책 시크릿 데이터를 저장할 때 어떤 요구사항을 충족해야 하는가? 격리된 하드웨어에 시크릿을 유지해야 하는가? 개선 계획 시크릿 또는 암호화 키가 손상되었을 때 어떻게 해결할 것인가? 애플리케이션에 영향주지 않고 계획 및 자동화를 실행할 수 있는가? 시크릿 관리를 어떤 레이어에서 제공할지 결정도 필요함 쿠버네티스 단..
Kubernetes Secret 은 base64로 인코딩된 값을 data로 갖는다. data 필드의 모든 키(key)에 해당하는 값(value)은 base64로 인코딩된 문자열이어야 한다. https://kubernetes.io/ko/docs/concepts/configuration/secret/#시크릿-개요 그럼 일반적인 string을 base64로 어떻게 인코딩할까? 아주 간단하다. echo, base64 를 사용하면 된다. $ echo 'want-to-encode-this' | base64 d2FudC10by1lbmNvZGUtdGhpcwo= 근데 위와 같이 하는 경우, base64 인코딩 된 값을 비교하거나 할 때 문제가 생길 수 있다. 왜냐하면 echo 는 마지막에 무조건 newline(\n) 을..
Sealed-secrets는 gitops를 사용한다면 보안적으로 필수적?이라고 생각하는 요소다. Private repo여도 비밀번호 같은 정보가 base64로 아무나 디코딩 가능한 형태의 Secret manifest 형태로 올라간다면 보안적으로 불완전한 요소일 수 있다. 여기서 Sealed-secrets을 사용하면 더 안전히 gitops 형태로 이끌어 갈 수 있다고 생각한다. - 관련되어 개념을 모른다면 커피고래님의 블로그 관련 글이 설명이 잘 되어있다. 배포하기 이전에 로컬에서 테스트를 자주 해야하는 상황이 오는데, 맨날 하는 것이 아니다보니 할 때마다 사소한 오류들이 생겨서 그냥 정리해둔다. 준비사항 # repo 추가 helm install sealed-secrets sealed-secrets/sea..
- Total
- Today
- Yesterday
- OpenTelemetry
- 쿠버네티스
- 클린 아키텍처
- k8s
- 로그
- gradle
- Kubernetes
- Spring boot
- python
- 알고리즘
- HTTP
- tag
- Intellij
- Clean Architecture
- 백준
- c++
- 비동기
- jasync
- java
- WebFlux
- container
- boj
- docker
- Algorithm
- Istio
- 하루
- Log
- 일상
- MySQL
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |