์ด ํ์ด์ง์์๋ ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ๋ณธ ์ก์ธ์ค ์์ค์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. Google Cloud ์ฝ์์์ ์ปค์คํ ์ก์ธ์ค ์์ค์ ๋ง๋ค๊ณ ๊ณ ๊ธ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ปค์คํ ์ก์ธ์ค ์์ค ๋ง๋ค๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด ํ์ด์ง์๋ ๋ณด๋ค ์ง์ค์ ์ธ ์ก์ธ์ค ์์ค ๊ตฌํ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋ค์ ์์๋ฅผ ์ฐธ์กฐํ์ธ์.
- ํ์ฌ ๋คํธ์ํฌ์ ์ก์ธ์ค ์ ํ
- ๊ธฐ๊ธฐ ์์ฑ๋ณ ์ก์ธ์ค ์ ํ
- ์ฌ์ฉ์ ๋๋ ์๋น์ค ๊ณ์ ๋ณ ์ก์ธ์ค ๊ถํ ๋ถ์ฌ
์์ํ๊ธฐ ์ ์
- ์ก์ธ์ค ์์ค์ ๋ํด ์์๋ณด๊ธฐ
๊ธฐ๋ณธ ์ก์ธ์ค ์์ค ๋ง๋ค๊ธฐ
์ฝ์
๊ธฐ๋ณธ ์ก์ธ์ค ์์ค์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ Access Context Manager ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
๋ฉ์์ง๊ฐ ํ์๋๋ฉด ์กฐ์ง์ ์ ํํฉ๋๋ค.
Access Context Manager ํ์ด์ง์ ๋งจ ์์ ์๋ ์ ํญ๋ชฉ์ ๋๋ฆ ๋๋ค.
์ ์ก์ธ์ค ์์ค ์ฐฝ์์ ๋ค์์ ์ํํฉ๋๋ค.
์ก์ธ์ค ์์ค ์ ๋ชฉ ํ๋์ ์ก์ธ์ค ์์ค์ ์ ๋ชฉ์ ์ ๋ ฅํฉ๋๋ค. ์ ๋ชฉ์ ์ต๋ 50์์ฌ์ผ ํ๊ณ , ๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ์ซ์, ๋ฌธ์, ๋ฐ์ค, ๊ณต๋ฐฑ๋ง ํฌํจํ ์ ์์ต๋๋ค.
์กฐ๊ฑด ์น์ ์์ ์ถ๊ฐํ ์์ฑ ์ ํ์ ์ถ๊ฐ ๋ฒํผ์ ํด๋ฆญํ ๋ค์ ํด๋น ์์ฑ์ ์ ์ฉํ ๊ฐ์ ์ ๊ณตํฉ๋๋ค.
์ถ๊ฐํ ์ ์๋ ์์ฑ์ ์ ์ฒด ๋ชฉ๋ก์ ์ก์ธ์ค ์์ค ์์ฑ์ ์ฐธ์กฐํ์ธ์.
์๋ฅผ ๋ค์ด ์ก์ธ์ค ์์ค์์ ์์ฒญ์ด ๋ค์ด์ค๋ ๋คํธ์ํฌ ๋ด ์์น๋ฅผ ๊ณ ๋ คํ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด IP ์๋ธ๋คํธ์ํฌ ์์ฑ์ ์ ํํฉ๋๋ค.
๋์ผํ ์กฐ๊ฑด์ ์์ฑ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ์ด ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค. ํ ์กฐ๊ฑด์ ์์ฑ์ด ์ฌ๋ฌ ๊ฐ ์์ผ๋ฉด ์ก์ธ์ค ์์ฒญ์ด ๋ชจ๋ ์์ฑ์ ์ถฉ์กฑ์์ผ์ผ ํฉ๋๋ค.
ํ ์ก์ธ์ค ์์ค ์กฐ๊ฑด์๋ ๊ฐ ์ ํ์ ์์ฑ ํ๋๋ฅผ ํฌํจํ ์ ์์ต๋๋ค. ์ผ๋ถ ์์ฑ์๋ ๊ธฐ๊ธฐ ์ ์ฑ ์์ฑ๊ณผ ๊ฐ์ ์ถ๊ฐ ์ต์ ์ด ํฌํจ๋ฉ๋๋ค.
์ก์ธ์ค ์์ค์ ์ฌ์ฉ์ ID๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์กฐ๊ฑด์ ์ง์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์กฐ๊ฑด์ ID๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด gcloud CLI ๋๋ API๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์ค ์์ค์ ๋ง๋ค๊ฑฐ๋ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
์กฐ๊ฑด ์ถฉ์กฑ ์ ๋ฐํ ์ต์ ์ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ด ์์ฒญ์ด ์ง์ ๋ ๋ชจ๋ ์์ฑ์ ์ถฉ์กฑํด์ผ ํ๋ AND ์ฐ์ฐ (TRUE)์ผ๋ก ํ๊ฐ๋๋์ง ๋๋ ์์ฒญ์ด ์ง์ ๋ ์์ฑ ์ค ํ๋ ์ด์์ ์ถฉ์กฑํ์ง ์์ ๋ ์ถฉ์กฑ๋๋ ๋ถ์ (NAND) ์ฐ์ฐ (FALSE)์ผ๋ก ํ๊ฐ๋๋์ง ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋คํธ์ํฌ์ ํน์ IP ์ฃผ์ ๋ฒ์์์ ์ค๋ ์์ฒญ์ ๊ฑฐ๋ถํ๋ ค๋ฉด IP ์๋ธ๋คํธ์ํฌ ์์ฑ์ ์ฌ์ฉํ์ฌ IP ์ฃผ์ ๋ฒ์๋ฅผ ์ง์ ํ ํ ์กฐ๊ฑด์ FALSE๋ก ์ค์ ํฉ๋๋ค.
(์ ํ์ฌํญ) ๋ค๋ฅธ ์กฐ๊ฑด ์ถ๊ฐ๋ฅผ ํด๋ฆญํ์ฌ ์ก์ธ์ค ์์ค์ ์กฐ๊ฑด์ ์ถ๊ฐํ ํ ์ด์ ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ ๋์ IP ์ฃผ์ ๋ฒ์ ๋ด์ IP ์ฃผ์ ํ์ ์งํฉ์ ๋ํ ์ก์ธ์ค๋ฅผ ๊ฑฐ๋ถํ๋ ค๋ฉด ์ ์กฐ๊ฑด์ ๋ง๋ค๊ณ IP ์๋ธ๋คํธ์ํฌ ์์ฑ์ ํ์ IP ์ฃผ์ ๋ฒ์๋ฅผ ์ง์ ํ ํ FALSE๋ฅผ ๋ฐํํ๋๋ก ์กฐ๊ฑด์ ์ค์ ํฉ๋๋ค.
๋์ผํ ์ก์ธ์ค ์์ค์ ์กฐ๊ฑด์ ์ฌ๋ฌ ๊ฐ ์ถ๊ฐํ๋ ค๋ฉด ์ด ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
์กฐ๊ฑด์ 2๊ฐ ์ด์ ๋ง๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ์กฐ๊ฑด ๊ฒฐํฉ์ ์ฌ์ฉํ์ฌ ์ก์ธ์ค ์์ค์์ ์์ฒญ์ด ํ๋ ์ด์์ ์กฐ๊ฑด์ ์ถฉ์กฑํด์ผ ํ๋์ง(OR) ๋๋ ๋ชจ๋ ์กฐ๊ฑด์ ์ถฉ์กฑํด์ผ ํ๋์ง(AND)๋ฅผ ์ง์ ํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
์์ํ๊ธฐ ์ ์
- ์์ง ์์ผ๋ฉด ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ์ ๋ง๋ญ๋๋ค.
gcloud ๋ช
๋ น์ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์ค ์์ค์ ๋ง๋ค๋ ค๋ฉด gcloud access-context-manager levels create ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud access-context-manager levels create LEVEL_NAME OPTIONS \ --policy=POLICY
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
LEVEL_NAME์ ์ก์ธ์ค ์์ค์ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ ๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ๋ฌธ์, ์ซ์, ๋ฐ์ค๋ง ํฌํจํ ์ ์์ต๋๋ค. ์ด๋ฆ์ ์ต๋ 50์์ ๋๋ค.
OPTIONS๋ ๋ค์ ํ์ ํ์ ์ต์ ์ ๋๋ค.
์ต์ basic-level-spec์ก์ธ์ค ์์ค์ ์กฐ๊ฑด์ ํ๋ ์ด์ ์ง์ ํ๋ YAML ํ์ผ์ ๋๋ค.
title์งง์ ํ์์ผ๋ก ๋ ์ก์ธ์ค ์์ค ์ ๋ชฉ์ ๋๋ค. ์ก์ธ์ค ์์ค ์ ๋ชฉ์ Google Cloud ์ฝ์์ ํ์๋ฉ๋๋ค.
combine-function(์ ํ์ฌํญ) ์กฐ๊ฑด ์กฐํฉ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํฉ๋๋ค.
์ ํจํ ๊ฐ:
AND,ORdescription(์ ํ์ฌํญ) ๊ธด ํ์์ผ๋ก ๋ ์ก์ธ์ค ์์ค์ ์ค๋ช ์ ๋๋ค.
POLICY๋ ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ID์ ๋๋ค. ๊ธฐ๋ณธ ์ ์ฑ ์ด ์ค์ ๋์ด ์์ผ๋ฉด ์ด ๋งค๊ฐ๋ณ์๋ ์ ํ์ฌํญ์ ๋๋ค.
์ ํ์ ์ผ๋ก gcloud-wide ํ๋๊ทธ๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
basic-level-spec YAML ํ์ผ
gcloud ๋ช
๋ น์ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์ค ์์ค์ ์์ฑํ ๋ basic-level-spec ์ต์
์ YAML ํ์ผ์ ์ ๊ณตํด์ผ ํฉ๋๋ค. YAML ํ์ผ์ ์ก์ธ์ค ์์ค์ ์กฐ๊ฑด์ ํ๋ ์ด์ ์ ์ํฉ๋๋ค. ์กฐ๊ฑด์๋ ์์ฑ์ด ์ต์ํ ํ ๊ฐ ์ด์ ํฌํจ๋์ด์ผ ํฉ๋๋ค. ์กฐ๊ฑด์ ์์ฑ์ด 2๊ฐ ์ด์ ์์ผ๋ฉด ์กฐ๊ฑด์์ negate ์์ฑ์ด true๋ก ์ค์ ๋์ด ์๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ AND ์ฐ์ฐ (๋ชจ๋ true์ฌ์ผ ํจ) ๋๋ NAND ์ฐ์ฐ (ํ๋ ์ด์์ด false์ฌ์ผ ํจ)์ผ๋ก ๊ฒฐํฉ๋ฉ๋๋ค.
YAML ํ์ผ์ ํฌํจํ ์ ์๋ ์์ฑ์ ์ ์ฒด ๋ชฉ๋ก์ ์ก์ธ์ค ์์ค ์์ฑ์ ์ฐธ์กฐํ์ธ์.
์ก์ธ์ค ์์ค ๋ฐ YAML์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ก์ธ์ค ์์ค์ YAML ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ช ๋ น์ด ์
gcloud access-context-manager levels create Device_Trust \
--basic-level-spec=corpdevspec.yaml \
--combine-function=AND \
--description='Access level that conforms to corporate spec.' \
--title='Device_Trust Extended' \
--policy=1521580097614100
API
์์ํ๊ธฐ ์ ์
- ์์ง ์์ผ๋ฉด ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ์ ๋ง๋ญ๋๋ค.
์ก์ธ์ค ์์ค์ ๋ง๋ค๋ ค๋ฉด accessLevels.create๋ฅผ ํธ์ถํฉ๋๋ค.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- POLICY๋ ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ID์ ๋๋ค.
์์ฒญ ๋ณธ๋ฌธ
์์ฒญ ๋ณธ๋ฌธ์๋ ์ ์ก์ธ์ค ์์ค์ ์ํ๋ ์กฐ๊ฑด์ ์ง์ ํ๋ AccessLevel ๋ฆฌ์์ค๊ฐ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
๊ฐ Condition์๋ negate ํ๋๊ฐ true๋ก ์ค์ ๋์๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ AND ์ฐ์ฐ (๋ชจ๋ true์ฌ์ผ ํจ) ๋๋ NAND ์ฐ์ฐ (ํ๋ ์ด์์ด false์ฌ์ผ ํจ)์ผ๋ก ํ๊ฐ๋๋ 1๊ฐ ์ด์์ ์์ฑ์ด ์์ต๋๋ค. ๊ฒฐ๊ณผ ํ๊ฐ๋ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
์๋ต ๋ณธ๋ฌธ
ํธ์ถ์ด ์ฑ๊ณตํ๋ฉด ํธ์ถ์ ์๋ต ๋ณธ๋ฌธ์ POST ์์
์ ๋ํ ์ธ๋ถ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ Operation ๋ฆฌ์์ค๊ฐ ํฌํจ๋ฉ๋๋ค.
๊ตฌํ ์์
๋ค์ ์์์๋ ์กฐ์ง์์ ์ก์ธ์ค ์์ค์ ๊ตฌํํ ์ ์๋ ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ์ด๋ค ์์์๋ ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ์ด ์ด๋ฏธ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
ํ์ฌ ๋คํธ์ํฌ์ ์ก์ธ์ค ์ ํ
์ด ์์์๋ ์ง์ ๋ IP ์ฃผ์ ๋ฒ์(์: ํ์ฌ ๋คํธ์ํฌ ๋ด์ ์ฃผ์)์์๋ง ์ก์ธ์ค๋ฅผ ํ์ฉํ๋ ์ก์ธ์ค ์์ค ์กฐ๊ฑด์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋๋ IP ์ฃผ์ ๋ฒ์๋ฅผ ์ ํํจ์ผ๋ก์จ ์กฐ์ง ๋ด๋ถ ๋๋ ์ธ๋ถ ๊ณต๊ฒฉ์์ ๋ฐ์ดํฐ ์ ์ถ์ ๋ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
์ด ์์์์๋ ๋ด๋ถ ๊ฐ์ฌ์ธ ๊ทธ๋ฃน์ด sensitive-data๋ผ๋ ํ๋ก์ ํธ์ Cloud Logging ์๋น์ค์ ์ก์ธ์คํ ์ ์๋๋ก ํ์ฉํ๋ ์ก์ธ์ค ์์ค์ ๋ง๋ ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ฐ์ฌ์ธ์ ๋ชจ๋ ๊ธฐ๊ธฐ์๋ 203.0.113.0~203.0.113.127 ์ฌ์ด์ ์๋ธ๋ท IP๊ฐ ํ ๋น๋ฉ๋๋ค. ๊ฐ์ฌ์ธ์ด ์ฌ์ฉํ๋ ๊ธฐ๊ธฐ๊ฐ ์๋ ๋ค๋ฅธ ๊ธฐ๊ธฐ๋ ์ด ์๋ธ๋ท์ ํ ๋น๋์ง ์์ต๋๋ค.
๋น๊ณต๊ฐ IP ์ฃผ์ ๋ฒ์(์: 192.168.0.0/16 ๋๋ 172.16.0.0/12)๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ด๋ถ IP ์ฃผ์์์ ๋ณดํธ๋ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ํ์ฉ์์ ์ถ๊ฐ ์ ๋ณด์ VPC ์๋น์ค ์ ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ตฌํ ์์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ Access Context Manager ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
๋ฉ์์ง๊ฐ ํ์๋๋ฉด ์กฐ์ง์ ์ ํํฉ๋๋ค.
Access Context Manager ํ์ด์ง์ ๋งจ ์์ ์๋ ์ ํญ๋ชฉ์ ๋๋ฆ ๋๋ค.
์ ์ก์ธ์ค ์์ค ์ฐฝ์ ์กฐ๊ฑด ์น์ ์์ ์์ฑ ์ถ๊ฐ๋ฅผ ํด๋ฆญํ ํ IP ์๋ธ๋คํธ์ํฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
IP ์๋ธ๋คํธ์ํฌ ์์์์ ๊ณต๊ฐ IP ๋๋ ๋น๊ณต๊ฐ IP๋ฅผ ์ ํํฉ๋๋ค.
๊ณต๊ฐ IP๋ฅผ ์ ํํ๋ฉด CIDR ๋ธ๋ก ํ์์ IPv4 ๋๋ IPv6 ๋ฒ์๋ฅผ ํ๋ ์ด์ ์ ๋ ฅํฉ๋๋ค.
์ด ์์์์๋ ๊ฐ์ฌ ๊ธฐ๊ด์ผ๋ก๋ง ์ก์ธ์ค ๊ถํ์ ์ ํํ๊ธฐ ์ํด IP ์๋ธ๋คํธ์ํฌ ์์์
203.0.113.0/25๋ฅผ ์ ๋ ฅํฉ๋๋ค.๋น๊ณต๊ฐ IP๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ VPC ๋คํธ์ํฌ ์ ํ์ ํด๋ฆญํฉ๋๋ค. ๊ฐ์ ธ์ค๊ธฐ ์ต์ ๋ชฉ๋ก์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ ๊ฐ์ง ์ต์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ VPC ๋คํธ์ํฌ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์ต์ 1:
์กฐ์ง์ VPC ๋คํธ์ํฌ ์ฐพ์๋ณด๊ธฐ๋ฅผ ์ ํํ๊ณ VPC ๋คํธ์ํฌ๋ฅผ ์ ํํฉ๋๋ค.
์ ํํ VPC ๋คํธ์ํฌ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
IP ์๋ธ๋ท ์ ํ์ ํด๋ฆญํ๊ณ ์๋ธ๋ท์ ์ ํํฉ๋๋ค.
IP ์๋ธ๋ท ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ต์ 2:
VPC ๋คํธ์ํฌ ์ฃผ์ ์ง์ ์ ๋ ฅ์ ์ ํํ๊ณ VPC ๋คํธ์ํฌ๋ฅผ ํ๋ ์ด์ ์ ๋ ฅํฉ๋๋ค.
VPC ๋คํธ์ํฌ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
IP ์๋ธ๋ท ์ ํ์ ํด๋ฆญํ๊ณ ์๋ธ๋ท์ ์ ํํฉ๋๋ค.
IP ์๋ธ๋ท ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ต์ 3:
CSV ํ์ผ ์ ๋ก๋(๊ธฐ์กด ๋คํธ์ํฌ ๋ฎ์ด์ฐ๊ธฐ)๋ฅผ ์ ํํฉ๋๋ค.
CSV ํ์ผ์ ์ฌ์ฉํ์ฌ ์ก์ธ์ค ์์ค์ VPC ๋คํธ์ํฌ ๋ฐ ์๋ธ๋ท์ ์ถ๊ฐํ๋ฉด Access Context Manager๊ฐ ์ด์ ์ ์ ํํ VPC ๋คํธ์ํฌ ๋ฐ ์๋ธ๋ท์ ๋ฎ์ด์๋๋ค.
์ฐพ์๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ๊ณ CSV ํ์ผ์ ์ ๋ก๋ํฉ๋๋ค. CSV ํ์ผ์์ ๋ค์ ํ์์ผ๋ก VPC ๋คํธ์ํฌ์ ์๋ธ๋ท์ ์ง์ ํด์ผ ํฉ๋๋ค.
VPC_NETWORK_NAME_1 | IP_RANGE_1 | IP_RANGE_2 | ... VPC_NETWORK_NAME_2 | . | . | ... . | . | . | ... . | . | . | ...
๋คํธ์ํฌ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
Access Context Manager๋ CSV ํ์ผ์ ์ฌ์ฉํ์ฌ VPC ๋คํธ์ํฌ ์ฃผ์ ๋ฐ IP ์๋ธ๋คํธ์ํฌ ์์์ ๊ฐ๊ฐ VPC ๋คํธ์ํฌ ์ด๋ฆ๊ณผ ์๋ธ๋ท ์ ๋ณด๋ฅผ ์ฑ์๋๋ค.
VPC ๋คํธ์ํฌ ์ด๋ฆ ๋ฐ ๋น๊ณต๊ฐ IP ์ฃผ์ ํ์์ ๊ดํ ์์ธํ ๋ด์ฉ์ ์ก์ธ์ค ์์ค์์ ๋ด๋ถ IP ์ฃผ์ ์ฌ์ฉ์ ์ฐธ์กฐํ์ธ์.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
CIDR ๋ธ๋ก ํ์์ผ๋ก ๋ IPv4 ๋๋ IPv6 ๋ฒ์๋ฅผ ํ ๊ฐ ์ด์ ํฌํจํ๋ ์ก์ธ์ค ์์ค์ YAML ํ์ผ์ ๋ง๋ญ๋๋ค.
์ด ์์์๋ ๊ฐ์ฌ์ธ์ผ๋ก๋ง ์ก์ธ์ค ๊ถํ์ ์ ํํ๊ธฐ ์ํด YAML ํ์ผ์ ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
- ipSubnetworks: - 203.0.113.0/25๋น๊ณต๊ฐ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด YAML ํ์ผ์ ๋ค์ ์ ๋ณด๋ฅผ ์ ๋ ฅํด์ผ ํฉ๋๋ค.
- vpcNetworkSources: - vpcSubnetwork: network: VPC_NETWORK_NAME vpcIpSubnetworks: - IP_RANGEVPC_NETWORK_NAME ๋ฐ IP_RANGE๋ฅผ ์ก์ธ์ค ์์ค์์ ๋ด๋ถ IP ์ฃผ์ ์ฌ์ฉ ์น์ ์ ์ค๋ช ๋ ๊ฐ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
ํ์ผ์ ์ ์ฅํฉ๋๋ค. ์ด ์์์ ์ด ํ์ผ์ ์ด๋ฆ์ CONDITIONS.yaml์ ๋๋ค.
์ก์ธ์ค ์์ค์ ๋ง๋ญ๋๋ค.
gcloud access-context-manager levels create NAME \ --title TITLE \ --basic-level-spec CONDITIONS.yaml \ --policy=POLICY
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
NAME์ ์ก์ธ์ค ์์ค์ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ ๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ๋ฌธ์, ์ซ์, ๋ฐ์ค๋ง ํฌํจํ ์ ์์ต๋๋ค.
TITLE์ ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ์ ๋ชฉ์ ๋๋ค. ์ด ์ ๋ชฉ์ ์ ์ฑ ์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
POLICY๋ ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ID์ ๋๋ค. ๊ธฐ๋ณธ ์ ์ฑ ์ด ์ค์ ๋ ๊ฒฝ์ฐ ์ด ๋งค๊ฐ๋ณ์๋ ์ ํ์ฌํญ์ ๋๋ค.
๋ค์๊ณผ ๋น์ทํ ์ถ๋ ฅ์ด ํ์๋ฉ๋๋ค.
Create request issued for: NAME Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done. Created level NAME.
API
CIDR ๋ธ๋ก ํ์์ผ๋ก ๋ IPv4 ๋๋ IPv6 ๋ฒ์๊ฐ ํ ๊ฐ ์ด์ ํฌํจ๋
AccessLevel๋ฆฌ์์ค๋ฅผ ๋ง๋ค๋๋ก ์์ฒญ ๋ณธ๋ฌธ์ ์์ฑํฉ๋๋ค.์ด ์์์์๋ ๊ฐ์ฌ์ธ์ผ๋ก๋ง ์ก์ธ์ค ๊ถํ์ ์ ํํ๊ธฐ ์ํด ์์ฒญ ๋ณธ๋ฌธ์ ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
{ "name": "NAME", "title": "TITLE", "basic": { "conditions": [ { "ipSubnetworks": [ "203.0.113.0/25" ] } ] } }
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
NAME์ ์ก์ธ์ค ์์ค์ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ ๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ๋ฌธ์, ์ซ์, ๋ฐ์ค๋ง ํฌํจํ ์ ์์ต๋๋ค.
TITLE์ ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ์ ๋ชฉ์ ๋๋ค. ์ด ์ ๋ชฉ์ ์ ์ฑ ์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
๋น๊ณต๊ฐ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์์ฒญ ๋ณธ๋ฌธ์ ๋ค์ ์ ๋ณด๋ฅผ ์ ๋ ฅํด์ผ ํฉ๋๋ค.
{ "name": "NAME", "title": "TITLE", "basic": { "conditions": [ { "vpcNetworkSources": [ { "vpcSubnetwork": { "network": VPC_NETWORK_NAME, "vpcIpSubnetworks": [ IP_RANGE ] } } ] } ] } }
VPC_NETWORK_NAME ๋ฐ IP_RANGE๋ฅผ ์ก์ธ์ค ์์ค์์ ๋ด๋ถ IP ์ฃผ์ ์ฌ์ฉ ์น์ ์ ์ค๋ช ๋ ๊ฐ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
accessLevels.create๋ฅผ ํธ์ถํ์ฌ ์ก์ธ์ค ์์ค์ ๋ง๋ญ๋๋ค.POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- POLICY๋ ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ID์ ๋๋ค.
๊ธฐ๊ธฐ ์์ฑ๋ณ ์ก์ธ์ค ์ ํ
์ด ์์์์๋ ํน์ ์ด์์ฒด์ (OS) ๋ฒ์ ๊ณผ ๊ฐ์ ์ง์ ๋ ์๊ตฌ์ฌํญ ์งํฉ์ ์ถฉ์กฑํ๋ ๊ธฐ๊ธฐ์๋ง ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ์ก์ธ์ค ์์ค์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
๊ธฐ๊ธฐ์ ๋ํ ์ ๋ณด๋ ์๋ํฌ์ธํธ ํ์ธ์ ํตํด Access Context Manager์ ์ ๊ณต๋ฉ๋๋ค. ์ก์ธ์ค ๊ถํ ๋ถ์ฌ ์ฌ๋ถ ๊ฒฐ์ ์ ํ์ธํ ์ ์๋ ๊ธฐ์ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํ๋ฉด ์ ๊ธ์ด ์ฌ์ฉ ์ค์ ๋จ
- ์ ์ฅ์ ์ํธํ๊ฐ ์ฌ์ฉ ์ค์ ๋จ
- ๊ธฐ๊ธฐ๊ฐ ์ง์ ๋ ์ด์์ฒด์ ์ข ๋ฅ ๋ฐ ๋ฒ์ ์ ์คํ ์ค์
์ด ์์์๋ ์กฐ์ง์์ Chrome OS ๋๋ Windows๊ฐ ์ค์น๋ ๋จธ์ ๋ง ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋ณด์์ ํ์ธต ๊ฐํํ๊ธฐ ์ํด ๋ค๋ฅธ ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋์ด ์ก์ธ์คํ์ง ๋ชปํ๋๋ก ์ฐจ๋จํ๋ ์ก์ธ์ค ์์ค์ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ๋ํ ์ํ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ํน์ ๋ฒ์ ์ OS๋ง ์ก์ธ์คํ ์ ์๋๋ก ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ Access Context Manager ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
๋ฉ์์ง๊ฐ ํ์๋๋ฉด ์กฐ์ง์ ์ ํํฉ๋๋ค.
Access Context Manager ํ์ด์ง์ ๋งจ ์์ ์๋ ์ ํญ๋ชฉ์ ๋๋ฆ ๋๋ค.
์ ์ก์ธ์ค ์์ค ์ฐฝ์ ์กฐ๊ฑด ์น์ ์์ ์์ฑ ์ถ๊ฐ๋ฅผ ํด๋ฆญํ ํ ๊ธฐ๊ธฐ ์ ์ฑ ์ ํด๋ฆญํฉ๋๋ค.
๊ธฐ๊ธฐ ์ ์ฑ ์์ฑ์ ์ถ๊ฐํฉ๋๋ค.
OS ์ ์ฑ ์ถ๊ฐ๋ฅผ ํด๋ฆญํ ํ Chrome OS ์ ์ฑ ์ ํด๋ฆญํฉ๋๋ค.
์ต์ ๋ฒ์ ์์์ ํ์ฉํ Chrome OS์ ์ต์ ๋ฒ์ ์ ์ ๋ ฅํฉ๋๋ค.
Windows OS ์ ์ฑ ์ ๋ํด 1~2๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
OS ์ ์ฝ ์กฐ๊ฑด์ด ์๋ ๊ธฐ๊ธฐ ์ ์ฑ ์ด ํฌํจ๋ ์ก์ธ์ค ์์ค์ YAML ํ์ผ์ ๋ง๋ญ๋๋ค.
์ด ์์์๋ Chrome OS ๋ฐ Windows์ ํ์ฉ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ธฐ๊ธฐ๋ง ํ์ฉํ๊ธฐ ์ํด .YAML ํ์ผ์ ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
- devicePolicy: osConstraints: - osType: DESKTOP_CHROME_OS minimumVersion: 11316.165.0 - osType: DESKTOP_WINDOWS minimumVersion: 10.0.1809ํ์ผ์ ์ ์ฅํฉ๋๋ค. ์ด ์์์ ์ด ํ์ผ์ ์ด๋ฆ์ CONDITIONS.yaml์ ๋๋ค.
์ก์ธ์ค ์์ค์ ๋ง๋ญ๋๋ค.
gcloud access-context-manager levels create NAME \ --title TITLE \ --basic-level-spec CONDITIONS.yaml \ --policy=POLICY
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
NAME์ ์ก์ธ์ค ์์ค์ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ ๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ๋ฌธ์, ์ซ์, ๋ฐ์ค๋ง ํฌํจํ ์ ์์ต๋๋ค.
TITLE์ ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ์ ๋ชฉ์ ๋๋ค. ์ด ์ ๋ชฉ์ ์ ์ฑ ์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
POLICY๋ ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ID์ ๋๋ค. ๊ธฐ๋ณธ ์ ์ฑ ์ด ์ค์ ๋ ๊ฒฝ์ฐ ์ด ๋งค๊ฐ๋ณ์๋ ์ ํ์ฌํญ์ ๋๋ค.
๋ค์๊ณผ ๋น์ทํ ์ถ๋ ฅ์ด ํ์๋ฉ๋๋ค.
Create request issued for: NAME Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done. Created level NAME.
API
OS ์ ์ฝ ์กฐ๊ฑด์ด ์๋ ๊ธฐ๊ธฐ ์ ์ฑ ์ด ํฌํจ๋
AccessLevel๋ฆฌ์์ค๋ฅผ ๋ง๋๋ ์์ฒญ ๋ณธ๋ฌธ์ ์์ฑํฉ๋๋ค.์ด ์์์๋ Chrome OS ๋ฐ Windows์ ํ์ฉ ๊ฐ๋ฅํ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ธฐ๊ธฐ๋ง ํ์ฉํ๊ธฐ ์ํด ์์ฒญ ๋ณธ๋ฌธ์ ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
{ "name": "NAME", "title": "TITLE", "basic": { "conditions": [ { "devicePolicy": { "osConstraints": [ { "osType": "DESKTOP_CHROME_OS", "minimumVersion": "11316.165.0" }, { "osType": "DESKTOP_WINDOWS", "minimumVersion": "10.0.1809" } ] } } ] } }
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
NAME์ ์ก์ธ์ค ์์ค์ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ ๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ๋ฌธ์, ์ซ์, ๋ฐ์ค๋ง ํฌํจํ ์ ์์ต๋๋ค.
TITLE์ ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ์ ๋ชฉ์ ๋๋ค. ์ด ์ ๋ชฉ์ ์ ์ฑ ์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
accessLevels.create๋ฅผ ํธ์ถํ์ฌ ์ก์ธ์ค ์์ค์ ๋ง๋ญ๋๋ค.POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- POLICY๋ ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ID์ ๋๋ค.
์ฌ์ฉ์ ๋๋ ์๋น์ค ๊ณ์ ๋ณ ์ก์ธ์ค ๊ถํ ๋ถ์ฌ
์ธ๊ฐ ์ฌ์ฉ์์ ์ก์ธ์ค ์์ค์ ID๋ฅผ IP ์ฃผ์์ ๊ฐ์ ๋ค๋ฅธ ์ปจํ ์คํธ์ ๊ฒฐํฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฐ๋ฉด ์๋น์ค ๊ณ์ ์ ์ก์ธ์ค ์์ค์ ํน์ ์๋น์ค ๊ณ์ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด Cloud Functions๋ ๋ค๋ฅธ Google Cloud ์๋น์ค์ ์ํธ์์ฉํ๊ธฐ ์ํด ID๊ฐ ํ์ํฉ๋๋ค.
๋ค์ ์ ๋ณด์์๋ ๊ธฐ์กด ์ก์ธ์ค ์์ค์ ํฌํจํ์ฌ ์ค์ฒฉ๋ ์ก์ธ์ค ์์ค์ ์์๋ฅผ ๋ณด์ฌ์ฃผ๋ฉด์ ํน์ ์ฌ์ฉ์ ๋ฐ ์๋น์ค ๊ณ์ ์ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ง์ ๋ ์ฌ์ฉ์๋ ๊ธฐ์กด ์ก์ธ์ค ์์ค์ ์ง์ ๋ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ์ด ์ก์ธ์ค ์์ค์ ํฌํจ๋ฉ๋๋ค. ์ด ์๋ก์ด ์ก์ธ์ค ์์ค์ ๊ธฐ์กด ์ก์ธ์ค ์์ค๋ณด๋ค ์ ํ์ด ์ ์ ๋ฑ๊ธ์ผ๋ก ๊ฐ์ฃผ๋ ์ ์์ต๋๋ค.
์ฝ์
ํ์ฌ Google Cloud ์ฝ์์ ์ก์ธ์ค ์์ค์ ์ฃผ ๊ตฌ์ฑ์์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ก์ธ์ค ์์ค์ ์ฃผ ๊ตฌ์ฑ์์ ์ถ๊ฐํ๋ ค๋ฉด gcloud ๋ช
๋ น์ค ๋๊ตฌ ๋๋ API๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
gcloud
์ก์ธ์ค ๊ถํ์ ์ ๊ณตํ ์ฃผ ๊ตฌ์ฑ์์ ๋์ดํ๋ ์กฐ๊ฑด์ด ํฌํจ๋ YAML ํ์ผ์ ๋ง๋ญ๋๋ค.
์์คํ ๊ด๋ฆฌ์(
sysadmin@example.com)์ ์๋น์ค ๊ณ์ (service@project.iam.gserviceaccount.com)์ ์ถ๊ฐํฉ๋๋ค.- members: - user:sysadmin@example.com - serviceAccount:service@project.iam.gserviceaccount.com์ด ์ก์ธ์ค ์์ค์ ํฌํจํ ๊ธฐ์กด ์ก์ธ์ค ์์ค์ ๋์ดํ๋ ์กฐ๊ฑด์ ์ถ๊ฐํฉ๋๋ค.
์ด ์์์์๋ ์ก์ธ์ค ์์ค ์ด๋ฆ์ด
Device_Trust๋ฐIP_Trust์ด๊ณ247332951433์ด ์ก์ธ์ค ์ ์ฑ ์ด๋ฆ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค.- members: - user:sysadmin@example.com - serviceAccount:service@project.iam.gserviceaccount.com - requiredAccessLevels: - accessPolicies/247332951433/accessLevels/Device_Trust - accessPolicies/247332951433/accessLevels/IP_Trustํ์ผ์ ์ ์ฅํฉ๋๋ค. ์ด ์์์ ์ด ํ์ผ์ ์ด๋ฆ์ CONDITIONS.yaml์ ๋๋ค.
create๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์ค ์์ค์ ๋ง๋ญ๋๋ค.gcloud access-context-manager levels create NAME \ --title TITLE \ --basic-level-spec CONDITIONS.yaml \ --combine-function=OR \ --policy=POLICY
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
NAME์ ์ก์ธ์ค ์์ค์ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ ๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ๋ฌธ์, ์ซ์, ๋ฐ์ค๋ง ํฌํจํ ์ ์์ต๋๋ค.
TITLE์ ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ์ ๋ชฉ์ ๋๋ค. ์ด ์ ๋ชฉ์ ์ ์ฑ ์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
POLICY๋ ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ID์ ๋๋ค. ๊ธฐ๋ณธ ์ ์ฑ ์ด ์ค์ ๋ ๊ฒฝ์ฐ ์ด ๋งค๊ฐ๋ณ์๋ ์ ํ์ฌํญ์ ๋๋ค.
combine-function๊ฐOR๋ก ์ค์ ๋์ด ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐAND์์๋ ๋ชจ๋ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ด์ผ ์ก์ธ์ค ์์ค์ด ๋ถ์ฌ๋ฉ๋๋ค.OR๊ฐ์ ๋ค๋ฅธ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ง ์๋๋ผ๋ ์ฃผ ๊ตฌ์ฑ์์๊ฒ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
๋ค์๊ณผ ๋น์ทํ ์ถ๋ ฅ์ด ํ์๋ฉ๋๋ค.
Create request issued for: NAME Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done. Created level NAME.
API
์ก์ธ์ค ๊ถํ์ ์ ๊ณตํ ์ฃผ ๊ตฌ์ฑ์์ ๋์ดํ๋ ์กฐ๊ฑด์ด ํฌํจ๋
AccessLevel๋ฆฌ์์ค๋ฅผ ๋ง๋๋ ์์ฒญ ๋ณธ๋ฌธ์ ์์ฑํฉ๋๋ค.์ด ์์์์๋ ์์คํ ๊ด๋ฆฌ์(
sysadmin@example.com)์ ์๋น์ค ๊ณ์ (service@project.iam.gserviceaccount.com)์ ์ถ๊ฐํ๋ ค ํฉ๋๋ค.{ "name": "NAME", "title": "TITLE", "basic": { "conditions": [ { "members": [ "user:sysadmin@example.com", "serviceAccount:service@project.iam.gserviceaccount.com" ] } ] } }
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
NAME์ ์ก์ธ์ค ์์ค์ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ์ด ์ด๋ฆ์ ๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ๋ฌธ์, ์ซ์, ๋ฐ์ค๋ง ํฌํจํ ์ ์์ต๋๋ค.
TITLE์ ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ์ ๋ชฉ์ ๋๋ค. ์ด ์ ๋ชฉ์ ์ ์ฑ ์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
์ด ์ก์ธ์ค ์์ค์ ํฌํจํ ๊ธฐ์กด ์ก์ธ์ค ์์ค์ ๋์ดํ๋ ์กฐ๊ฑด์ ์ถ๊ฐํฉ๋๋ค.
์ด ์์์์๋ ์ก์ธ์ค ์์ค ์ด๋ฆ์ด
Device_Trust๋ฐIP_Trust์ด๊ณ247332951433์ด ์ก์ธ์ค ์ ์ฑ ์ด๋ฆ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค.{ "name": "NAME", "title": "TITLE", "basic": { "conditions": [ { "members": [ "user:sysadmin@example.com", "serviceAccount:service@project.iam.gserviceaccount.com" ] }, { "requiredAccessLevels": [ "accessPolicies/247332951433/accessLevels/Device_Trust", "accessPolicies/247332951433/accessLevels/IP_Trust" ] } ] } }
combiningFunction์OR๋ก ์ค์ ํฉ๋๋ค.combiningFunction,AND๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํ๋ฉด ๋ชจ๋ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ด์ผ๋ง ์ก์ธ์ค ์์ค์ด ๋ถ์ฌ๋ฉ๋๋ค.OR๊ฐ์ผ๋ก ์ค์ ํ๋ฉด IP ์ฃผ์๋ ๋ค๋ฅธ ํ์ ์ก์ธ์ค ์์ค์์ ์์๋ ๊ฒ๊ณผ ๊ฐ์ ๋ค๋ฅธ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ง ์๋๋ผ๋ ์ฃผ ๊ตฌ์ฑ์์๊ฒ ์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋ฉ๋๋ค.{ "name": "NAME", "title": "TITLE", "basic": { "conditions": [ { "members": [ "user:sysadmin@example.com", "serviceAccount:service@project.iam.gserviceaccount.com" ] }, { "requiredAccessLevels": [ "accessPolicies/247332951433/accessLevels/Device_Trust", "accessPolicies/247332951433/accessLevels/IP_Trust" ] } ], "combiningFunction": "OR" } }
accessLevels.create๋ฅผ ํธ์ถํ์ฌ ์ก์ธ์ค ์์ค์ ๋ง๋ญ๋๋ค.POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- POLICY๋ ์กฐ์ง์ ์ก์ธ์ค ์ ์ฑ ID์ ๋๋ค.