4.2. 영구 볼륨 암호화를 위한 스토리지 클래스 생성

다음 절차에 따라 영구 볼륨 암호화에 외부 키 관리 시스템(KMS)을 사용하여 암호화가 활성화된 스토리지 클래스를 생성합니다. 영구 볼륨 암호화는 RBD PV에서만 사용할 수 있습니다.

사전 요구 사항

  • OpenShift Container Storage 클러스터가 Ready 상태입니다.
  • 외부 KMS(키 관리 시스템)에서

    • 토큰이 있는 정책이 존재하고 Vault의 키 값 백엔드 경로가 활성화되어 있는지 확인합니다. Vault에서 키 값 및 정책 활성화 를 참조하십시오.
    • Vault 서버에서 서명된 인증서를 사용 중인지 확인합니다.
  • 다음과 같이 테넌트의 네임스페이스에 보안을 생성합니다.

    • OpenShift Container Platform 웹 콘솔에서 워크로드 → 시크릿 으로 이동합니다.
    • 생성 → 키/값 시크릿을 클릭합니다.
    • Secret Name(시크릿 이름 )을 ceph-csi-kms-token 으로 입력합니다.
    • 토큰 으로 Key 를 입력합니다.
    • 입력. Vault의 토큰입니다. Browse (찾아보기)를 클릭하여 토큰이 포함된 파일을 선택하고 업로드하거나 텍스트 상자에 토큰을 직접 입력할 수 있습니다.
    • 생성을 클릭합니다.
참고

토큰은 ceph-csi-kms-token 을 사용하는 모든 암호화된 PVC가 삭제된 후에만 삭제할 수 있습니다.

절차

  1. 스토리지 → 스토리지 클래스로 이동합니다.
  2. 스토리지 클래스 생성을 클릭합니다.
  3. 스토리지 클래스 Name (이름) 및 Description (설명)을 입력합니다.
  4. 회수 정책에 대해 삭제 또는 유지를 선택합니다. 기본적으로 삭제가 선택됩니다.
  5. 영구 볼륨을 프로비저닝하는 데 사용되는 플러그인인 RBD Provisioner openshift-storage.rbd.csi.ceph.com 을 선택합니다.
  6. 볼륨 데이터 가 목록에서 저장될 스토리지 풀을 선택하거나 새 풀을 생성합니다.
  7. Enable Encryption 확인란을 선택합니다.

    1. Key Management Service Provider 는 기본적으로 Vault로 설정됩니다.
    2. Vault Service Name, host Address of Vault server(https://<hostname 또는 ip>'), Port number 를 입력합니다.
    3. 고급 설정을 확장하여 Vault 구성에 따라 추가 설정 및 인증서 세부 정보를 입력합니다.

      1. OpenShift Container Storage 전용 이고 고유한 백엔드 경로에 키 값 시크릿 경로를 입력합니다.
      2. (선택 사항) TLS 서버 이름과 Vault Enterprise 네임 스페이스를 입력합니다.
      3. 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서, 클라이언트 인증서 및 클라이언트 개인 키를 제공합니다.
      4. 저장을 클릭합니다.
    4. 연결을 클릭합니다.
  8. 외부 키 관리 서비스 연결 세부 정보를 검토합니다. 정보를 수정하려면 연결 세부 정보 변경을 클릭하고 필드를 편집합니다.
  9. 생성을 클릭합니다.
  10. Hashicorp Vault 설정에서 백엔드 경로에서 사용하는 Key/Value(KV) 시크릿 엔진 API 버전의 자동 탐지를 허용하지 않는 경우 configmap을 편집하여 VAULT_BACKEND 매개변수를 추가합니다.

    참고

    VAULT_BACKEND 는 configmap에 추가되어 백엔드 경로와 연결된 KV 시크릿 엔진 API 버전을 지정하는 선택적 매개변수입니다. 값이 백엔드 경로에 설정된 KV 시크릿 엔진 API 버전과 일치하는지 확인합니다. 그렇지 않으면 PVC(영구 볼륨 클레임) 생성 중에 실패할 수 있습니다.

    1. 새로 생성된 스토리지 클래스에서 사용 중인 encryptionKMSID 를 식별합니다.

      1. OpenShift 웹 콘솔에서 스토리지 → 스토리지 클래스로 이동합니다.
      2. 스토리지 클래스 이름 → YAML 탭을 클릭합니다.
      3. 스토리지 클래스에서 사용 중인 encryptionKMSID 를 캡처합니다.

        예제:

        encryptionKMSID: 1-vault
    2. OpenShift 웹 콘솔에서 워크로드 → ConfigMaps 로 이동합니다.
    3. KMS 연결 세부 정보를 보려면 click csi-kms-connection-details 를 클릭합니다.
    4. configmap을 편집합니다.

      1. 작업 메뉴 (TI)ConfigMap 편집을 클릭합니다.
      2. 이전에 식별된 encryptionKMSID 에 대해 구성된 백엔드에 따라 VAULT_BACKEND 매개변수를 추가합니다.

        KV 시크릿 엔진 API용 kv, KV 시크릿 엔진 API 버전 1 및 kv-v2VAULT_BACKEND 매개변수로 지정할 수 있습니다.

        예제:

        kind: ConfigMap
        apiVersion: v1
        metadata:
          name: csi-kms-connection-details
        [...]
        data:
          1-vault: >-
        
            {
              "KMS_PROVIDER": "vaulttokens",
              "KMS_SERVICE_NAME": "vault",
              [...]
              "VAULT_BACKEND": "kv-v2"
            }
      3. 저장을 클릭합니다.
중요

Red Hat은 기술 파트너와 협력하여 이 문서를 고객에게 서비스로 제공하고 있습니다. 하지만 Red Hat은 H¢corp 제품에 대한 지원을 제공하지 않습니다. 이 제품에 대한 기술 지원이 필요한 경우 Hsea corp에 문의하십시오.

다음 단계

  • 스토리지 클래스를 사용하여 암호화된 영구 볼륨을 만들 수 있습니다. 자세한 내용은 영구 볼륨 클레임 관리를 참조하십시오.