์ด ํ์ด์ง์๋ ์กฐ์ง, ํด๋ ๋๋ ํ๋ก์ ํธ๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ๊ตฌ์ฑํ๊ธฐ ์ ์ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ๊ฐ์์ ์ ๋ณด๋ฅผ ์์งํด์ผ ํฉ๋๋ค.
๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ IAM ๊ถํ ์ค์
๋ค์ ์์
์๋ ๋์ ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ ๋
ธ๋ ๋๋ ์ ์ฑ
์์ฒด(์ด๋ฏธ ์๋ ๊ฒฝ์ฐ)์ ๋ํ Identity and Access Management(IAM) ์ญํ ์ธ Compute ์กฐ์ง ๋ณด์ ์ ์ฑ
๊ด๋ฆฌ์ ์ญํ (roles/compute.orgSecurityPolicyAdmin
)์ด ํ์ํฉ๋๋ค.
- ์ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ๋ง๋ค๊ธฐ
- ๊ท์น์ ์ถ๊ฐ, ์ ๋ฐ์ดํธ ๋๋ ์ญ์ ํ์ฌ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์์
- ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ญ์
๋ค์ ์์
์๋ ๋์ ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ ๋
ธ๋์ ๋ํ IAM Compute ์กฐ์ง ๋ฆฌ์์ค ๊ด๋ฆฌ์ ์ญํ (roles/compute.orgSecurityResourceAdmin
)๊ณผ ๋์ ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ ๋
ธ๋ ๋๋ ์ ์ฑ
์์ฒด์ ๋ํ Compute ์กฐ์ง ๋ณด์ ์ ์ฑ
๊ด๋ฆฌ์ ์ญํ (roles/compute.orgSecurityPolicyAdmin
) ๋๋ Compute ์กฐ์ง ๋ณด์ ์ ์ฑ
์ฌ์ฉ์ ์ญํ (roles/compute.orgSecurityPolicyUser
)์ด ํ์ํฉ๋๋ค.
- ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ ๋ ธ๋์ ์ฐ๊ฒฐ
๋ง์ง๋ง์ผ๋ก, ๋ค์ ํ์์ ๋์ด๋ ์ญํ ์ด ์๋ ๊ฒฝ์ฐ ์คํํ ์ ์๋ ๊ธฐํ ์์ ๋ชฉ๋ก์ ํ์ธํ์ธ์.
์์ | ์ญํ |
---|---|
๋ฐฑ์๋ ๋ฆฌ์์ค์ ๋ชจ๋ ์ ํจํ Google Cloud Armor ๊ท์น ๋ณด๊ธฐ |
|
organizationSecurityPolicy ์ ํฌํจ๋ ํจ๊ณผ์ ์ธ ๋ฐฑ์๋ ๋ฆฌ์์ค ๋ณด๊ธฐ |
๊ณ์ธต์ ๋ณด์ ์ ์ฑ ๊ตฌ์ฑ
๋ค์ ์น์ ์์๋ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ๋ง๋ค๊ณ , ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ ๋ ธ๋์ ์ฐ๊ฒฐํ๊ณ , ๋ ธ๋ ๊ฐ์ ์ด๋ํ๊ณ , ์ญ์ ํ๋ ๋ฐฉ๋ฒ๊ณผ ๋ณดํธ๋ ๋ฆฌ์์ค์ ์ ์ฉ๋๋ ๋ชจ๋ Google Cloud Armor ๋ณด์ ์ ์ฑ ๊ท์น์ ๋ณด๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
๊ณ์ธต์ ๋ณด์ ์ ์ฑ ๋ง๋ค๊ธฐ
gcloud beta compute org-security-policies create
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ๋ง๋ญ๋๋ค. --organization
๋๋ --folder
ํ๋๊ทธ์ ํด๋น ORGANIZATION_ID
๋๋ FOLDER_ID
๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ์ง ๋๋ ํด๋ ์๋์ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ๋ง๋ญ๋๋ค.
๋ค์ ์์๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ๋ง๋ญ๋๋ค. ์ฌ๊ธฐ์ POLICY_NAME
์ ์ ๋ณด์ ์ ์ฑ
์ ์ง์ ํ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
์กฐ์ง ์์ค ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ๋ง๋ญ๋๋ค.
gcloud beta compute org-security-policies create \ --organization=ORGANIZATION_ID \ --type=CLOUD_ARMOR \ --short-name=POLICY_NAME
ํด๋ ์์ค ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ๋ง๋ญ๋๋ค.
gcloud beta compute org-security-policies create \ --folder=FOLDER_ID \ --type=CLOUD_ARMOR \ --short-name=POLICY_NAME
๊ธฐ์กด ๋ณด์ ์ ์ฑ ์ ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ ๋ ธ๋์ ์ฐ๊ฒฐ
๊ธฐ์กด ๋ณด์ ์ ์ฑ
์ด ์๋ ๊ฒฝ์ฐ gcloud beta compute org-security-policies associations create
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ ๋
ธ๋์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ๋ค์์ ๋ฐ๊ฟ๋๋ค.
POLICY_ID
: ๋ณด์ ์ ์ฑ ์ IDPOLICY_NAME
: ๋ณด์ ์ ์ฑ ์ ์ด๋ฆORGANIZATION_ID
: ์กฐ์ง์ IDFOLDER_ID
: ํด๋์ IDPROJECT_ID
: ํ๋ก์ ํธ ID๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ์กฐ์ง์ ์ฐ๊ฒฐํฉ๋๋ค.
gcloud beta compute org-security-policies associations create \ --security-policy=POLICY_ID \ --organization=ORGANIZATION_ID \ --name=ASSOCIATION_NAME
๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ํด๋์ ์ฐ๊ฒฐํฉ๋๋ค.
gcloud beta compute org-security-policies associations create \ --security-policy=POLICY_ID \ --folder=FOLDER_ID \ --name=ASSOCIATION_NAME
๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ํ๋ก์ ํธ์ ์ฐ๊ฒฐํฉ๋๋ค.
gcloud beta compute org-security-policies associations create \ --security-policy=POLICY_ID \ --project-number=PROJECT_ID \ --name=ASSOCIATION_NAME
๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์์ ํ๋ก์ ํธ ์ ์ธ
๋ํ ํด๋ ์์ค ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์์ ํ๋ก์ ํธ๋ฅผ ์ ์ธํ ์ ์์ผ๋ฉฐ ์กฐ์ง ์์ค ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์์ ํ๋ก์ ํธ์ ํด๋๋ฅผ ๋ชจ๋ ์ ์ธํ ์ ์์ต๋๋ค.
beta compute org-security-policies associations create
๋ช ๋ น์ด์--excluded-projects
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์์ ํ๋ก์ ํธ๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค.๋ค์ ์์ ๋ช ๋ น์ด๋ ID๊ฐ
2000000002
์ธ ํ๋ก์ ํธ๋ฅผ ์ ์ธํ๋ฉด์ ๋ณด์ ์ ์ฑexample-policy
๋ฅผ ์กฐ์ง10000001
์ ์ฐ๊ฒฐํฉ๋๋ค.gcloud beta compute org-security-policies associations create \ --security-policy=example-policy \ --excluded-projects="projects/2000000002" \ --organization=10000001
--excluded-folders
ํ๋๊ทธ์ ํจ๊ปbeta compute org-security-policies associations create
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ์ง ์์ค ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์์ ํด๋๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค.๋ค์ ์์ ๋ช ๋ น์ด๋ ID๊ฐ
3000000003
์ธ ํด๋๋ฅผ ์ ์ธํ๋ฉด์ ๋ณด์ ์ ์ฑexample-policy
๋ฅผ ์กฐ์ง10000001
์ ์ฐ๊ฒฐํฉ๋๋ค.gcloud beta compute org-security-policies associations create \ --security-policy=example-policy \ --excluded-folders="folders/3000000003" \ --organization=10000001
๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ด๋
gcloud beta compute org-security-policies move
๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ๋ค๋ฅธ ์์ ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ ๋
ธ๋๋ก ์ด๋ํ์ฌ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ํ๋๊ทธ๋ก ์์ค๋ฅผ, ๋ ๋ฒ์งธ ํ๋๊ทธ๋ก ๋์์ ์ ๊ณตํฉ๋๋ค.
๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ์ด๋ํ๋ฉด ์์ ๊ถ์ด ๋ณ๊ฒฝ๋์ง๋ง ์ฐ๊ฒฐ๋ ๋ฆฌ์์ค๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค. ์กฐ์ง๊ณผ ํด๋๋ง ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ์์ ํ ์ ์์ผ๋ฏ๋ก ํ๋ก์ ํธ ์๋๋ก ์ด๋ํ ์ ์์ต๋๋ค.
๋ค์ ์์์๋ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ์กฐ์ง ORGANIZATION_ID
์์ ํด๋ FOLDER_ID
๋ก ์ด๋ํฉ๋๋ค.
gcloud beta compute org-security-policies move policy-1 \ --organization ORGANIZATION_ID \ --folder FOLDER_ID
๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ญ์
๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ์ญ์ ํ๋ ค๋ฉด ๋จผ์ ์ ์ฑ
๊ณผ ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ ๋
ธ๋ ๊ฐ์ ๋ชจ๋ ์ฐ๊ฒฐ์ ์ญ์ ํด์ผ ํฉ๋๋ค. ๋ค์ ์์์๋ beta compute org-security-policies associations delete
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ POLICY_NAME
์ด๋ผ๋ ์ด๋ฆ์ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
๊ณผ ORGANIZATION_ID
์กฐ์ง ๊ฐ์ ASSOCIATION_NAME
์ด๋ผ๋ ์ฐ๊ฒฐ์ ์ญ์ ํฉ๋๋ค.
gcloud beta compute org-security-policies associations delete ASSOCIATION_NAME \ --security-policy=POLICY_NAME \ --organization=ORGANIZATION_ID
๋ณด์ ์ ์ฑ
์ ์ฐ๊ฒฐ๋ ํญ๋ชฉ์ด ํ๋๊ฐ ์๋ ๊ฒฝ์ฐ ๊ฐ ์ฐ๊ฒฐ์ ๋ํด ์ด์ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค. ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ์ฐ๊ฒฐ์ด ์์ผ๋ฉด ๋ค์ ์์ ๊ฐ์ด compute org-security-policies delete
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ญ์ ํ ์ ์์ต๋๋ค.
gcloud beta compute org-security-policies delete POLICY_NAME \ --organization=ORGANIZATION_ID
๋ณดํธ๋ ๋ฆฌ์์ค์ ๋ชจ๋ ์ ํจํ Google Cloud Armor ๊ท์น ๋ณด๊ธฐ
gcloud beta compute backend-services get-effective-security-policies
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ณดํธ๋ ๋ฆฌ์์ค์ ์ ์ฉ๋๋ ๋ชจ๋ Google Cloud Armor ๋ณด์ ์ ์ฑ
๊ท์น์ ๋ณผ ์ ์์ต๋๋ค. ๋ค์ ์์์์ RESOURCE_NAME
์ ํ์ธํ ๋ณดํธ ๋ฆฌ์์ค์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
gcloud beta compute backend-services get-effective-security-policies PROTECTED_RESOURCE
์ฌ์ฉ ์ฌ๋ก
๋ค์ ์น์ ์์๋ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ค๋ช ํฉ๋๋ค.
์กฐ์ง์ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ถํ ๋ถ์ฐ๊ธฐ์ ๋ํ ํน์ IP ์ฃผ์์ ํธ๋ํฝ ๊ฑฐ๋ถ
๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ์ฌ์ฉํ์ฌ ์ ์ฒด ์กฐ์ง ๋คํธ์ํฌ์ ์ก์ธ์คํ ์ ์๋ IP ์ฃผ์ ๋ชฉ๋ก์ ๊ด๋ฆฌํ๊ฑฐ๋ ํน์ ์ง์ญ ๋๋ ๊ตญ๊ฐ์ ํธ๋ํฝ์ ๊ฑฐ๋ถํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ์ฌ๋ณ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ฑฐ๋ ๊ท์ ์ค์๋ฅผ ์ ์งํ ์ ์์ต๋๋ค. ๋ค์ ๋จ๊ณ์์๋ IP ์ฃผ์ ๋ฒ์ 192.0.2.0/24
์ ํธ๋ํฝ์ ๊ฑฐ๋ถํ๋ ์กฐ์ง ์์ค ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
ID๊ฐ 1000000001์ธ ์กฐ์ง์ ์ฐ๊ฒฐ๋
org-level-deny-ip-policy
๋ผ๋ ๊ณ์ธต์ ๋ณด์ ์ ์ฑ ์ ๋ง๋ญ๋๋ค.gcloud beta compute org-security-policies create \ --organization=1000000001 \ --type=CLOUD_ARMOR \ --description= "this is an org policy to deny a set of IP addresses for all resources" \ --short-name=org-level-deny-ip-policy
IP ์ฃผ์ ๋ฒ์
192.0.2.0/24
์ ์ผ์น ์กฐ๊ฑด๊ณผdeny
์์ ์ด ์๋ ์ฐ์ ์์1000
์ ๊ท์น์ ์ถ๊ฐํฉ๋๋ค.gcloud beta compute org-security-policies rules create 1000 \ --action=deny \ --security-policy=org-level-deny-ip-policy \ --organization=1000000001 \ --description "Deny traffic from 192.0.2.0/24" \ --src-ip-ranges "192.0.2.0/24"
๋ง์ง๋ง์ผ๋ก ๋ณด์ ์ ์ฑ ์ ์กฐ์ง๊ณผ ์ฐ๊ฒฐํ์ฌ
192.0.2.0/24
IP ์ฃผ์์์ ์กฐ์ง์ ๋ชจ๋ ์๋น์ค๋ก์ ์์ฒญ์ ๊ฑฐ๋ถํฉ๋๋ค.gcloud beta compute org-security-policies associations create \ --security-policy=org-level-deny-ip-policy \ --organization=ORGANIZATION_ID
์กฐ์ง ๋ด ์ผ๋ถ ํ๋ก์ ํธ์ ์์ค IP ์ฃผ์ ์งํฉ์ ๋ํ ์ก์ธ์ค ๊ถํ ๋ถ์ฌ
์กฐ์ง ๋ด ์ผ๋ถ ํ๋ก์ ํธ์ ๋ํ ์ก์ธ์ค ๊ถํ์ IP ์ฃผ์ ๋๋ ์ฌ๋ฌ IP ์ฃผ์์ ๋ถ์ฌํ ์ ์์ต๋๋ค. ์ ๋ขฐํ ์ ์๋ ์
์คํธ๋ฆผ ํ๋ก์๊ฐ ์๊ณ ์ด๋ฅผ ์ผ๋ถ ํ๋ก์ ํธ์์๋ง ๊ท์น ํ๊ฐ์์ ์ ์ธํ๋ ค๋ ๊ฒฝ์ฐ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค์ Cloud CDN ๊ธฐ๋ฐ ์์์๋ ํด๋ ์์ค ๊ณ์ธต์ ๋ณด์ ์ ์ฑ
์ ์ฌ์ฉํ์ฌ ์กฐ์ง 10000001
์ ํ๋ก์ ํธ ์ด๋ฆ์ด project-1
, project-2
, project-3
์ธ ํ๋ก์ ํธ์ IP ์ฃผ์ ๋ฒ์ 192.0.2.0/24
์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ
project-1
,project-2
,project-3
์ ID๊ฐ20000002
์ธ ํด๋๋ก ์ด๋ํฉ๋๋ค.gcloud projects move project-1 --folder=20000002 gcloud projects move project-2 --folder=20000002 gcloud projects move project-3 --folder=20000002
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ
org-level-proxy-filtering
์ด๋ผ๋ ๋ณด์ ์ ์ฑ ์ ๋ง๋ญ๋๋ค.gcloud beta compute org-security-policies create \ --folder=20000002 \ --type=CLOUD_ARMOR \ --short-name=org-level-proxy-filtering
IP ์ฃผ์ ๋ฒ์
192.0.2.0/24
์ ์ผ์น ์กฐ๊ฑด๊ณผgoto_next
๊ท์น ์์ ์ด ์๋ ์ฐ์ ์์1000
์ ๊ท์น์ ์ถ๊ฐํฉ๋๋ค. ์์ฒญ์ด ์ด ์กฐ๊ฑด๊ณผ ์ผ์นํ๋ฉด Google Cloud Armor๋ ์ด ๋ณด์ ์ ์ฑ ๋ด์์ ๊ท์น ํ๊ฐ๋ฅผ ์ค์งํฉ๋๋ค.gcloud beta compute org-security-policies rules create 1000 \ --action=goto_next \ --security-policy=org-level-proxy-filtering \ --organization=10000001 \ --src-ip-ranges="192.0.2.0/24"
์ ํ์ฌํญ:
192.0.2.0/24
์์ ๋ฐ์ํ์ง ์์ ์์ฒญ์ ๋ํด ์ด๋ฌํ ํ๋ก์ ํธ์ ๋ณด์ ์ ์ฑ ๊ท์น์ ์ ์ฉํ๋ ค๋ฉด1000
๋ณด๋ค ๋ฎ์ ์ฐ์ ์์๋ก ๊ท์น์ ์ถ๊ฐํฉ๋๋ค. ์ด ๋จ๊ณ๋ ๋์ค์ ์คํํด๋ ๋ฉ๋๋ค.๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ 1๋จ๊ณ์์ ํ๋ก์ ํธ๋ฅผ ์ด๋ํ ID
20000002
์ ํด๋์ ์ ์ฑ ์ ์ฐ๊ฒฐํฉ๋๋ค.gcloud beta compute org-security-policies associations create \ --security-policy=org-level-proxy-filtering \ --folder=20000002