이 문서에서는 gdcloud CLI를 사용하여 Key Management System (KMS) 키로 데이터를 암호화하고 복호화하는 방법을 설명합니다.
이 문서는 GDC 프로젝트 내에서 암호화 작업을 실행해야 하는 애플리케이션 운영자 그룹의 사용자를 대상으로 합니다. 자세한 내용은 GDC 오프라인 문서의 대상을 참고하세요.
시작하기 전에
데이터를 암호화하거나 복호화하려면 필요한 권한이 있어야 하며 환경을 준비해야 합니다.
IAM 역할 요청
데이터를 암호화하고 복호화하려면 조직 IAM 관리자에게 연락하여 프로젝트 네임스페이스에서 KMS 개발자 (kms-developer) 역할을 요청하세요.
개발 환경 준비
gdcloud CLI에 로그인합니다.
데이터 암호화
데이터를 암호화하려면 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플래그에 지정한 파일에 일반 텍스트 파일의 암호화된 콘텐츠가 포함됩니다.- NAMESPACE: 프로젝트 네임스페이스입니다(예:
데이터 복호화
데이터를 복호화하려면 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플래그에 지정한 파일에 복호화된 데이터가 표시됩니다.