이 주제에서는 Cloud 외부 키 관리자(Cloud EKM)를 사용하여 Google Cloud 외부에서 관리되는 키를 사용하여 저장 데이터를 암호화하는 방법을 설명합니다.
시작하기 전에
다음 단계를 완료하면 Cloud EKM 키를 사용하여 데이터를 보호할 수 있습니다.
새 프로젝트 만들기
Cloud EKM을 테스트할 때는 새 프로젝트를 설정하는 것이 좋습니다.
Google Cloud Console에서 리소스 관리 페이지로 이동합니다.
새 Google Cloud 프로젝트를 만들거나 기존 프로젝트를 선택합니다.
-
Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
Cloud EKM 가격 책정에 대해 자세히 알아볼 수 있습니다.
Cloud KMS 사용 설정
프로젝트에 Cloud Key Management Service API를 사용 설정합니다.
프로젝트의 Cloud EKM 서비스 계정을 기록합니다. 다음 예시에서는 project-number를 Google Cloud 프로젝트의 프로젝트 번호로 바꿉니다. 이 정보는 Google Cloud Console을 사용하여 Cloud EKM 키를 만들 때마다 표시됩니다.
service-project-number@gcp-sa-ekms.iam.gserviceaccount.com
외부 키 관리 파트너 시스템 준비
외부 키 관리 파트너 시스템에서 Google Cloud 서비스 계정에 외부 키 사용 권한을 부여합니다. 서비스 계정을 이메일 주소로 취급합니다. 파트너는 이 주제에 사용된 용어와 다른 용어를 사용할 수 있습니다.
외부 키 만들기
외부 키 관리 파트너 시스템에서 이 단계를 수행합니다. 정확한 단계는 외부 키 관리 파트너에 따라 다릅니다. 지원되는 Cloud EKM 파트너 목록을 검토할 수 있습니다.
필요한 경우 외부 키 관리 파트너의 액세스를 요청하여 이 릴리스에 참여합니다.
외부 키 관리 파트너 시스템에서 키를 만들거나 기존 키를 선택합니다.
Cloud EKM 키에 사용할 Google Cloud 리전 근처 리전의 키를 만듭니다. 이를 통해 Google Cloud 프로젝트와 외부 키 관리 파트너 간의 네트워크 지연 시간을 줄일 수 있습니다. 그렇지 않으면 실패한 작업이 증가할 수 있습니다. 자세한 내용은 Cloud EKM 및 리전을 참조하세요.
외부 키의 URI를 기록해 둡니다. Cloud EKM 키를 만들려면이 정보가 필요합니다.
Cloud EKM 키 만들기
키를 만들 때 키를 사용할 위치에 있는 키링에 키를 추가합니다. Cloud EKM 키의 경우 위치가 외부 키의 위치와 가까이 있어야 합니다.
이 주제에서는 키링을 만드는 방법을 보여 주지만 적절한 위치에 있는 기존 키링에 키를 만들 수 있습니다.
gcloud
외부 키 관리 파트너가 권장하는 리전 중 하나에 키링을 생성합니다.
gcloud kms keyrings \ create key-ring-name \ --location location
키링에 키를 만듭니다. 보호 수준을
external
로 설정하고 용도를encryption
으로 설정합니다. 초기 키 버전이 생성되지 않도록--skip-initial-version-creation
을 추가합니다.default algorithm
을external-symmetric-encryption
으로 설정합니다.gcloud kms keys \ create key-name \ --keyring key-ring-name \ --location location \ --purpose encryption \ --protection-level external \ --skip-initial-version-creation \ --default-algorithm external-symmetric-encryption
방금 만든 키의 키 버전을 만듭니다.
--external-key-uri
플래그를 외부 키 URI로 설정합니다. 이 버전을 기본 키 버전으로 설정하려면--primary
플래그를 포함합니다. 이전 단계와 동일한 키 이름, 키링, 위치를 사용합니다.gcloud kms keys versions \ create \ --key key-name \ --keyring key-ring-name \ --location location \ --external-key-uri external-key-uri \ --primary
콘솔
키링 만들기
Cloud Console에서 암호화 키 페이지로 이동합니다.
키링 만들기를 클릭합니다.
키링 이름 필드에 키링 이름을 입력합니다.
위치 드롭다운에서 외부 키 관리 파트너가 권장하는 리전 중 하나를 선택합니다.
만들기를 클릭합니다. 키링이 생성되고 키 생성 대화상자가 나타납니다.
Cloud EKM 키를 만듭니다.
키 유형으로 외부 관리 키를 선택합니다. 용도가 자동으로 대칭 암호화 / 복호화로 설정되고 키 유형 및 알고리즘 필드가 외부 대칭 키로 설정됩니다. 이 값은 수정할 수 없습니다.
키 이름을 지정하세요.
외부 키의 URI를 입력합니다.
원하는 경우 키의 라벨을 추가합니다. 라벨 지정 키에 대해 자세히 알아볼 수 있습니다.
만들기를 클릭합니다.
키 버전은 자동으로 생성되며 기본 버전이 됩니다.
새 키의 키 리소스 ID를 가져오기하여 다음 시나리오에서 데이터를 보호할 수 있습니다.
- BigQuery 데이터 보호
- Compute Engine 리소스 보호
- VM 디스크의 GKE 데이터 보호
- GKE 애플리케이션 레이어 보안 비밀 보호
- 데이터베이스에 작성된 Cloud SQL 데이터 보호
- Cloud KMS를 통해 직접 대칭 키로 데이터 암호화 및 복호화. Cloud KMS에 대한 직접 호출은 외부 키 관리자에 대한 호출이 됩니다.
- Secret Manager 보안 비밀 보호
외부 키 순환
외부 키의 URI를 변경해야 하는 경우 Cloud EKM 키를 순환할 수 있습니다. 키를 순환하면 Cloud EKM 키에 새 키 버전이 추가됩니다.
외부 키의 이전 버전이 여전히 외부 키 관리 파트너 시스템의 외부 키 URI에서 사용할 수 있기만 하면 Cloud EKM 키를 순환한 후에도 이전 버전의 키를 사용하여 암호화된 데이터를 여전히 복호화할 수 있습니다.
외부 키 관리 파트너 시스템의 키 자료는 변경되지 않지만 URI가 변경되면 키를 순환하지 않고도 키의 외부 URI를 업데이트할 수 있습니다.
gcloud
키를 순환하려면 업데이트된 외부 키 URI가 포함된 새 키 버전을 만들고 이 버전을 기본 키 버전으로 만듭니다. 키를 만들 때 사용한 이름, 키링, 위치를 사용합니다.
gcloud kms keys versions \ create \ --key key-name \ --keyring key-ring-name \ --location location \ --external-key-uri new-external-key-uri \ --primary
콘솔
Cloud Console에서 암호화 키 페이지로 이동합니다.
암호화 키 페이지로 이동키 링을 선택한 다음 키를 선택합니다.
순환을 선택합니다.
새 키 URI를 입력하고 키 순환을 선택합니다.
새 키 버전이 기본 버전이 됩니다.
키 버전의 URI 업데이트
새 키 URI에 원래 키 URI와 정확히 동일한 키 자료가 있으면 Cloud EKM 키를 순환하지 않고도 Cloud EKM 키 버전의 키 URI를 업데이트할 수 있습니다. URI에 동일한 키 자료가 없으면 키 URI 업데이트가 실패합니다. 기본 버전이 아닌 키 버전의 키 URI를 업데이트할 수도 있습니다.
키 자료가 외부 키 관리 파트너 시스템에서 순환되었다면 대신 키를 순환해야 합니다.
gcloud
키 버전의 URI를 업데이트하려면 gcloud kms versions update
명령어를 사용하여 업데이트할 키 버전을 지정하고 --external-key-uri
플래그를 새 URI로 지정합니다.
gcloud kms keys versions update key-version \ --key key \ --keyring keyring \ --location location \ --external-key-uri uri
예를 들어 다음 명령어는 example-key
키의 버전 2에 대한 URI를 https://example-key.example.com/v0/example_key
로 업데이트합니다.
gcloud kms keys versions update 2 \ --key example-key> \ --keyring example-keyring \ --location us-west1 \ --external-key-uri https://example-key.example.com/v0/example_key
콘솔
Cloud Console에서 암호화 키 페이지로 이동합니다.
암호화 키 페이지로 이동키링을 선택한 다음 키와 버전을 선택합니다.
더보기 more_vert를 클릭한 다음 키 URI 보기를 클릭합니다.
키 URI 업데이트를 클릭합니다.
새 키 URI를 입력한 다음 저장을 클릭합니다.
외부 키 사용 중지 또는 폐기
Cloud EKM 키와 외부 키 사이의 연결을 일시적으로 사용 중지하려면 Cloud EKM 키 또는 키 버전을 사용 중지할 수 있습니다. 전체 키를 사용 중지하는 것이 좋습니다. 키 사용 중지는 3시간 내에 적용됩니다.
키를 사용 중지할 때는 키에 대한 액세스 권한도 취소해야 합니다. IAM 작업은 수초 범위 내에서 일관성을 갖습니다. 외부 키 관리 파트너 시스템에서 Google Cloud 서비스 계정의 액세스 권한도 취소하는 것이 좋습니다.
Cloud EKM 키와 외부 키 사이의 연결을 영구적으로 삭제하려면 Cloud EKM 키 버전 폐기를 예약할 수 있습니다. 24시간이 지나면 키가 폐기됩니다. 키 폐기는 영구적입니다. 키 버전이 폐기되면 Cloud EKM 키 버전으로 암호화된 데이터를 더 이상 암호화하거나 복호화할 수 없습니다. 동일한 외부 키 URI를 사용하는 경우에도 폐기된 Cloud EKM 키 버전을 다시 만들 수 없습니다.
오류 해석
Cloud EKM 키를 만들거나 사용할 때 오류가 발생하면 오류가 기록됩니다. 이러한 오류를 해석하고 수정하는 방법에 대한 세부정보는 Cloud EKM 오류 참조를 확인하세요.
지원 받기
Cloud EKM에 문제가 발생하면 지원팀에 문의하세요.