VPC ์„œ๋น„์Šค ์ œ์–ด๋ฅผ ์œ„ํ•œ Assured OSS ์ง€์› ๊ตฌ์„ฑ

VPC ์„œ๋น„์Šค ์ œ์–ด ์„œ๋น„์Šค ๊ฒฝ๊ณ„ ๋‚ด์—์„œ Assured Open Source Software (Assured OSS)๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์ด๊ทธ๋ ˆ์Šค ๊ทœ์น™์„ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ๋Š” Assured Open Source Software์˜ ํ”„๋ฆฌ๋ฏธ์—„ ๋“ฑ๊ธ‰์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๊ทธ๋ ˆ์Šค ์ •์ฑ… ๊ตฌ์„ฑ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  1. ์กฐ์ง ์ˆ˜์ค€์—์„œ VPC ์„œ๋น„์Šค ์ œ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์—ญํ• ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  2. ๋‹ค์Œ ์ •๋ณด๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • Assured OSS๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ์„œ๋น„์Šค ๊ณ„์ •
    • Assured OSS๋ฅผ ์„ค์ •ํ•  ๋•Œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ Artifact Registry ์„œ๋น„์Šค ์—์ด์ „ํŠธ
    • Assured OSS๋ฅผ ์„ค์ •ํ•œ ์‚ฌ์šฉ์ž ๊ณ„์ •์ž…๋‹ˆ๋‹ค.

Assured OSS ์ €์žฅ์†Œ์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ ์ด๊ทธ๋ ˆ์Šค ๊ทœ์น™ ๊ตฌ์„ฑ

Artifact Registry ์ €์žฅ์†Œ์— ๋Œ€ํ•ด ์ด ์ž‘์—…์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์ด๊ทธ๋ ˆ์Šค ๊ทœ์น™์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

- egressFrom:
    identities:
    - serviceAccount: ASSURED_OSS_EMAIL_ADDRESS
    - serviceAccount: ARTIFACT_REPOSITORY_EMAIL_ADDRESS
    - serviceAccount: OTHER_SERVICE_ACCOUNT_EMAIL_ADDRESS
    - USER_GROUP
  egressTo:
    operations:
    - methodSelectors:
      - method: artifactregistry.googleapis.com/MavenRead
      - method: artifactregistry.googleapis.com/NPMRead
      - method: artifactregistry.googleapis.com/PythonRead
      serviceName: artifactregistry.googleapis.com
    resources:
    - projects/855934472549
    - projects/107114433875

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • ASSURED_OSS_EMAIL_ADDRESS: Assured OSS๋ฅผ ์„ค์ •ํ•  ๋•Œ ์ง€์ •ํ•œ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

  • ARTIFACT_REGISTRY_EMAIL_ADDRESS: Artifact Registry ์„œ๋น„์Šค ์—์ด์ „ํŠธ์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

  • OTHER_SERVICE_ACCOUNT_EMAIL_ADDRESS: ์˜คํ”ˆ์†Œ์Šค ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ํ•„์š”ํ•œ ๋‹ค๋ฅธ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

  • USER_GROUP: ์˜คํ”ˆ์†Œ์Šค ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ํ•„์š”ํ•œ ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด group:my-group@example.com ๋˜๋Š” user:alex@example.com์ž…๋‹ˆ๋‹ค.

Assured OSS ๋ฒ„ํ‚ท์—์„œ ๋ณด์•ˆ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ๋•Œ ์ด๊ทธ๋ ˆ์Šค ๊ทœ์น™ ๊ตฌ์„ฑ

Assured OSS๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ์‚ฌ์šฉ์ž ๊ณ„์ • ๋ฐ ์„œ๋น„์Šค ๊ณ„์ •์— ๋Œ€ํ•ด ์ด ์ž‘์—…์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์ด๊ทธ๋ ˆ์Šค ๊ทœ์น™์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

- egressFrom:
    identities:
    - serviceAccount: ASSURED_OSS_EMAIL_ADDRESS
    - user: ASSURED_OSS_USER_EMAIL_ADDRESS
  egressTo:
    operations:
    - methodSelectors:
      - method: google.storage.objects.get
      - method: google.storage.objects.list
      serviceName: storage.googleapis.com
    resources:
    - projects/107114433875

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • ASSURED_OSS_EMAIL_ADDRESS: Assured OSS๋ฅผ ์„ค์ •ํ•  ๋•Œ ์ง€์ •ํ•œ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

  • ASSURED_OSS_USER_EMAIL_ADDRESS: Assured OSS๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ์‚ฌ์šฉ์ž ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

Pub/Sub ์•Œ๋ฆผ ์„ค์ • ์‹œ ์ด๊ทธ๋ ˆ์Šค ๊ทœ์น™ ๊ตฌ์„ฑ

์ด ์ž‘์—…์„ ์™„๋ฃŒํ•˜์—ฌ Assured OSS์— ๋Œ€ํ•œ Pub/Sub ์•Œ๋ฆผ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด๊ทธ๋ ˆ์Šค ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

- egressFrom:
    - serviceAccount: ASSURED_OSS_EMAIL_ADDRESS
    - user: ASSURED_OSS_USER_EMAIL_ADDRESS
  egressTo:
    operations:
    - methodSelectors:
      - method: Subscriber.CreateSubscription
      serviceName: pubsub.googleapis.com
    resources:
    - projects/107114433875

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • ASSURED_OSS_EMAIL_ADDRESS: Assured OSS๋ฅผ ์„ค์ •ํ•  ๋•Œ ์ง€์ •ํ•œ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

  • ASSURED_OSS_USER_EMAIL_ADDRESS: Assured OSS๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ์‚ฌ์šฉ์ž ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

๊ตฌ๋…์„ ๊ตฌ์„ฑํ•œ ํ›„ ์ด ์ด๊ทธ๋ ˆ์Šค ๊ทœ์น™์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„