이 페이지에서는 사용 설정된 비대칭 키 버전의 공개 키 부분을 가져오는 방법을 보여줍니다.
공개 키는 PEM(Privacy-enhanced Electronic Mail) 형식입니다. 자세한 내용은 RFC 7468에서 일반 고려사항 및 대상 공개 키 정보의 텍스트 인코딩 섹션을 참조하세요.
필요한 역할
공개 키를 가져오는 데 필요한 권한을 얻으려면 관리자에게 키 또는 상위 리소스에 대한 Cloud KMS CryptoKey 공개 키 뷰어(roles/cloudkms.publicKeyViewer
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 공개 키를 가져오는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
공개 키를 가져오려면 다음 권한이 필요합니다.
-
cloudkms.cryptoKeyVersions.viewPublicKey
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
공개 키 가져오기
사용 설정된 비대칭 키 버전의 공개 키를 다운로드하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 키 관리 페이지로 이동합니다.
공개 키를 검색할 비대칭 키가 포함된 키링의 이름을 클릭합니다.
공개 키를 가져올 키의 이름을 클릭합니다.
공개 키를 검색할 키 버전에 해당하는 행에서
더보기를 클릭합니다.공개 키 가져오기를 클릭합니다.
공개 키가 프롬프트에 표시됩니다. 공개 키를 클립보드에 복사할 수 있습니다. 공개 키를 다운로드하려면 다운로드를 클릭합니다.
공개 키 가져오기 옵션이 표시되지 않으면 다음을 확인합니다.
- 키가 비대칭 키입니다.
- 키 버전이 사용 설정되었습니다.
cloudkms.cryptoKeyVersions.viewPublicKey
권한이 있습니다.
Google Cloud 콘솔에서 다운로드한 공개 키의 파일 이름이 다음 형식입니다.
KEY_RING-KEY_NAME-KEY_VERSION.pub
파일 이름의 각 부분이 하이픈으로 구분됩니다(예: ringname-keyname-version.pub
).
gcloud
명령줄에서 Cloud KMS를 사용하려면 먼저 최신 버전의 Google Cloud CLI로 설치 또는 업그레이드하세요.
gcloud kms keys versions get-public-key KEY_VERSION \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --output-file OUTPUT_FILE_PATH
다음을 바꿉니다.
KEY_VERSION
: 키 버전 번호입니다.KEY_NAME
: 키의 이름입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.OUTPUT_FILE_PATH
: 공개 키 파일을 저장할 경로입니다(예:public-key.pub
).
모든 플래그 및 가능한 값에 대한 정보를 보려면 --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.getPublicKey 메서드를 호출하여 공개 키를 검색합니다.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey" \ --request "GET" \ --header "authorization: Bearer TOKEN"
다음을 바꿉니다.
PROJECT_ID
: 키링이 포함된 프로젝트의 ID입니다.LOCATION
: 키링의 Cloud KMS 위치입니다.KEY_RING
: 키가 포함된 키링의 이름입니다.KEY_NAME
: 키의 이름입니다.KEY_VERSION
: 키 버전 번호입니다.
출력은 다음과 비슷하게 표시됩니다.
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "PROTECTION_LEVEL" }