๊ธฐ๋ณธ์ ์ผ๋ก Eventarc๋ ์ ์ฅ ์ค ๊ณ ๊ฐ ์ฝํ ์ธ ๋ฅผ ์ํธํํฉ๋๋ค. Eventarc๋ ์ฌ์ฉ์ ์ธก์ ์ถ๊ฐ ์์ ์์ด ์๋์ผ๋ก ์ํธํ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ด ์ต์ ์ Google ๊ธฐ๋ณธ ์ํธํ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
์ํธํ ํค๋ฅผ ์ ์ดํ๋ ค๋ฉด Eventarc๋ฅผ ํฌํจํ CMEK ํตํฉ ์๋น์ค์ ํจ๊ป Cloud KMS์์ ๊ณ ๊ฐ ๊ด๋ฆฌ ์ํธํ ํค(CMEK)๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. Cloud KMS ํค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณดํธ ์์ค, ์์น, ์ํ ์ผ์ , ์ฌ์ฉ ๋ฐ ์ก์ธ์ค ๊ถํ, ์ํธํ ๊ฒฝ๊ณ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. Cloud KMS๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ๋ณด๊ณ ํค ์๋ช ์ฃผ๊ธฐ๋ฅผ ์ ์ดํ ์๋ ์์ต๋๋ค. Google์์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๋ ๋์นญ ํค ์ํธํ ํค(KEK)๋ฅผ ์์ ํ๊ณ ๊ด๋ฆฌํ๋ ๋์ ์ฌ์ฉ์๊ฐ Cloud KMS์์ ์ด๋ฌํ ํค๋ฅผ ์ ์ดํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
CMEK๋ก ๋ฆฌ์์ค๋ฅผ ์ค์ ํ ํ Eventarc ๋ฆฌ์์ค์ ์ก์ธ์คํ๋ ํ๊ฒฝ์ Google ๊ธฐ๋ณธ ์ํธํ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค. ์ํธํ ์ต์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ณ ๊ฐ ๊ด๋ฆฌ ์ํธํ ํค(CMEK)๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ณ ๊ฐ ๊ด๋ฆฌ ์ํธํ ํค๋ Cloud HSM ํด๋ฌ์คํฐ์ ๋๋ ์ธ๋ถ์ ์ผ๋ก Cloud ์ธ๋ถ ํค ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํํธ์จ์ด ํค๋ก ์ ์ฅ๋ฉ๋๋ค.
Cloud KMS๋ ํค๊ฐ ์ฌ์ฉ ์ค์ ๋๋ ์ฌ์ฉ ์ค์ง๋๊ฑฐ๋ Eventarc Advanced ์ฑ๋ ๋ฆฌ์์ค์์ ์ฌ์ฉํ์ฌ ๋ฉ์์ง๋ฅผ ์ํธํ ๋ฐ ๋ณตํธํํ ๋ ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ์์ฑํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Cloud KMS ๊ฐ์ฌ ๋ก๊น ์ ๋ณด๋ฅผ ์ฐธ์กฐํ์ธ์.
CMEK๋ก ๋ณดํธ๋๋ ๋์
Eventarc Standard์์ ์ฌ์ฉํ๋ ์ฑ๋์ CMEK๋ฅผ ๊ตฌ์ฑํ๊ณ ์ฑ๋์ ํต๊ณผํ๋ ์ด๋ฒคํธ๋ฅผ ์ํธํํ ์ ์์ต๋๋ค.
CMEK๋ก ์ฑ๋์ ์ฌ์ฉ ์ค์ ํ๋ฉด ๊ฐ๋ฐ์๋ง ์ก์ธ์คํ ์ ์๋ ์ํธํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋๊ณผ ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ(์: ์ ์ก ๊ณ์ธต์ผ๋ก ์ฌ์ฉ๋๋ Pub/Sub ์ฃผ์ )๋ฅผ ๋ณดํธํ ์ ์์ต๋๋ค.
Google Cloudํ๋ก์ ํธ์ Google ์ฑ๋์ CMEK๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ฉด ํด๋น ํ๋ก์ ํธ ๋ฐ ๋ฆฌ์ ์ Google ์ด๋ฒคํธ ์ ํ์ ๋ํ ๋ชจ๋ Eventarc Standard ํธ๋ฆฌ๊ฑฐ๊ฐ CMEK ํค๋ก ์์ ํ ์ํธํ๋ฉ๋๋ค. CMEK ํค๋ ํธ๋ฆฌ๊ฑฐ๋ณ๋ก ์ ์ฉํ ์ ์์ต๋๋ค.
์์ํ๊ธฐ ์ ์
Eventarc์์ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์ ์๊ฑด์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค.
์ฝ์
-
Enable the Cloud KMS and Eventarc APIs.
- ํค๋ง์ ๋ง๋ญ๋๋ค.
- ์ง์ ๋ ํค๋ง์ ํค๋ฅผ ๋ง๋ญ๋๋ค.
gcloud
gcloud
๊ตฌ์ฑ์์๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.gcloud components update
- ์ํธํ ํค๋ฅผ ์ ์ฅํ ํ๋ก์ ํธ์ Cloud KMS ๋ฐ Eventarc API๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
- ํค๋ง์ ๋ง๋ญ๋๋ค.
- ์ง์ ๋ ํค๋ง์ ํค๋ฅผ ๋ง๋ญ๋๋ค.
๋ชจ๋ ํ๋๊ทธ ๋ฐ ๊ฐ๋ฅํ ๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด --help
ํ๋๊ทธ์ ํจ๊ป ๋ช
๋ น์ด๋ฅผ ์คํํ์ธ์.
Cloud KMS์ Eventarc๋ ๋ฆฌ์ ํ๋ ์๋น์ค์ ๋๋ค. Cloud KMS ํค ๋ฐ ๋ณดํธ๋ Eventarc ์ฑ๋์ ๋ฆฌ์ ์ ๋์ผํด์ผ ํฉ๋๋ค.
Eventarc ์๋น์ค ๊ณ์ ์ ํค์ ๋ํ ์ก์ธ์ค ๊ถํ ๋ถ์ฌ
Eventarc ์๋น์ค ๊ณ์ ์ Cloud KMS ํค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ค๋ฉด ์๋น์ค ๊ณ์ ์ ํค์ ์ฃผ ๊ตฌ์ฑ์์ผ๋ก ์ถ๊ฐํ๊ณ ์๋น์ค ๊ณ์ ์ Cloud KMS CryptoKey ์ํธํ/๋ณตํธํ ์ญํ ์ ๋ถ์ฌํฉ๋๋ค.
์ฝ์
์ฝ์์ ํตํด Google ๋๋ ์๋ ํํฐ ์ฑ๋์ CMEK๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ฉด ์๋น์ค ๊ณ์ ์ Cloud KMS CryptoKey ์ํธํ/๋ณตํธํ ์ญํ ์ ๋ถ์ฌํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด ๋ฌธ์์ Google ์ด๋ฒคํธ ์ ํ์ CMEK ์ฌ์ฉ ์ค์ ๋๋ ์๋ ํํฐ ์ด๋ฒคํธ ์ฑ๋์ CMEK ์ฌ์ฉ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
gcloud
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
๋ค์์ ๋ฐ๊ฟ๋๋ค.
KEY_NAME
: ํค์ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉดmy-key
์ ๋๋ค.KEY_RING
: ํค๋ง์ ์ด๋ฆ์ ๋๋ค. ์:my-keyring
LOCATION
: ํค์ ์์น์ ๋๋ค. ์:us-central1
SERVICE_AGENT_EMAIL
:eventarc.serviceAgent
์ญํ ์ด ์๋ ์๋น์ค ๊ณ์ ์ ์ด๋ฉ์ผ ์ฃผ์์ ๋๋ค.์๋ฅผ ๋ค๋ฉด
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com
์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ์๋น์ค ์์ด์ ํธ๋ฅผ ์ฐธ์กฐํ์ธ์.
Google ์ด๋ฒคํธ ์ ํ์ CMEK ์ฌ์ฉ ์ค์
Google ์ด๋ฒคํธ ์ ํ์ ๋ผ์ฐํ ํ๋ Eventarc ํธ๋ฆฌ๊ฑฐ๋ ํ๋ก์ ํธ ๋ฐ ๋ฆฌ์ ๋ณ Google ์ฑ๋์ด๋ผ๊ณ ํ๋ ๊ฐ์ ์ฑ๋์ ์ด๋ฒคํธ๋ฅผ ๊ฒ์ํฉ๋๋ค. ์ด ๊ฐ์ ์ฑ๋์ ๋ชจ๋ Eventarc ๋ฆฌ์ ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Google Cloud ํ๋ก์ ํธ์ Google ์ฑ๋์ CMEK๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ฉด ํด๋น ํ๋ก์ ํธ ๋ฐ ๋ฆฌ์ ์ Google ์ด๋ฒคํธ ์ ํ์ ๋ํ ๋ชจ๋ Eventarc ํธ๋ฆฌ๊ฑฐ๊ฐ CMEK ํค๋ก ์์ ํ ์ํธํ๋ฉ๋๋ค. ์ฌ๋ฌ CMEK ํค๋ฅผ ์ถ๊ฐํ๊ณ Google ์ฑ๋์ ํน์ ๋ฆฌ์ ๊ณผ ๊ฐ๊ฐ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. CMEK ํค๋ ํธ๋ฆฌ๊ฑฐ๋ณ๋ก ์ ์ฉํ ์ ์์ต๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ Eventarc > ์ฑ๋ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
Google ์ ๊ณต์ ์ฒด ์ฑ๋์ ํด๋ฆญํฉ๋๋ค.
์ฑ๋ ์์ ํ์ด์ง์์ ๊ณ ๊ฐ ๊ด๋ฆฌ ์ํธํ ํค(CMEK) ์ฌ์ฉ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํฉ๋๋ค.
์ํธํ ํค ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฆฌ์ ์ ์ ํํ๊ณ CMEK ์ํธํ ํค ๋ชฉ๋ก์์ ๋ฆฌ์ ์ ๋ง๋ ํค๋ง์ ์ ํํฉ๋๋ค. ์ฑ๋๋น ๋ฆฌ์ ๋ณ๋ก ์ํธํ ํค๋ฅผ ํ๋๋ง ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ ํ์ฌํญ: ํค์ ๋ฆฌ์์ค ์ด๋ฆ์ ์๋์ผ๋ก ์ ๋ ฅํ๋ ค๋ฉด CMEK ์ํธํ ํค ๋ชฉ๋ก์์ ํค๊ฐ ํ์๋์ง ์๋์? ํค ๋ฆฌ์์ค ์ด๋ฆ์ ์ ๋ ฅํ์ธ์๋ฅผ ํด๋ฆญํ๊ณ ์ง์ ๋ ํ์์ผ๋ก ํค ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
๋ฉ์์ง๊ฐ ํ์๋๋ฉด
eventarc.serviceAgent
์ญํ ์ ๊ฐ์ง Eventarc ์๋น์ค ๊ณ์ ์cloudkms.cryptoKeyEncrypterDecrypter
์ญํ ์ ๋ถ์ฌํฉ๋๋ค.์ ํ์ฌํญ: ์ํธํ ํค ์ถ๊ฐ๋ฅผ ํด๋ฆญํ์ฌ ๋ค๋ฅธ ๋ฆฌ์ ์ ๋ง๋ ๋ค๋ฅธ ํค๋ง์ ์ถ๊ฐํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
gcloud eventarc google-channels update \ --location=LOCATION \ --crypto-key=KEY
๋ค์์ ๋ฐ๊ฟ๋๋ค.
LOCATION
: ๋ณดํธํ Google ์ฑ๋์ ์์น์ ๋๋ค. ์ฌ์ฉ๋ ํค์ ์์น์ ์ผ์นํด์ผ ํฉ๋๋ค.KEY
:projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
ํ์์ ์ ๊ทํ๋ Cloud KMS ํค ์ด๋ฆ์ ๋๋ค.
์์ฒด ๊ธฐ์กด ์ฃผ์ ๋ฅผ ์ฌ์ฉํ์ฌ Pub/Sub ํธ๋ฆฌ๊ฑฐ๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ ํฌ๊ด์ ์ธ CMEK ๋ณดํธ๋ฅผ ์ํด ์ฃผ์ ์ KMS ํค๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์์ธํ ๋ด์ฉ์ Pub/Sub ์ฃผ์ ๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
Cloud KMS ์ฌ์ฉ๋ ํ์ธ
์ฑ๋์ด ํ์ฌ CMEK๋ฅผ ์ค์ํ๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ Eventarc > ํธ๋ฆฌ๊ฑฐ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
Google Cloud ์์ค๋ฅผ ์ด๋ฒคํธ ์ ๊ณต์ ๋ฐ CMEK๋ฅผ ์ฌ์ฉํด ๋ณดํธํ ๋ฆฌ์ ์ผ๋ก ๋์ดํ๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํธ๋ฆฌ๊ฑฐ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์ ์ํธํ ์ํ์
Events encrypted using Customer-managed encryption keys
๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
gcloud
gcloud eventarc google-channels describe \ --location=LOCATION
์ถ๋ ฅ์ ๋ค์๊ณผ ๋น์ทํ๊ฒ ํ์๋ฉ๋๋ค.
cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig updateTime: '2022-06-28T17:24:56.365866104Z'
cryptokeyName
๊ฐ์ Google ์ฑ๋์ ์ฌ์ฉ๋ Cloud KMS ํค๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์๋ ํํฐ ์ฑ๋์ CMEK ์ฌ์ฉ ์ค์
์๋ ํํฐ์ฉ Eventarc ์ฑ๋์ Eventarc ์์ค๋ฅผ ์ ๊ณตํ๋Google Cloud ์ธ๋ถ ํญ๋ชฉ์ด ๋์๊ณผ ์ํธ์์ฉํ ์ ์๋ ๋ฆฌ์์ค์ ๋๋ค. ์ด ์ฑ๋์ ๋ฆฌ์ ๋ณ๋ก ์ ์ฉ๋๋ฉฐ ์๋ ํํฐ ์ฑ๋๋น ํ๋์ ํค๋ง ์ถ๊ฐํ ์ ์์ต๋๋ค.
์๋ ํํฐ ์ฑ๋์ CMEK๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ Eventarc > ์ฑ๋ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์๋ ํํฐ ์ ๊ณต์ ์ฒด ์ฑ๋์ ํด๋ฆญํฉ๋๋ค.
์ฑ๋ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์
์์ ์ ํด๋ฆญํฉ๋๋ค.์ฑ๋ ์์ ํ์ด์ง์ ์ํธํ์์ Cloud KMS ํค๋ฅผ ์ ํํฉ๋๋ค.
ํค ์ ํ ๋ชฉ๋ก์์ ํค๋ฅผ ๊ด๋ฆฌํ ๋ฐฉ๋ฒ์ ์ ํํฉ๋๋ค.
ํค๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํ๊ฑฐ๋ ํค๋ง๊ณผ ํค๋ฅผ ์ฃผ๋ฌธํ์ผ๋ก ์์ฑํ ์ ์๋ Autokey๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. Autokey ์ต์ ์ด ์ฌ์ฉ ์ค์ง๋ ๊ฒฝ์ฐ ์์ง ํ์ฌ ๋ฆฌ์์ค ์ ํ๊ณผ ํตํฉ๋์ง ์์ ๊ฒ์ ๋๋ค.
Cloud KMS ํค ์ ํ ๋ชฉ๋ก์์ ํค๋ฅผ ์ ํํฉ๋๋ค. ์ฑ๋๋น ๋ฆฌ์ ๋ณ๋ก ์ํธํ ํค๋ฅผ ํ๋๋ง ์ถ๊ฐํ ์ ์์ต๋๋ค.
(์ ํ์ฌํญ) ํค์ ๋ฆฌ์์ค ์ด๋ฆ์ ์๋์ผ๋ก ์ ๋ ฅํ๋ ค๋ฉด Cloud KMS ํค ์ ํ ๋ชฉ๋ก์์ ์๋์ผ๋ก ํค ์ ๋ ฅ์ ํด๋ฆญํ๊ณ ์ง์ ๋ ํ์์ ํค ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
๋ฉ์์ง๊ฐ ํ์๋๋ฉด Eventarc ์๋น์ค ์์ด์ ํธ์๊ฒ
cloudkms.cryptoKeyEncrypterDecrypter
์ญํ ์ ๋ถ์ฌํฉ๋๋ค.์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
gcloud eventarc channels update CHANNEL_NAME \ --location=LOCATION \ --crypto-key=KEY
๋ค์์ ๋ฐ๊ฟ๋๋ค.
CHANNEL_NAME
: ์๋ ํํฐ ์ฑ๋์ ์ด๋ฆ์ ๋๋ค. ์ ์๋ ํํฐ ์ฑ๋์ ๋ง๋ค๋ ค๋ฉด ์ฑ๋ ๋ง๋ค๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.LOCATION
: ๋ณดํธํ ์๋ ํํฐ ์ฑ๋์ ์์น์ ๋๋ค. ํค์ ์์น์ ์ผ์นํด์ผ ํฉ๋๋ค.KEY
:projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
ํ์์ ์ ๊ทํ๋ Cloud KMS ํค ์ด๋ฆ์ ๋๋ค.
Cloud KMS ์ฌ์ฉ๋ ํ์ธ
์ฑ๋์ด ํ์ฌ CMEK๋ฅผ ์ค์ํ๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ Eventarc > ํธ๋ฆฌ๊ฑฐ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์๋ ํํฐ ์์ค๊ฐ ์ด๋ฒคํธ ์ ๊ณต์ ๋ฐ CMEK๋ฅผ ์ฌ์ฉํด ๋ณดํธํ ๋ฆฌ์ ์ธ ํธ๋ฆฌ๊ฑฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํธ๋ฆฌ๊ฑฐ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์ ์ํธํ ์ํ์
Events encrypted using Customer-managed encryption keys
๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
gcloud
gcloud eventarc channels describe CHANNEL_NAME \ --location=LOCATION
์ถ๋ ฅ์ ๋ค์๊ณผ ๋น์ทํ๊ฒ ํ์๋ฉ๋๋ค.
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig pubsubTopic: projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID state: ACTIVE uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
cryptokeyName
๊ฐ์ ์๋ ํํฐ ์ฑ๋์ ์ฌ์ฉ๋๋ Cloud KMS ํค๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์ฑ๋์ ์ฌ์ฉ๋ ํค ํ์
Eventarc ์ฑ๋์ ์ค๋ช ํ๊ณ ์ฑ๋์ ์ฌ์ฉ ์ค์ธ Cloud KMS ํค๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ Eventarc > ์ฑ๋ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฑ๋ ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
์ฑ๋์ ์ฌ์ฉ ์ค์ธ CMEK ์ํธํ ํค๊ฐ ํ์๋ฉ๋๋ค.
gcloud
์ฑ๋ ์ ํ์ ๋ฐ๋ผ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
Google ์ฑ๋
gcloud eventarc google-channels describe \ --location=LOCATION
์๋ ํํฐ ์ฑ๋
gcloud eventarc channels describe CHANNEL_NAME \ --location=LOCATION
์ถ๋ ฅ์๋ ๋ค์๊ณผ ์ ์ฌํ ๋ผ์ธ์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค.
cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
cryptoKeyName
๊ฐ์ ์ฑ๋์ ์ฌ์ฉ๋๋ Cloud KMS ํค๋ฅผ ๋ณด์ฌ์ค๋๋ค.
CMEK ์ฌ์ฉ ์ค์ง
์ฑ๋๊ณผ ์ฐ๊ฒฐ๋ CMEK ๋ณดํธ๋ฅผ ์ฌ์ฉ ์ค์งํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ฑ๋์ ํตํด ์ ์ก๋๋ ์ด๋ฒคํธ๋ ์ฌ์ ํ Google-owned and Google-managed encryption keys๋ก ๋ณดํธ๋ฉ๋๋ค. ์ฑ๋๊ณผ ์ฐ๊ฒฐ๋ CMEK ๋ณดํธ๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ Eventarc > ์ฑ๋ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ฑ๋ ์ ํ์ ๋ฐ๋ผ ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํฉ๋๋ค.
Google ์ฑ๋
- Google ์ ๊ณต์ ์ฒด ์ฑ๋์ ํด๋ฆญํฉ๋๋ค.
- ์ฑ๋ ์์ ํ์ด์ง์์ CMEK ์ํธํ ํค ๋ชฉ๋ก ์์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ ธ๊ฐ ํญ๋ชฉ ์ญ์ ๋ฒํผ์ ํ์ํฉ๋๋ค.
- ํญ๋ชฉ ์ญ์ ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
๊ณ ๊ฐ ๊ด๋ฆฌ ์ํธํ ํค(CMEK) ์ฌ์ฉ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจํด์ผ ํ ์ ์์ต๋๋ค.
์๋ ํํฐ ์ฑ๋
- ์๋ ํํฐ ์ ๊ณต์ ์ฒด ์ฑ๋์ ํด๋ฆญํฉ๋๋ค.
- ์ฑ๋ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์ ์์ ์ ํด๋ฆญํฉ๋๋ค.
- ์ฑ๋ ์์ ํ์ด์ง์ ์ํธํ์์ Google ๊ด๋ฆฌ ์ํธํ ํค๋ฅผ ์ ํํฉ๋๋ค.
- ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
์ฑ๋ ์ ํ์ ๋ฐ๋ผ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
Google ์ฑ๋
gcloud eventarc google-channels \ update --clear-crypto-key
์๋ ํํฐ ์ฑ๋
gcloud eventarc channels CHANNEL_NAME \ update --clear-crypto-key
CMEK ์กฐ์ง ์ ์ฑ ์ ์ฉ
Eventarc๋ ์กฐ์ง ์ ๋ฐ์ CMEK ์ฌ์ฉ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ ๊ฐ์ง ์กฐ์ง ์ ์ฑ ์ ์ฝ ์กฐ๊ฑด๊ณผ ํตํฉ๋ฉ๋๋ค.
constraints/gcp.restrictNonCmekServices
๋ CMEK ๋ณดํธ๋ฅผ ์๊ตฌํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.constraints/gcp.restrictCmekCryptoKeyProjects
๋ CMEK ๋ณดํธ์ ์ฌ์ฉ๋๋ Cloud KMS ํค๋ฅผ ์ ํํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
์ด ํตํฉ์ ํตํด ์กฐ์ง์ Eventarc ๋ฆฌ์์ค์ ๋ค์๊ณผ ๊ฐ์ ์ํธํ ๊ท์ ์ค์ ์๊ตฌ์ฌํญ์ ์ง์ ํ ์ ์์ต๋๋ค.
์กฐ์ง ์ ์ฑ ์ ์ฉ ์ ๊ณ ๋ ค์ฌํญ
CMEK ์กฐ์ง ์ ์ฑ ์ ์ ์ฉํ๊ธฐ ์ ์ ์์๋์ด์ผ ํ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ํ ์ง์ฐ ๋๋น
์กฐ์ง ์ ์ฑ ์ ์ค์ ํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ ํ ์ ์ ์ฑ ์ด ์ ์ฉ๋๋ ๋ฐ ์ต๋ 15๋ถ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
๊ธฐ์กด ๋ฆฌ์์ค ๊ณ ๋ ค
๊ธฐ์กด ๋ฆฌ์์ค์๋ ์๋ก ๋ง๋ ์กฐ์ง ์ ์ฑ ์ด ์ ์ฉ๋์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์กฐ์ง ์ ์ฑ ์ ๊ธฐ์กด ํ์ดํ๋ผ์ธ์ ์๊ธ ์ ์ฉ๋์ง ์์ต๋๋ค. ์ด๋ฌํ ๋ฆฌ์์ค๋ CMEK ์์ด๋ ๊ณ์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ, ํด๋นํ๋ ๊ฒฝ์ฐ ๊ธฐ์กด ํค๋ก ๊ณ์ ์ํธํ๋ฉ๋๋ค.
์กฐ์ง ์ ์ฑ ์ ์ค์ ํ๋ ๋ฐ ํ์ํ ๊ถํ ํ์ธ
ํ ์คํธ ๋ชฉ์ ์ผ๋ก๋ ์กฐ์ง ์ ์ฑ ์ ์ค์ ํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ ์ ์๋ ๊ถํ์ ํ๋ํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์กฐ์ง ์ ์ฑ ๊ด๋ฆฌ์ ์ญํ ์ ๋ถ์ฌ๋ฐ์์ผ ํ๋ฉฐ, ์ด ์ญํ ์ ํ๋ก์ ํธ ๋๋ ํด๋ ์์ค์ด ์๋ ์กฐ์ง ์์ค์์๋ง ๋ถ์ฌํ ์ ์์ต๋๋ค.
์กฐ์ง ์์ค์์ ์ญํ ์ ๋ถ์ฌ๋ฐ์์ผ ํ์ง๋ง ํน์ ํ๋ก์ ํธ๋ ํด๋์๋ง ์ ์ฉ๋๋ ์ ์ฑ ์ ์ง์ ํ ์ ์์ต๋๋ค.
์ Eventarc ๋ฆฌ์์ค์ CMEK ์๊ตฌ
constraints/gcp.restrictNonCmekServices
์ ์ฝ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ์กฐ์ง์ ์ Eventarc ๋ฆฌ์์ค๋ฅผ ๋ณดํธํ๋ ๋ฐ CMEK๋ฅผ ์ฌ์ฉํ๋๋ก ์๊ตฌํ ์ ์์ต๋๋ค.
์ด ์กฐ์ง ์ ์ฑ ์ ์ค์ ํ๋ฉด ์ง์ ๋ Cloud KMS ํค๊ฐ ์๋ ๋ชจ๋ ๋ฆฌ์์ค ๋ง๋ค๊ธฐ ์์ฒญ์ด ์คํจํฉ๋๋ค.
์ด ์ ์ฑ ์ ์ค์ ํ๋ฉด ํ๋ก์ ํธ์ ์ ๋ฆฌ์์ค์๋ง ์ ์ฉ๋ฉ๋๋ค. Cloud KMS ํค๊ฐ ์ ์ฉ๋์ง ์์ ๊ธฐ์กด ๋ฆฌ์์ค๋ ๊ณ์ ์กด์ฌํ๋ฉฐ ๋ฌธ์ ์์ด ์ก์ธ์คํ ์ ์์ต๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ ์กฐ์ง ์ ์ฑ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์ ์ฝ์กฐ๊ฑด์ ๊ฒ์ํฉ๋๋ค.
constraints/gcp.restrictNonCmekServices
์ด๋ฆ ์ด์์ CMEK ์์ด ๋ฆฌ์์ค๋ฅผ ๋ง๋ค ์ ์๋ ์๋น์ค ์ ํ์ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ๊ด๋ฆฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ์์ ํ์ด์ง์ ์ ์ฑ ์์ค์์ ์์ ์ ์ฑ ์ฌ์ ์๋ฅผ ์ ํํฉ๋๋ค.
๊ท์น์์ ๊ท์น ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ๊ฐ ๋ชฉ๋ก์์ ์ปค์คํ ์ ์ ํํฉ๋๋ค.
์ ์ฑ ์ ํ ๋ชฉ๋ก์์ ๊ฑฐ๋ถ๋ฅผ ์ ํํฉ๋๋ค.
์ปค์คํ ๊ฐ ํ๋์ ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
is:eventarc.googleapis.com
์๋ฃ๋ฅผ ํด๋ฆญํ ๋ค์ ์ ์ฑ ์ค์ ์ ํด๋ฆญํฉ๋๋ค.
gcloud
์ ์ฑ ์ ์ ์ฅํ
/tmp/policy.yaml
์์ ํ์ผ์ ๋ง๋ญ๋๋ค.name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices spec: rules: - values: deniedValues: - is:eventarc.googleapis.com
PROJECT_ID
๋ฅผ ์ด ์ ์ฝ์กฐ๊ฑด์ ์ ์ฉํ๋ ํ๋ก์ ํธ์ ID๋ก ๋ฐ๊ฟ๋๋ค.org-policies set-policy
๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.gcloud org-policies set-policy /tmp/policy.yaml
์ ์ฑ ์ด ์ฑ๊ณต์ ์ผ๋ก ์ ์ฉ๋์๋์ง ํ์ธํ๋ ค๋ฉด ํ๋ก์ ํธ์์ Eventarc Standard ์ฑ๋์ ๋ง๋ค์ด ๋ณด๋ฉด ๋ฉ๋๋ค. Cloud KMS ํค๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ํ๋ก์ธ์ค๊ฐ ์คํจํฉ๋๋ค.
Eventarc ํ๋ก์ ํธ์ Cloud KMS ํค ์ ํ
constraints/gcp.restrictCmekCryptoKeyProjects
์ ์ฝ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ Eventarc ํ๋ก์ ํธ์ ๋ฆฌ์์ค๋ฅผ ๋ณดํธํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ Cloud KMS ํค๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด 'projects/my-company-data-project
์ ๊ด๋ จ Eventarc ๋ฆฌ์์ค์ ๋ํด ์ด ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๋ Cloud KMS ํค๋ projects/my-company-central-keys
๋๋ projects/team-specific-keys
์์ ๊ฐ์ ธ์์ผ ํ๋ค'์ ๊ฐ์ ๊ท์น์ ์ง์ ํ ์ ์์ต๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ ์กฐ์ง ์ ์ฑ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์ ์ฝ์กฐ๊ฑด์ ๊ฒ์ํฉ๋๋ค.
constraints/gcp.restrictCmekCryptoKeyProjects
์ด๋ฆ ์ด์์ CMEK์ฉ KMS CryptoKey๋ฅผ ์ ๊ณตํ ์ ์๋ ํ๋ก์ ํธ ์ ํ์ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ๊ด๋ฆฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ์์ ํ์ด์ง์ ์ ์ฑ ์์ค์์ ์์ ์ ์ฑ ์ฌ์ ์๋ฅผ ์ ํํฉ๋๋ค.
๊ท์น์์ ๊ท์น ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ๊ฐ ๋ชฉ๋ก์์ ์ปค์คํ ์ ์ ํํฉ๋๋ค.
์ ์ฑ ์ ํ ๋ชฉ๋ก์์ ํ์ฉ์ ์ ํํฉ๋๋ค.
์ปค์คํ ๊ฐ ํ๋์ ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
under:projects/KMS_PROJECT_ID
KMS_PROJECT_ID
๋ฅผ ์ฌ์ฉํ๋ ค๋ Cloud KMS ํค๊ฐ ์๋ ํ๋ก์ ํธ์ ID๋ก ๋ฐ๊ฟ๋๋ค.์๋ฅผ ๋ค๋ฉด
under:projects/my-kms-project
์ ๋๋ค.์๋ฃ๋ฅผ ํด๋ฆญํ ๋ค์ ์ ์ฑ ์ค์ ์ ํด๋ฆญํฉ๋๋ค.
gcloud
์ ์ฑ ์ ์ ์ฅํ
/tmp/policy.yaml
์์ ํ์ผ์ ๋ง๋ญ๋๋ค.name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects spec: rules: - values: allowedValues: - under:projects/KMS_PROJECT_ID
๋ค์์ ๋ฐ๊ฟ๋๋ค.
PROJECT_ID
: ์ด ์ ์ฝ์กฐ๊ฑด์ ์ ์ฉํ๋ ํ๋ก์ ํธ์ IDKMS_PROJECT_ID
: ์ฌ์ฉํ๋ ค๋ Cloud KMS ํค๊ฐ ์๋ ํ๋ก์ ํธ์ ID
org-policies set-policy
๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.gcloud org-policies set-policy /tmp/policy.yaml
์ ์ฑ ์ด ์ฑ๊ณต์ ์ผ๋ก ์ ์ฉ๋์๋์ง ํ์ธํ๋ ค๋ฉด ๋ค๋ฅธ ํ๋ก์ ํธ์ Cloud KMS ํค๋ฅผ ์ฌ์ฉํ์ฌ Eventarc Standard ์ฑ๋์ ๋ง๋ค์ด ๋ณด๋ฉด ๋ฉ๋๋ค. ํ๋ก์ธ์ค๊ฐ ์คํจํ ๊ฒ์ ๋๋ค.
Cloud KMS ํค ์ฌ์ฉ ์ค์ง ๋ฐ ์ฌ์ฉ ์ค์
ํค ๋ฒ์ ์ ๋ฐ์ดํฐ ์ํธํ, ๋ณตํธํ, ์๋ช , ํ์ธ์ ์ฌ์ฉํ๋ ์ํธํ ํค ์๋ฃ๋ฅผ ์ ์ฅํฉ๋๋ค. ํค๋ก ์ํธํ๋ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์๋๋ก ์ด ํค ๋ฒ์ ์ ์ฌ์ฉ ์ค์งํ ์ ์์ต๋๋ค.
Eventarc๊ฐ Cloud KMS ํค์ ์ก์ธ์คํ ์ ์๋ ๊ฒฝ์ฐ FAILED_PRECONDITION
์ค๋ฅ ๋ฐ ์ฑ๋ ์ ์ก์ด ์ค์ง๋๊ณ ์ฑ๋์ ์ฌ์ฉํ ์ด๋ฒคํธ ๊ฒ์๊ฐ ์คํจํฉ๋๋ค. ์ํธํ๋ ๋ฐ์ดํฐ์ ๋ค์ ์ก์ธ์คํ ์ ์๋๋ก ์ฌ์ฉ ์ค์ง๋จ ์ํ์ ํค๋ฅผ ์ฌ์ฉ ์ค์ ํ ์ ์์ต๋๋ค.
Cloud KMS ํค ์ฌ์ฉ ์ค์ง
Eventarc์์ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฒคํธ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ฑฐ๋ ๋ณตํธํํ์ง ๋ชปํ๋๋ก ํ๋ ค๋ฉด ๋ค์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
- ์ฑ๋์ ๊ตฌ์ฑํ ํค ๋ฒ์ ์ ์ฌ์ฉ ์ค์งํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํน์ ํค์ ๊ด๋ จ๋ Eventarc ์ฑ๋ ๋ฐ ํธ๋ฆฌ๊ฑฐ์๋ง ์ํฅ์ ์ค๋๋ค.
- ์ ํ์ฌํญ: Eventarc ์๋น์ค ๊ณ์ ์์
cloudkms.cryptoKeyEncrypterDecrypter
์ญํ ์ ์ทจ์ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด CMEK๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํ๋ ์ด๋ฒคํธ๋ฅผ ์ง์ํ๋ ๋ชจ๋ ํ๋ก์ ํธ์ Eventarc ์ฑ๋ ๋ฐ ํธ๋ฆฌ๊ฑฐ์ ์ํฅ์ ์ค๋๋ค.
์ด๋ ์์ ๋ ์ฆ์ ์ก์ธ์ค ์ทจ์๋ฅผ ๋ณด์ฅํ์ง๋ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ID ๋ฐ ์ก์ธ์ค ๊ด๋ฆฌ(IAM) ๋ณ๊ฒฝ ์ฌํญ์ ๋ ๋น ๋ฅด๊ฒ ์ ํ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Cloud KMS ๋ฆฌ์์ค ์ผ๊ด์ฑ ๋ฐ ์ก์ธ์ค ๋ณ๊ฒฝ ์ ํ๋ฅผ ์ฐธ์กฐํ์ธ์.
Cloud KMS ํค ๋ค์ ์ฌ์ฉ ์ค์
์ด๋ฒคํธ ์ ์ก ๋ฐ ๊ฒ์๋ฅผ ์ฌ๊ฐํ๋ ค๋ฉด Cloud KMS์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ณต์ํฉ๋๋ค.
๊ฐ๊ฒฉ ์ฑ ์
์ด ํตํฉ์ Google Cloudํ๋ก์ ํธ์ ์ฒญ๊ตฌ๋๋ ์ฃผ์ ์์ ์ด์ธ์ ์ถ๊ฐ ๋น์ฉ์ ๋ฐ์์ํค์ง ์์ต๋๋ค. ์ฑ๋์์ CMEK๋ฅผ ์ฌ์ฉํ๋ฉด Pub/Sub ๊ฐ๊ฒฉ ์ฑ ์ ์ ๋ฐ๋ผ Cloud KMS ์๋น์ค ์ฌ์ฉ ์๊ธ์ด ๋ฐ์ํฉ๋๋ค.
์ต์ ๊ฐ๊ฒฉ ์ฑ ์ ์ ๋ณด์ ๋ํ ์์ธํ ๋ด์ฉ์ Cloud KMS ๊ฐ๊ฒฉ ์ฑ ์ ์ ์ฐธ์กฐํ์ธ์.