์ด ํ์ด์ง์์๋ Cloud KMS์์ ํค๋ง์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ํค๋ง์ Cloud KMS ํค ๋ฐ ํค ๋ฒ์ ์ ๋ฃจํธ ๋ฆฌ์์ค์ ๋๋ค. ๊ฐ ํค๋ง์ ์ง์ ๋ ์์น ๋ด์ ์์ต๋๋ค. Cloud KMS ๋ฆฌ์์ค์ ๋ํ ์์ธํ ๋ด์ฉ์ Cloud KMS ๋ฆฌ์์ค๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์์ํ๊ธฐ ์ ์
์ด ํ์ด์ง์ ์์ ์ ์๋ฃํ๋ ค๋ฉด ๋จผ์ ๋ค์ ํญ๋ชฉ์ด ์์ด์ผ ํฉ๋๋ค.
- Cloud KMS ๋ฆฌ์์ค๋ฅผ ํฌํจํ Google Cloud ํ๋ก์ ํธ ๋ฆฌ์์ค. ์ด ํ๋ก์ ํธ๋ฅผ ํค ํ๋ก์ ํธ๋ผ๊ณ ํฉ๋๋ค. ํค ํ๋ก์ ํธ์๋ ๋ค๋ฅธGoogle Cloud ๋ฆฌ์์ค๋ฅผ ํฌํจํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ํค ํ๋ก์ ํธ์์ Cloud KMS API๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
- ํค๋ง์ ๋ง๋ค ์์น์ ์ด๋ฆ. ๋ค๋ฅธ ๋ฆฌ์์ค ๊ฐ๊น์ด์ ์๊ณ ์ ํํ ๋ณดํธ ์์ค์ ์ง์ํ๋ ์์น๋ฅผ ์ ํํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ฐ ์ง์๋๋ ๋ณดํธ ์์ค์ ๋ณด๋ ค๋ฉด Cloud KMS ์์น๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ์ํ ์ญํ
ํค๋ง์ ๋ง๋๋ ๋ฐ ํ์ํ ๊ถํ์ ์ป์ผ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ ํ๋ก์ ํธ ๋๋ ์์ ๋ฆฌ์์ค์ ๋ํ Cloud KMS ๊ด๋ฆฌ์ (roles/cloudkms.admin
) IAM ์ญํ ์ ๋ถ์ฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
์ญํ ๋ถ์ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋ก์ ํธ, ํด๋, ์กฐ์ง์ ๋ํ ์ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด ์ฌ์ ์ ์๋ ์ญํ ์๋ ํค๋ง์ ๋ง๋๋ ๋ฐ ํ์ํ ๊ถํ์ด ํฌํจ๋์ด ์์ต๋๋ค. ํ์ํ ์ ํํ ๊ถํ์ ๋ณด๋ ค๋ฉด ํ์ ๊ถํ ์น์ ์ ํผ์น์ธ์.
ํ์ ๊ถํ
ํค๋ง์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๊ถํ์ด ํ์ํฉ๋๋ค.
-
cloudkms.keyRings.create
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
์ปค์คํ ์ญํ ์ด๋ ๋ค๋ฅธ ์ฌ์ ์ ์๋ ์ญํ ์ ์ฌ์ฉํ์ฌ ์ด ๊ถํ์ ๋ถ์ฌ๋ฐ์ ์๋ ์์ต๋๋ค.
ํค๋ง ๋ง๋ค๊ธฐ
์ ํค์ ํค๋ง์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์. ๊ธฐ์กด ํค๋ง์ ๋์ ์ฌ์ฉํ๋ ค๋ฉด ํค๋ฅผ ์์ฑํ๋ฉด ๋ฉ๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ ํค ๊ด๋ฆฌ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
ํค๋ง ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํค๋ง ์ด๋ฆ์ ํค๋ง ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
ํค๋ง ์์น์์
"us-east1"
๊ณผ ๊ฐ์ ์์น๋ฅผ ์ ํํฉ๋๋ค.๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
-
ํ๊ฒฝ์์
gcloud kms keyrings create
๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.gcloud kms keyrings create KEY_RING \ --location LOCATION
๋ค์์ ๋ฐ๊ฟ๋๋ค.
KEY_RING
: ํค๊ฐ ํฌํจ๋ ํค๋ง์ ์ด๋ฆ์ ๋๋ค.LOCATION
: ํค๋ง์ Cloud KMS ์์น์ ๋๋ค.
๋ชจ๋ ํ๋๊ทธ ๋ฐ ๊ฐ๋ฅํ ๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด
--help
ํ๋๊ทธ์ ํจ๊ป ๋ช ๋ น์ด๋ฅผ ์คํํ์ธ์. PROJECT_ID
: ํค๋ง์ด ํฌํจ๋ ํ๋ก์ ํธ์ ID์ ๋๋ค.KEY_RING
: ํค๊ฐ ํฌํจ๋ ํค๋ง์ ์ด๋ฆ์ ๋๋ค.LOCATION
: ํค๋ง์ Cloud KMS ์์น์ ๋๋ค.
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"
๋ค์์ ๋ฐ๊ฟ๋๋ค.
์์ธํ ๋ด์ฉ์ API ๋ฌธ์KeyRing.create
๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
- ํค ์์ฑ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- ํค๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
- ์ธ๋ถ ํค๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.