Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

34.5. 데이터가 암호화되었는지 확인

etcd에 기록할 때 데이터가 암호화됩니다. API 서버를 다시 시작한 후 새로 생성되거나 업데이트된 시크릿을 저장할 때 암호화해야 합니다. etcdctl 명령줄 프로그램을 사용하여 시크릿 내용을 검색할 수 있습니다.

  1. default 네임스페이스에 secret1 이라는 새 보안을 생성합니다.

    $ oc create secret generic secret1 -n default --from-literal=mykey=mydata
  2. 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
  3. 위의 명령의 출력에 k8s:enc:aescbc:v1: 접두사가 지정되었는지 확인합니다. 이는 aescbc 공급자가 결과 데이터를 암호화했음을 나타냅니다.
  4. API를 통해 검색할 때 보안이 올바르게 암호 해독되는지 확인합니다.

    $ oc get secret secret1 -n default -o yaml | grep mykey

    mykey: bXlkYXRh 와 일치해야 합니다.