이 문서에서는 gdcloud CLI를 사용하여 키 관리 시스템 (KMS) 키로 데이터를 암호화하고 복호화하는 방법을 설명합니다.
이 문서는 GDC 프로젝트 내에서 암호화 작업을 수행해야 하는 애플리케이션 운영자 그룹 내 사용자를 대상으로 합니다. 자세한 내용은 GDC 에어 갭 문서 대상을 참조하세요.
시작하기 전에
데이터를 암호화하거나 복호화하기 전에 필요한 권한이 있어야 하며 환경을 준비해야 합니다.
IAM 역할 요청
데이터를 암호화하고 복호화하려면 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플래그에 지정한 파일이 표시됩니다.- 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플래그에 지정한 파일이 표시됩니다.