이 페이지에서는 자동 또는 수동으로 키를 순환하는 방법을 보여줍니다. 일반적인 키 순환에 대한 자세한 내용은 키 순환을 참조하세요.
필요한 역할
키를 순환하는 데 필요한 권한을 얻으려면 관리자에게 키에 대한 다음의 IAM 역할을 부여해 달라고 요청하세요.
-
Cloud KMS 관리자(
roles/cloudkms.admin
) - 데이터 다시 암호화: Cloud KMS CryptoKey 암호화/복호화(
roles/cloudkms.cryptoKeyEncrypterDecrypter
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 키를 순환하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
키를 순환하려면 다음 권한이 필요합니다.
-
기본 키 버전 변경:
cloudkms.cryptoKeys.update
-
자동 순환 변경 또는 사용 중지:
cloudkms.cryptoKeys.update
-
새 키 버전 만들기:
cloudkms.cryptoKeyVersions.create
-
이전 키 버전 사용 중지:
cloudkms.cryptoKeyVersions.update
-
데이터 다시 암호화:
-
cloudkms.cryptoKeyVersions.useToDecrypt
-
cloudkms.cryptoKeyVersions.useToEncrypt
-
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
이러한 모든 권한이 포함된 커스텀 역할을 가진 단일 사용자는 스스로 키를 순환하고 데이터를 다시 암호화할 수 있습니다. Cloud KMS 관리자 역할 및 Cloud KMS CryptoKey 암호화/복호화 역할의 사용자는 함께 협력해서 키를 순환하고 데이터를 다시 암호화할 수 있습니다. 역할을 할당할 때 최소 권한의 원칙을 따릅니다. 자세한 내용은 권한 및 역할을 참조하세요.
키를 순환해도 이전 키 버전으로 암호화된 데이터는 자동으로 다시 암호화되지 않습니다. 자세히 알아보려면 복호화 및 다시 암호화를 참조하세요. 키를 순환해도 기존 키 버전이 자동으로 사용 중지되거나 폐기되지는 않습니다. 더 이상 필요하지 않은 키 버전을 삭제하면 비용을 절감할 수 있습니다.
자동 순환 구성
새 키를 만들 때 자동 순환을 구성하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔을 사용하여 키를 만들면 Cloud KMS가 순환 기간과 다음 순환 시간을 자동으로 설정합니다. 기본값을 사용하도록 선택하거나 다른 값을 지정할 수 있습니다.
다른 순환 주기와 시작 시간을 지정하려면, 키를 만들 때 만들기 버튼을 클릭하기 전에 다음을 수행합니다.
키 순환 기간에서 옵션을 선택합니다.
시작일에서 첫 번째 자동 순환을 실행할 날짜를 선택합니다. 시작일을 기본값으로 설정하여 키를 생성한 시점부터 첫 번째 자동 순환 단일 키 순환 기간을 시작할 수 있습니다.
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.ROTATION_PERIOD
: 키를 순환하는 간격입니다(예:30d
는 키를 30일마다 순환). 순환 기간은 최소 1일에서 최대 100년이어야 합니다. 자세한 내용은 CryptoKey.rotationPeriod를 참조하세요.NEXT_ROTATION_TIME
: 첫 번째 순환을 완료할 타임스탬프입니다(예:2023-01-01T01:02:03
). 명령어를 실행하는 시점으로부터 하나의 순환 기간 동안 첫 번째 순환을 예약하려면--next-rotation-time
을 생략할 수 있습니다. 자세한 내용은CryptoKey.nextRotationTime
을 참조하세요.
모든 플래그 및 가능한 값에 대한 정보를 보려면 --help
플래그와 함께 명령어를 실행하세요.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Cloud KMS C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 Cloud KMS Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Cloud KMS 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Cloud KMS Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 Google Cloud에서 PHP 사용에 관해 알아보고 Cloud KMS PHP SDK 설치하세요.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Cloud KMS Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Cloud KMS Ruby SDK를 설치합니다.
API
이 예시에서는 curl을 HTTP 클라이언트로 사용하여 API 사용을 보여줍니다. 액세스 제어에 대한 자세한 내용은 Cloud KMS API 액세스를 참조하세요.
키를 만들려면 CryptoKey.create
메서드를 사용합니다.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
다음을 바꿉니다.
PURPOSE
: 키의 용도입니다.ROTATION_PERIOD
: 키를 순환하는 간격입니다(예:30d
는 키를 30일마다 순환). 순환 기간은 최소 1일에서 최대 100년이어야 합니다. 자세한 내용은 CryptoKey.rotationPeriod를 참조하세요.NEXT_ROTATION_TIME
: 첫 번째 순환을 완료할 타임스탬프입니다(예:2023-01-01T01:02:03
). 자세한 내용은CryptoKey.nextRotationTime
를 참조하세요.
기존 키에서 자동 순환을 구성하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
순환 일정을 추가할 키가 포함 된 키링의 이름을 클릭합니다.
순환 일정을 추가할 키를 클릭합니다.
헤더에서 순환 주기 수정을 클릭합니다.
프롬프트에서 순환 주기 및 시작일 입력란에 새 값을 선택합니다.
프롬프트에서 저장을 클릭합니다.
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
gcloud kms keys update KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.ROTATION_PERIOD
: 키를 순환하는 간격입니다(예:30d
는 키를 30일마다 순환). 순환 기간은 최소 1일에서 최대 100년이어야 합니다. 자세한 내용은 CryptoKey.rotationPeriod를 참조하세요.NEXT_ROTATION_TIME
: 다음 순환을 완료할 타임스탬프입니다(예:2023-01-01T01:02:03
). 명령어를 실행하는 시점으로부터 하나의 순환 기간 동안 다음 순환을 예약하려면--next-rotation-time
을 생략할 수 있습니다. 자세한 내용은CryptoKey.nextRotationTime
을 참조하세요.
모든 플래그 및 가능한 값에 대한 정보를 보려면 --help
플래그와 함께 명령어를 실행하세요.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Cloud KMS C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 Cloud KMS Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Cloud KMS 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Cloud KMS Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 Google Cloud에서 PHP 사용에 관해 알아보고 Cloud KMS PHP SDK 설치하세요.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Cloud KMS Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Cloud KMS Ruby SDK를 설치합니다.
API
이 예시에서는 curl을 HTTP 클라이언트로 사용하여 API 사용을 보여줍니다. 액세스 제어에 대한 자세한 내용은 Cloud KMS API 액세스를 참조하세요.
키를 업데이트하려면 CryptoKey.patch
메서드를 사용합니다.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
다음을 바꿉니다.
ROTATION_PERIOD
: 키를 순환하는 간격입니다(예:30d
는 키를 30일마다 순환). 순환 기간은 최소 1일에서 최대 100년이어야 합니다. 자세한 내용은 CryptoKey.rotationPeriod를 참조하세요.NEXT_ROTATION_TIME
: 다음 순환을 완료할 타임스탬프입니다(예:2023-01-01T01:02:03
). 자세한 내용은CryptoKey.nextRotationTime
를 참조하세요.
수동으로 키 순환
먼저 새 키 버전을 만듭니다.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
새 키 버전을 만들 키가 포함된 키링의 이름을 클릭합니다.
새 키 버전을 만들 키를 클릭합니다.
헤더에서 순환을 클릭합니다.
표시되는 메시지에서 순환을 클릭하여 확인합니다.
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.
키 버전은 번호가 순차적으로 지정됩니다.
모든 플래그 및 가능한 값에 대한 정보를 보려면 --help
플래그와 함께 명령어를 실행하세요.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Cloud KMS C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 Cloud KMS Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Cloud KMS 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Cloud KMS Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 Google Cloud에서 PHP 사용에 관해 알아보고 Cloud KMS PHP SDK 설치하세요.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Cloud KMS Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Cloud KMS Ruby SDK를 설치합니다.
API
이 예시에서는 curl을 HTTP 클라이언트로 사용하여 API 사용을 보여줍니다. 액세스 제어에 대한 자세한 내용은 Cloud KMS API 액세스를 참조하세요.
키를 수동으로 순환하려면 먼저 CryptoKeyVersions.create 메서드를 호출하여 새 키 버전을 만듭니다.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \ --request "POST" \ --header "authorization: Bearer TOKEN"
이 명령어는 새 키 버전을 생성하지만, 기본 버전으로 설정되지는 않습니다.
새 키 버전을 기본 버전으로 설정하려면 기존 버전을 기본 키 버전으로 설정을 참조하세요.
필요한 경우 이전 키 버전을 사용하여 암호화된 데이터를 다시 암호화합니다.
기존 버전을 기본 키 버전으로 설정
다른 키 버전을 키의 기본 버전으로 설정하려면 새 기본 버전 정보로 키를 업데이트합니다. 기본 버전으로 구성하려면 먼저 키 버전을 사용 설정해야 합니다.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
기본 버전을 업데이트할 키가 포함된 키링의 이름을 클릭합니다.
기본 버전을 업데이트할 키를 클릭합니다.
기본값으로 지정하려는 키 버전에 해당하는 행에서
더보기를 클릭합니다.메뉴에서 기본 버전으로 설정을 클릭합니다.
확인 대화상자가 표시되면 기본으로 설정을 클릭합니다.
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary-version KEY_VERSION
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.- KEY_VERSION: 새 기본 키 버전의 버전 번호입니다.
모든 플래그 및 가능한 값에 대한 정보를 보려면 --help
플래그와 함께 명령어를 실행하세요.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Cloud KMS C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 Cloud KMS Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Cloud KMS 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Cloud KMS Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 Google Cloud에서 PHP 사용에 관해 알아보고 Cloud KMS PHP SDK 설치하세요.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Cloud KMS Ruby SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Cloud KMS Python SDK를 설치합니다.
API
이 예시에서는 curl을 HTTP 클라이언트로 사용하여 API 사용을 보여줍니다. 액세스 제어에 대한 자세한 내용은 Cloud KMS API 액세스를 참조하세요.
CryptoKey.updatePrimaryVersion 메서드를 호출하여 기본 키 버전을 변경합니다.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME:updatePrimaryVersion" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"cryptoKeyVersionId": "KEY_VERSION"}'
다음을 바꿉니다.
PROJECT_ID
: 키링이 포함된 프로젝트의 ID입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.KEY_NAME
: 키의 이름입니다.- KEY_VERSION: 새 기본 키 버전의 버전 번호입니다.
기본 키 버전을 변경하면 일반적으로 변경사항이 1분 이내에 일관성을 갖습니다. 하지만 예외적인 경우에 이 변경사항이 전파되는 데 최대 3시간이 걸릴 수 있습니다. 이 시간 중에는 이전 기본 버전이 데이터를 암호화하는 데 사용될 수 있습니다. 자세한 내용은 Cloud KMS 리소스 일관성을 참조하세요.
자동 순환 사용 중지
키 자동 순환을 사용 중지하려면 키의 순환 일정을 삭제합니다.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
순환 일정을 삭제할 키가 포함 된 키링의 이름을 클릭합니다.
순환 일정을 삭제할 키를 클릭합니다.
헤더에서 순환 주기 수정을 클릭합니다.
프롬프트에서 순환 주기 필드를 클릭하고 사용 안함(수동 순환)을 선택합니다.
프롬프트에서 저장을 클릭합니다.
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --remove-rotation-schedule
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.
모든 플래그 및 가능한 값에 대한 정보를 보려면 --help
플래그와 함께 명령어를 실행하세요.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Cloud KMS C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 Cloud KMS Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Cloud KMS 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Cloud KMS Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 Google Cloud에서 PHP 사용에 관해 알아보고 Cloud KMS PHP SDK 설치하세요.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Cloud KMS Ruby SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Cloud KMS Python SDK를 설치합니다.
API
이 예시에서는 curl을 HTTP 클라이언트로 사용하여 API 사용을 보여줍니다. 액세스 제어에 대한 자세한 내용은 Cloud KMS API 액세스를 참조하세요.
키를 업데이트하려면 CryptoKey.patch
메서드를 사용합니다.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": null, "nextRotationTime": null}'
rotationPeriod
및 nextRotationTime
에 대한 자세한 내용은 keyRings.cryptoKeys
를 참조하세요.
외부 키 순환
조정된 외부 키 순환
대칭 좌표 외부 키의 자동 순환을 구성할 수 있습니다. 대칭 또는 비대칭 좌표 외부 키의 새 키 버전을 수동으로 만들 수도 있습니다.
새 키 버전을 순환하거나 만들면 해당 키로 보호되는 모든 새로 생성되는 데이터가 새로운 키 버전을 사용해서 암호화됩니다. 이전 키 버전으로 보호되는 데이터는 다시 암호화되지 않습니다. 따라서 외부 키 관리자가 이전 키 버전의 키 자료를 계속 사용할 수 있게 해야 합니다.
조정된 외부 키의 새 키 버전을 만들려면 다음 단계를 완료하세요.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
키 링을 선택한 다음 키를 선택합니다.
버전 만들기를 클릭합니다. Cloud KMS와 EKM 모두에서 새 키 버전이 생성된다는 메시지가 표시됩니다. 키 경로 또는 키 URI 필드가 표시되면 선택한 키는 조정된 외부 키가 아닙니다.
새 키 버전을 만들 것인지 확인하려면 버전 만들기를 클릭합니다.
새 키 버전이 생성 대기 중 상태로 표시됩니다. 대칭 키의 경우 수동으로 생성된 키 버전이 기본 키 버전으로 자동 설정되지 않습니다. 새 키 버전을 기본 버전으로 설정할 수 있습니다.
gcloud CLI
새 대칭 키 버전을 만들고 기본 키 버전으로 설정하려면 kms keys versions create
명령어를 --primary
플래그와 함께 사용합니다.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.
새로운 비대칭 키 버전을 만들거나 기본 키 버전이 아닌 새 대칭 키 버전을 만들려면 kms keys versions
create
명령어를 사용합니다.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.
VPC 키를 통해 수동으로 관리되는 Cloud EKM 순환
먼저 외부 키 관리자에서 외부 키 자료를 순환합니다. 그 결과 새 키 경로가 발생하면 새 Cloud EKM 키 버전을 순환하거나 새 키 경로로 만들어야 합니다. 대칭 암호화 키의 경우 Cloud EKM 키를 순환하고 외부 키 관리자에서 새 키 경로를 지정합니다. 비대칭 키의 경우 새 키 버전을 만들고 새 키 경로를 지정합니다.
새 키 버전을 순환하거나 만들면 해당 키로 보호되는 모든 새로 생성되는 데이터가 새로운 키 버전을 사용해서 암호화됩니다. 이전 키 버전으로 보호되는 데이터는 다시 암호화되지 않습니다. 따라서 외부 키 관리자가 이전 키 버전의 키 자료를 계속 사용할 수 있게 해야 합니다.
외부 키 관리 파트너 시스템의 키 자료는 변경되지 않았으나 키 경로가 변경된 경우에는 키를 순환할 필요 없이 키의 외부 경로를 업데이트하면 됩니다.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
키 링을 선택한 다음 키를 선택합니다.
키 순환을 클릭합니다.
키 경로에 새 버전의 키 경로를 입력합니다.
키 순환을 클릭하여 확인합니다.
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
새 대칭 키 버전을 만들고 기본 키 버전으로 설정하려면 kms keys versions create
명령어를 --primary
플래그와 함께 사용합니다.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH \ --primary
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.EXTERNAL_KEY_PATH
: 새 외부 키 버전의 경로입니다.
새로운 비대칭 키 버전을 만들거나 기본 키 버전이 아닌 새 대칭 키 버전을 만들려면 kms keys versions
create
명령어를 사용합니다.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.EXTERNAL_KEY_PATH
: 새 외부 키 버전의 경로입니다.
모든 플래그 및 가능한 값에 대한 정보를 보려면 --help
플래그와 함께 명령어를 실행하세요.
키 버전이 성공적으로 생성되면 다른 Cloud KMS 키 버전을 사용할 때처럼 사용하면 됩니다.
인터넷 키를 통해 수동으로 관리되는 Cloud EKM 순환
먼저 외부 키 관리자에서 외부 키 자료를 순환합니다. 그 결과 새 URI가 발생하면 새 Cloud EKM 키 버전을 순환하거나 새 URI로 만들어야 합니다. 대칭 암호화 키의 경우 Cloud EKM 키를 순환하고 외부 키 관리자에서 새 키 URI를 지정합니다. 비대칭 키의 경우 새 키 버전을 만들고 새 키 URI를 지정합니다.
새 키 버전을 순환하거나 만들면 해당 키로 보호되는 모든 새로 생성되는 데이터가 새로운 키 버전을 사용해서 암호화됩니다. 이전 키 버전으로 보호되는 데이터는 다시 암호화되지 않습니다. 따라서 외부 키 관리자가 이전 키 버전의 키 자료를 계속 사용할 수 있게 해야 합니다.
외부 키 관리 파트너 시스템의 키 자료는 변경되지 않지만 URI가 변경되면 키를 순환하지 않고도 키의 외부 URI를 업데이트할 수 있습니다.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
키 링을 선택한 다음 키를 선택합니다.
대칭 키의 경우 키 순환을 선택하거나 비대칭 키의 경우 버전 만들기를 선택하세요.
새 키 URI를 입력한 후 대칭 키에 대해 키 순환을 선택하고 비대칭 키에 대해서는 버전 만들기를 선택합니다.
새 키 버전이 기본 버전이 됩니다.
gcloud CLI
새 대칭 키 버전을 만들고 기본 키 버전으로 설정하려면 kms keys versions create
명령어를 --primary
플래그와 함께 사용합니다.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI \ --primary
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.EXTERNAL_KEY_URI
: 새 외부 키 버전의 키 URI입니다.
새로운 비대칭 키 버전을 만들거나 기본 키 버전이 아닌 새 대칭 키 버전을 만들려면 kms keys versions
create
명령어를 사용합니다.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI
다음을 바꿉니다.
KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.EXTERNAL_KEY_URI
: 새 외부 키 버전의 키 URI입니다.
다음 단계
- 키를 순환한 후에는 해당 키로 암호화된 데이터를 다시 암호화할 수 있습니다.
- 데이터를 다시 암호화한 후 키 버전이 사용 중인지 확인할 수 있습니다.
- 키 버전이 더 이상 사용되지 않는지 확인한 후 키 버전을 폐기할 수 있습니다.