이 페이지에서는 자동 또는 수동으로 키를 순환하는 방법을 보여줍니다. 일반적인 키 순환에 대한 자세한 내용은 키 순환을 참조하세요.
필요한 역할
키를 순환하는 데 필요한 권한을 얻으려면 관리자에게 키에 대한 다음 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를 설치합니다.