데이터 암호화 및 복호화

AO는 gRPC 클라이언트를 통해 KMS에 Google Distributed Cloud (GDC) 에어 갭 CLI를 통해 암호화 및 복호화 작업을 실행합니다.

시작하기 전에

KMS 작업을 수행하기 전에 관리 API 서버에 액세스하고 필요한 권한을 얻도록 kubectl를 구성합니다.

Management API 서버 액세스 구성

관리 API 서버에 액세스하도록 kubectl를 구성합니다.

  1. 아직 수행하지 않았다면 gdcloud CLI-line 인터페이스 (CLI)를 사용하여 관리 API 서버의 kubeconfig 파일을 가져옵니다.
  2. MANAGEMENT_API_SERVER 환경 변수를 설정합니다.

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    PATH_TO_KUBECONFIG를 생성된 kubeconfig 파일의 경로로 바꿉니다.

  3. 아직 수행하지 않았다면 gdcloud CLI를 다운로드, 설치, 구성합니다. 이렇게 하려면 gdcloud CLI 개요를 따르세요.

필수 권한

필요한 권한을 얻으려면 조직 IAM 관리자에게 프로젝트에 KMS 개발자 (kms-developer) 역할을 부여해 달라고 요청하세요.

데이터 암호화

데이터를 암호화하려면 gdcloud kms keys encrypt 명령어를 사용합니다. 이 명령어는 AEAD 키를 사용하여 지정된 일반 텍스트 파일을 암호화하고 명명된 암호 텍스트 파일에 씁니다.

  • 데이터를 암호화하려면 키 이름과 다음을 전달합니다.

    gdcloud kms keys encrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
      --plaintext-file=PLAINTEXT_PATH \
      --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
      --ciphertext-file=CIPHERTEXT_PATH
    

    다음 변수를 바꿉니다.

    • NAMESPACE: 프로젝트 네임스페이스입니다(예: kms-test1).
    • KEY_NAME: 일반 텍스트를 암호화하는 데 사용된 키의 이름(예: key-1)
    • PLAINTEXT_PATH: 암호화할 일반 텍스트가 포함된 파일의 경로입니다.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: 추가 인증 데이터 (AAD)가 포함된 선택적 파일입니다. AAD는 무결성 확인에 사용되며 혼동된 대리인 공격으로부터 데이터를 보호합니다. AAD와 일반 텍스트는 각각 크기 제한이 64KB입니다.
    • CIPHERTEXT_PATH: 암호화된 일반 텍스트가 포함된 파일의 경로입니다.

    명령어를 실행하면 --ciphertext-file 플래그에 지정한 파일에 일반 텍스트 파일의 암호화된 콘텐츠가 포함됩니다.

데이터 복호화

데이터를 복호화하려면 gdcloud kms keys decrypt 명령어를 사용합니다. 이 명령어는 AEAD 키를 사용하여 지정된 암호문 파일을 복호화하고 명명된 일반 텍스트 파일에 씁니다.

  • 암호문을 복호화하려면 키 이름과 다음을 전달합니다.

    gdcloud kms keys decrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
     --ciphertext-file=CIPHERTEXT_PATH \
     --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
     --plaintext-file=PLAINTEXT_PATH
    

    다음 변수를 바꿉니다.

    • NAMESPACE: 프로젝트 네임스페이스입니다.
    • KEY_NAME: 일반 텍스트를 암호화하는 데 사용된 키의 이름입니다.
    • CIPHERTEXT_PATH: 복호화하려는 파일의 경로입니다.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: 추가 인증 데이터 (AAD)가 포함된 선택적 파일입니다. AAD는 무결성 확인에 사용되며 혼동된 대리인 공격으로부터 데이터를 보호합니다. AAD와 일반 텍스트는 각각 크기 제한이 64KB입니다.
    • PLAINTEXT_PATH: 복호화된 일반 텍스트가 포함된 파일의 경로입니다.

    명령어를 실행하면 복호화된 데이터가 포함된 --plaintext-file 플래그에 지정된 파일이 표시됩니다.