이 문서에서는 Cloud Key Management Service 키와 키 버전을 영구적으로 삭제하는 방법을 보여줍니다. 이 작업은 되돌릴 수 없습니다.
Cloud KMS에서 삭제와 삭제는 서로 다른 작업입니다.
폐기: 지정된 폐기 기간이 지난 후 기본 키 자료를 되돌릴 수 없을 정도로 폐기하는 것을 포함하여 키 버전을 영구적으로 사용 중지합니다.
DESTROYED상태의 키 버전은 암호화 작업에 사용할 수 없으며 더 이상 청구되지 않습니다. 데이터 암호화에 사용된 키 버전을 폐기하여 영구적으로 복구할 수 없도록 하려는 데이터를 암호화 삭제할 수 있습니다. 삭제된 키 버전은 Cloud KMS 리소스 목록에 계속 포함됩니다.삭제: Google Cloud 콘솔, Google Cloud CLI, Cloud Key Management Service API, 클라이언트 라이브러리의 Cloud KMS 리소스 목록에서 키 또는 키 버전을 삭제합니다. 더 이상 활성 상태가 아닌 키 또는 키 버전이 많은 프로젝트의 경우 삭제하면 검색 및 목록 작업이 간소화됩니다. 삭제된 CryptoKey 이름은 재사용할 수 없습니다.
retiredResources.list메서드를 사용하여 재사용할 수 없는 삭제된 CryptoKey 이름 목록을 볼 수 있습니다.
시작하기 전에
Cloud KMS 리소스를 삭제하고 보는 데 필요한 권한을 얻으려면 관리자에게 키에 대한 Cloud KMS 관리자 (roles/cloudkms.admin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 Cloud KMS 리소스를 삭제하고 보는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
Cloud KMS 리소스를 삭제하고 보려면 다음 권한이 필요합니다.
-
키 버전을 삭제하려면 다음 안내를 따르세요.
cloudkms.cryptoKeyVersions.delete -
키를 삭제하려면 다음 단계를 따르세요.
cloudkms.cryptoKeys.delete -
삭제된 리소스를 보려면 다음 단계를 따르세요.
-
cloudkms.retiredResources.get -
cloudkms.retiredResources.list
-
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
키 버전 삭제
키 버전이 DESTROYED, IMPORT_FAILED 또는 GENERATION_FAILED 상태인 경우 삭제할 수 있습니다. 키 버전을 가져온 경우 가져오기에 실패한 경우에만 삭제할 수 있습니다.
키 버전을 영구적으로 삭제하려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
삭제하려는 키와 키 버전이 포함된 키링의 이름을 클릭합니다.
삭제하려는 키 버전이 포함된 키를 클릭합니다.
버전 표에서 삭제할 키 버전을 찾은 다음 작업 더보기를 클릭합니다.
추가 작업 메뉴에서 삭제를 클릭합니다.
확인 메시지에서 키 이름을 입력한 다음 삭제를 클릭합니다.
gcloud
키 버전을 삭제하려면 다음 명령어를 실행합니다.
gcloud kms keys versions delete KEY_VERSION \
--location=LOCATION \
--keyring=KEY_RING \
--key=KEY_NAME
다음을 바꿉니다.
KEY_VERSION: 영구적으로 삭제하려는 키 버전의 번호입니다. 표시된 키 버전은DESTROYED,IMPORT_FAILED또는GENERATION_FAILED상태여야 합니다.LOCATION: 키링의 Cloud KMS 위치입니다.KEY_RING: 키가 포함된 키링의 이름입니다.KEY_NAME: 영구 삭제하려는 키 버전이 포함된 키의 이름입니다.
Go
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
API
키 버전을 삭제하려면
cryptoKeyVersions.delete메서드를 호출합니다. 이 메서드는 키 버전이 삭제되었는지 확인하기 위해 폴링할 수 있는 장기 실행 작업을 반환합니다.curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION" \ --request "DELETE" \ --header "authorization: Bearer TOKEN"
다음을 바꿉니다.
PROJECT_ID: 키링이 포함된 프로젝트의 ID입니다.LOCATION: 키링의 Cloud KMS 위치입니다.KEY_RING: 키가 포함된 키링의 이름입니다.KEY_NAME: 영구 삭제하려는 키 버전이 포함된 키의 이름입니다.KEY_VERSION: 영구적으로 삭제하려는 키 버전의 번호입니다. 표시된 키 버전은DESTROYED,IMPORT_FAILED또는GENERATION_FAILED상태여야 합니다.
명령어의 출력은
Operation를 반환합니다. 다음 단계에는 작업의name가 필요합니다.키 버전이 삭제되었는지 확인하려면
operations.get메서드를 호출하면 됩니다.curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_NAME" \ --request "GET" \ --header "authorization: Bearer TOKEN"다음을 바꿉니다.
PROJECT_ID: 키링이 포함된 프로젝트의 ID입니다.LOCATION: 키링의 Cloud KMS 위치입니다.OPERATION_NAME: 이전 메서드에서 반환된 작업의 이름입니다.
이 메서드의 출력에
done이true로 표시되면 작업이 완료된 것입니다.error가 표시되지 않으면 키 버전이 영구적으로 삭제된 것입니다.
키 삭제
다음 조건을 충족하는 경우 키를 삭제할 수 있습니다.
- 키에 아직 삭제되지 않은 키 버전이 포함되어 있지 않습니다.
- 키에 자동 키 순환이 예약되어 있지 않습니다.
- 키가 Cloud KMS Autokey로 생성되지 않았습니다.
키를 영구적으로 삭제하려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
삭제할 키가 포함된 키링의 이름을 클릭합니다.
다음 위치 중 하나에서 키를 삭제합니다.
- 키 목록 페이지: 'KEY_RING' 키링의 키 표에서 삭제하려는 키를 찾아 키 작업을 클릭한 다음 삭제를 클릭합니다.
- 키 세부정보 페이지: 삭제할 키의 이름을 클릭하여 키 세부정보 페이지를 엽니다. 페이지 상단에서 삭제를 클릭합니다.
확인 메시지에서 키 이름을 입력한 다음 삭제를 클릭합니다.
gcloud
키를 삭제하려면 다음 명령어를 실행합니다.
gcloud kms keys delete KEY_NAME \
--location=LOCATION \
--keyring=KEY_RING
다음을 바꿉니다.
KEY_NAME: 영구적으로 삭제하려는 키의 이름입니다. 키에 아직 삭제되지 않은 키 버전이 포함되어 있으면 안 되며, Autokey로 생성된 키여도 안 됩니다.LOCATION: 키링의 Cloud KMS 위치입니다.KEY_RING: 키가 포함된 키링의 이름입니다.
Go
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
API
키를 삭제하려면
cryptoKey.delete메서드를 호출합니다. 이 메서드는 키가 삭제되었는지 확인하기 위해 폴링할 수 있는 장기 실행 작업을 반환합니다.curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME" \ --request "DELETE" \ --header "authorization: Bearer TOKEN"
다음을 바꿉니다.
PROJECT_ID: 키링이 포함된 프로젝트의 ID입니다.LOCATION: 키링의 Cloud KMS 위치입니다.KEY_RING: 키가 포함된 키링의 이름입니다.KEY_NAME: 영구적으로 삭제하려는 키의 이름입니다. 키에 아직 삭제되지 않은 키 버전이 포함되어 있으면 안 되며, Autokey로 생성된 키여도 안 됩니다.
명령어의 출력은
Operation를 반환합니다. 다음 단계에는 작업의name가 필요합니다.키가 삭제되었는지 확인하려면
operations.get메서드를 호출하면 됩니다.curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_NAME" \ --request "GET" \ --header "authorization: Bearer TOKEN"다음을 바꿉니다.
PROJECT_ID: 키링이 포함된 프로젝트의 ID입니다.LOCATION: 키링의 Cloud KMS 위치입니다.OPERATION_NAME: 이전 메서드에서 반환된 작업의 이름입니다.
이 메서드의 출력에
done이true로 표시되면 작업이 완료된 것입니다.error가 표시되지 않으면 키가 영구적으로 삭제된 것입니다.
지원 중단된 리소스의 이름 보기
삭제된 키의 이름은 동일한Google Cloud 프로젝트에서 재사용할 수 없습니다. 이렇게 하면 서로 다른 두 키가 동일한 리소스 식별자를 갖지 않습니다. 삭제된 키의 이름은 retiredResources 객체에 저장됩니다. retiredResources를 쿼리하여 새 Cloud KMS 리소스에 재사용할 수 없는 이름을 볼 수 있습니다.
지원 중단된 모든 리소스 목록을 보려면 다음 단계를 따르세요.
gcloud
다음 명령어를 실행합니다.
gcloud kms retired-resources list \
--location=LOCATION
다음을 바꿉니다.
LOCATION: 지원이 종료된 리소스를 보려는 위치입니다.
Go
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
API
retiredResources.list 메서드를 사용합니다.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/retiredResources/" \
--request "GET" \
--header "authorization: Bearer TOKEN"
다음을 바꿉니다.
PROJECT_ID: 지원이 종료된 리소스를 보려는 프로젝트의 식별자입니다.LOCATION: 지원이 종료된 리소스를 보려는 위치입니다.
개별 지원 종료 리소스의 메타데이터를 보려면 다음 단계를 따르세요.
gcloud
다음 명령어를 실행합니다.
gcloud kms retired-resources describe RETIRED_RESOURCE \
--location=LOCATION
다음을 바꿉니다.
RETIRED_RESOURCE: 보려는 리소스의 이름입니다.LOCATION: 지원이 종료된 리소스를 보려는 위치입니다.
Go
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud KMS용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud KMS 클라이언트 라이브러리를 참조하세요.
Cloud KMS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
API
retiredResources.get 메서드를 사용합니다.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/retiredResources/RETIRED_RESOURCE" \
--request "GET" \
--header "authorization: Bearer TOKEN"
다음을 바꿉니다.
PROJECT_ID: 지원이 종료된 리소스를 보려는 프로젝트의 식별자입니다.LOCATION: 지원이 종료된 리소스를 보려는 위치입니다.RETIRED_RESOURCE: 보려는 리소스의 이름입니다.
메서드의 출력에는 resourceType, deleteTime, 삭제된 리소스의 전체 리소스 식별자가 포함됩니다.
다음 단계
- 키 버전 폐기 및 복원에 대해 자세히 알아보세요.