이 문서에서는 Cloud HSM의 개요와 Cloud Key Management Service에서 HSM으로 보호되는 암호화 키를 만들고 사용하는 방법을 설명합니다.
Cloud HSM이란 무엇인가요?
Cloud HSM은 클라우드에 호스팅되는 하드웨어 보안 모듈 (HSM) 서비스로, 이 서비스를 사용하면 FIPS 140-2 Level 3 인증 HSM 클러스터에서 암호화 키를 호스팅하고 암호화 작업을 수행할 수 있습니다. Google이 HSM 클러스터를 관리하므로 개발자는 클러스터링, 확장 또는 패치 적용에 신경쓰지 않아도 됩니다. Cloud HSM은 프런트엔드로 Cloud KMS를 사용하므로 개발자는 Cloud KMS가 제공하는 모든 편의성 및 기능을 활용할 수 있습니다.
키링 만들기
키를 만들 때 특정 Google Cloud 위치의 키링에 키를 추가합니다. 새 키링을 만들거나 기존 키링을 사용할 수 있습니다. 이 주제에서는 새 키링을 만들고 거기에 새 키를 추가합니다.
Cloud HSM을 지원하는 Google Cloud 위치에 키링을 만듭니다.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
키링 만들기를 클릭합니다.
키링 이름에 키링 이름을 입력합니다.
키링 위치에서
"us-east1"과 같은 위치를 선택합니다.만들기를 클릭합니다.
gcloud
-
Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.
-
환경에서
gcloud kms keyrings create명령어를 실행합니다.gcloud kms keyrings create KEY_RING \ --location LOCATION다음을 바꿉니다.
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 액세스를 참조하세요.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?key_ring_id=KEY_RING" \
--request "POST" \
--header "authorization: Bearer TOKEN"
다음을 바꿉니다.
PROJECT_ID: 키링이 포함된 프로젝트의 ID입니다.KEY_RING: 키가 포함된 키링의 이름입니다.LOCATION: 키링의 Cloud KMS 위치입니다.
자세한 내용은 KeyRing.create API 참고 리소스를 참조하세요.
키 만들기
지정된 키링 및 위치에 Cloud HSM 키를 만들려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
키를 만들 키링의 이름을 클릭합니다.
키 만들기를 클릭합니다.
어떤 유형의 키를 만드시겠어요?에서 생성된 키를 선택합니다.
키 이름 필드에 키의 이름을 입력합니다.
보호 수준 드롭다운을 클릭하고 HSM 또는 단독 테넌트 HSM을 선택합니다.
단일 테넌트 HSM을 선택한 경우 키를 만들 단일 테넌트 HSM 인스턴스를 선택합니다.
용도 드롭다운을 클릭하고 대칭 암호화/복호화를 선택합니다.
순환 주기 및 시작일의 기본값을 그대로 사용합니다.
만들기를 클릭합니다.
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
멀티 테넌트 Cloud HSM 키를 만들려면 hsm 보호 수준으로 kms keys create 명령어를 실행합니다.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--protection-level "hsm"
다음을 바꿉니다.
KEY_NAME: 키에 사용할 이름입니다.KEY_RING: 키를 만들 키링의 이름입니다.LOCATION: 키링의 위치입니다.
모든 플래그 및 가능한 값에 대한 정보를 보려면 --help 플래그와 함께 명령어를 실행하세요.
단일 테넌트 Cloud HSM 키를 만들려면 hsm-single-tenant 보호 수준으로 kms keys create 명령어를 실행하고 키를 만들려는 단일 테넌트 Cloud HSM 인스턴스를 지정합니다. 단독 테넌트 Cloud HSM 인스턴스는 키링과 동일한 위치에 있어야 합니다.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--protection-level "hsm-single-tenant" \
--crypto-key-backend="projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
다음을 바꿉니다.
KEY_NAME: 키에 사용할 이름입니다.KEY_RING: 키를 만들려는 키링의 이름입니다.LOCATION: 키링의 위치입니다.PROTECTION_LEVEL: 만들려는 키의 보호 수준입니다.INSTANCE_PROJECT: 단독 테넌트 Cloud HSM 인스턴스가 있는 프로젝트의 식별자입니다.INSTANCE_NAME: 키를 만들려는 싱글 테넌트 Cloud HSM 인스턴스의 이름입니다. 단독 테넌트 Cloud HSM 인스턴스에 대한 자세한 내용은 단독 테넌트 Cloud HSM 인스턴스 만들기 및 관리를 참고하세요.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Cloud KMS C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 Cloud KMS Go SDK를 설치합니다.