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