고객 관리 암호화 키(CMEK) 사용

이 페이지에서는 고객 관리 암호화 키를 사용하는 Redis용 Memorystore 인스턴스를 만드는 방법을 설명합니다. 또한 CMEK를 사용하는 인스턴스를 관리하는 방법도 제공합니다. Memorystore의 고객 관리 암호화 키에 대한 자세한 내용은 고객 관리 암호화 키를 참조하세요.

시작하기 전에

  1. 사용자 계정에 Redis 관리자 역할이 있는지 확인합니다.

    IAM 페이지로 이동

CMEK를 사용하는 인스턴스를 만드는 워크플로

  1. Memorystore 인스턴스를 배치할 위치에 키링을 만들고 키를 만듭니다.

  2. 키에 대한 키 ID(KMS_KEY_ID) 및 위치와 키링의 ID(KMS_KEYRING_ID)를 복사하거나 기록해 둡니다. 서비스 계정에 키에 대한 액세스 권한을 부여할 때 이 정보가 필요합니다.

  3. 서비스 계정에 키에 대한 액세스 권한을 부여합니다.

  4. 프로젝트로 이동하여 키링 및 키와 동일한 리전에 CMEK가 사용 설정된 Redis용 Memorystore 인스턴스를 만듭니다.

이제 Redis용 Memorystore 인스턴스가 CMEK에 사용 설정됩니다.

키 및 키링 만들기

안내에 따라 키링을 만들고 키를 만듭니다. 둘 다 Redis 인스턴스와 동일한 리전에 있어야 합니다. 키가 동일한 리전에 있는 한 키는 다른 프로젝트의 키일 수 있습니다. 또한 키는 대칭 암호화 알고리즘을 사용해야 합니다.

서비스 계정에 키에 대한 액세스 권한 부여

CMEK를 사용하는 Redis 인스턴스를 만들려면 먼저 키에 특정 Memorystore 서비스 계정 액세스를 부여해야 합니다. 다음 형식을 사용하는 Memorystore 서비스 계정에 대해 액세스 권한을 부여합니다.

service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com

콘솔

Console을 사용하는 경우 CMEK를 사용하는 redis 인스턴스 만들기 단계를 수행하는 동안 키에 서비스 계정 액세스를 부여합니다.

gcloud

키에 서비스 계정 액세스를 부여하기 위해 VARIABLES를 적합한 값으로 바꾸고 다음 명령어를 실행합니다.

gcloud kms keys add-iam-policy-binding [KMS_KEY_ID] \
--location=[REGION_ID] \
--keyring=[KMS_KEYRING_ID] \
--member=serviceAccount:service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

CMEK를 사용하는 Redis용 Memorystore 인스턴스 만들기

고객 관리 암호화 키로 인스턴스를 만들려면 다음 안내를 따르세요.

콘솔

  1. Memorystore 인스턴스를 만들려는 동일한 리전에 키 링 및 키를 사용하는 것으로 시작합니다.

  2. Redis 인스턴스 만들기 안내에 따라 고객 관리 암호화 키를 사용 설정하는 단계까지 수행한 후 이 안내로 돌아옵니다.

  3. 고객 관리 암호화 키(CMEK) 사용을 선택합니다.

  4. 드롭다운 메뉴를 사용하여 키를 선택합니다.

  5. Memorystore 서비스 계정에 필요한 권한이 부여되지 않았으면 다음 텍스트 상자가 표시됩니다.

    The service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com service account does not have the "cloudkms.cryptoKeyEncrypterDecrypter" role. Verify the service account has permission to encrypt/decrypt with the selected key.

    • 부여 버튼을 클릭하여 Memorystore 서비스 계정에 역할 권한을 부여합니다.
  6. 인스턴스에 원하는 구성을 선택한 후 만들기 버튼을 클릭하여 CMEK가 사용 설정된 Redis용 Memorystore 인스턴스를 만듭니다.

gcloud

고객 관리 암호화 키를 사용하는 인스턴스를 만들려면 VARIABLES를 적합한 값으로 바꿔서 다음 명령어를 입력합니다.

gcloud beta redis instances create [INSTANCE_ID] --size=[SIZE] \
--region=[REGION_ID] \
--customer-managed-key=projects/[PROJECT_NAME]/locations/[REGION_ID]/keyRings/[KEYRING_NAME]/cryptoKeys/[KEY_NAME]

CMEK가 사용 설정된 인스턴스의 키 정보 보기

다음 안내에 따라 CMEK가 인스턴스에 사용 설정되었는지 확인하고 활성 키를 봅니다.

콘솔

  1. Google Cloud Console에서 Redis용 Memorystore 인스턴스 페이지로 이동합니다.

    Memorystore for Redis

  2. 인스턴스 ID를 클릭하여 인스턴스의 인스턴스 세부정보 페이지를 확인합니다.

  3. 보안 탭을 클릭합니다.

  4. 고객 관리 키를 사용하여 암호화 섹션에는 활성 키에 대한 링크가 포함되고 키 참조 경로가 표시됩니다. 이 섹션이 표시되지 않으면 인스턴스에 CMEK가 사용 설정되지 않은 것입니다.

gcloud

CMEK가 사용 설정되었는지 여부와 키 참조를 확인하려면 다음 명령어를 실행하여 customerManagedKey 필드를 확인합니다.

gcloud beta redis instances describe INSTANCE_ID --project=PROJECT --region=REGION

키 버전 사용 중지 및 다시 사용 설정

키 버전을 사용 중지, 사용, 폐기 또는 다시 사용 설정할 때 발생하는 결과에 대한 자세한 내용은 CMEK 키 버전을 폐기/사용 중지하는 동작을 참조하세요.

키 버전을 사용 중지하고 다시 사용 설정하는 방법은 키 버전 사용 설정 및 사용 중지를 참조하세요.

키 버전을 사용 중지하고 다시 사용 설정하는 방법은 키 버전 폐기 및 복원을 참조하세요.

다음 단계