34.5. 데이터가 암호화되었는지 확인
etcd에 기록할 때 데이터가 암호화됩니다. API 서버를 다시 시작한 후 새로 생성되거나 업데이트된 시크릿을 저장할 때 암호화해야 합니다. etcdctl
명령줄 프로그램을 사용하여 시크릿 내용을 검색할 수 있습니다.
default
네임스페이스에secret1
이라는 새 보안을 생성합니다.$ oc create secret generic secret1 -n default --from-literal=mykey=mydata
etcdctl
명령줄을 사용하여 etcd에서 해당 시크릿을 읽습니다.$ ETCDCTL_API=3 etcdctl get /kubernetes.io/secrets/default/secret1 -w fields [...] | grep Value
[…]
은/는 etcd 서버 연결을 위한 추가 인수여야 합니다.최종 명령은 다음과 유사합니다.
$ ETCDCTL_API=3 etcdctl get /kubernetes.io/secrets/default/secret1 -w fields \ --cacert=/var/lib/origin/openshift.local.config/master/ca.crt \ --key=/var/lib/origin/openshift.local.config/master/master.etcd-client.key \ --cert=/var/lib/origin/openshift.local.config/master/master.etcd-client.crt \ --endpoints 'https://127.0.0.1:4001' | grep Value
- 위의 명령의 출력에 k8s:enc:aescbc:v1: 접두사가 지정되었는지 확인합니다. 이는 aescbc 공급자가 결과 데이터를 암호화했음을 나타냅니다.
API를 통해 검색할 때 보안이 올바르게 암호 해독되는지 확인합니다.
$ oc get secret secret1 -n default -o yaml | grep mykey
mykey: bXlkYXRh 와 일치해야 합니다.