Analytics Hub ์—ญํ•  ๊ตฌ์„ฑ

์ด ๋ฌธ์„œ์—์„œ๋Š” Analytics Hub ์‚ฌ์šฉ์ž ์—ญํ• ๊ณผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ด ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Analytics Hub ์—ญํ• ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Analytics Hub ์‚ฌ์šฉ์ž ์—ญํ• 

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ์‚ฌ์ „ ์ •์˜๋œ Analytics Hub ์—ญํ• ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๋ฐ ๋ชฉ๋ก์—์„œ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์‚ฌ์šฉ์ž์—๊ฒŒ ์ด ์—ญํ• ์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Analytics Hub ๊ด€๋ฆฌ์ž ์—ญํ• 

Sharing(์ด์ „ ๋ช…์นญ: Analytics Hub)๋Š” ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ์ ํŠธ๋‚˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์— ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” Analytics Hub ๊ด€๋ฆฌ์ž ์—ญํ• (roles/analyticshub.admin)์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์—ญํ• ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชฉ๋ก์„ ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ, ๊ณต์œ 
  • Analytics Hub ๊ด€๋ฆฌ์ž, ๋ชฉ๋ก ๊ด€๋ฆฌ์ž, ๊ฒŒ์‹œ์ž, ๊ตฌ๋…์ž, ๋ทฐ์–ด๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ด ์—ญํ• ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋Š” ๊ด€๋ฆฌ์ž๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Analytics Hub ๊ฒŒ์‹œ์ž ๋ฐ ๋ชฉ๋ก ๊ด€๋ฆฌ์ž ์—ญํ• 

Sharing์€ ๋ชฉ๋ก์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ์ ํŠธ, ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๋˜๋Š” ๋ชฉ๋ก์— ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” Analytics Hub ๊ฒŒ์‹œ์ž ์—ญํ• (roles/analyticshub.publisher)

    ์ด ์—ญํ• ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋ฅผ ๊ฒŒ์‹œ์ž๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” Analytics Hub ๋ชฉ๋ก ๊ด€๋ฆฌ์ž ์—ญํ• (roles/analyticshub.listingAdmin)

Analytics Hub ๊ตฌ๋…์ž ๋ฐ ๋ทฐ์–ด ์—ญํ• 

Sharing์€ ๋ชฉ๋ก์„ ๋ณด๊ณ  ๊ตฌ๋…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ์ ํŠธ, ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๋˜๋Š” ๋ชฉ๋ก์— ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ชฉ๋ก์„ ๋ณด๊ณ  ๊ตฌ๋…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” Analytics Hub ๊ตฌ๋…์ž ์—ญํ• (roles/analyticshub.subscriber)

    ์ด ์—ญํ• ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋Š” ๊ตฌ๋…์ž๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ชฉ๋ก ๋ฐ ๋ฐ์ดํ„ฐ ๊ตํ™˜์˜ ๊ถŒํ•œ์„ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” Analytics Hub ๋ทฐ์–ด ์—ญํ• (roles/analyticshub.viewer)

    ์ด ์—ญํ• ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋ฅผ ๋ทฐ์–ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Analytics Hub ๊ตฌ๋… ์†Œ์œ ์ž ์—ญํ• 

Sharing์€ ๊ตฌ๋…์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์—์„œ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ๊ตฌ๋…์„ ๊ด€๋ฆฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋Š” Analytics Hub ๊ตฌ๋… ์†Œ์œ ์ž ์—ญํ• (roles/analyticshub.subscriptionOwner)

Analytics Hub ์—ญํ•  ๋ถ€์—ฌ

ํ•„์š”์— ๋”ฐ๋ผ ๋ฆฌ์†Œ์Šค ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๋‹ค์Œ ์ˆ˜์ค€์—์„œ Analytics Hub ์—ญํ• ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กœ์ ํŠธ. ์‚ฌ์šฉ์ž์—๊ฒŒ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ฉด ํ”„๋กœ์ ํŠธ์— ํฌํ•จ๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๋ฐ ๋ชฉ๋ก์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ๊ตํ™˜. ๋ฐ์ดํ„ฐ ๊ตํ™˜ ์—ญํ• ์„ ๋ถ€์—ฌ๋ฐ›์€ ์‚ฌ์šฉ์ž๋Š” ๋ฐ์ดํ„ฐ ๊ตํ™˜์— ํฌํ•จ๋œ ๋ชจ๋“  ๋ชฉ๋ก์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ๋ชฉ๋ก. ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ชฉ๋ก์— ๋Œ€ํ•œ ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ฉด ํŠน์ • ๋ชฉ๋ก์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์— ์—ญํ•  ๋ถ€์—ฌ

ํ”„๋กœ์ ํŠธ์— IAM ์ •์ฑ…์„ ์„ค์ •ํ•˜๋ ค๋ฉด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ roles/resourcemanager.projectIamAdmin ์—ญํ• ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ์‚ฌ์ „ ์ •์˜๋œ Analytics Hub ์‚ฌ์šฉ์ž ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

์ฝ˜์†”

  1. ํ”„๋กœ์ ํŠธ์˜ IAM์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    IAM์œผ๋กœ ์ด๋™

  2. ์•ก์„ธ์Šค ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์ƒˆ ์ฃผ ๊ตฌ์„ฑ์› ํ•„๋“œ์—์„œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ID์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    • Google ๊ณ„์ • ์ด๋ฉ”์ผ: test-user@gmail.com
    • Google ๊ทธ๋ฃน: admins@googlegroups.com
    • ์„œ๋น„์Šค ๊ณ„์ •: server@example.gserviceaccount.com
    • Google Workspace ๋„๋ฉ”์ธ: example.com
  4. ์—ญํ•  ์„ ํƒ ๋ชฉ๋ก์—์„œ ๋งˆ์šฐ์Šค ํฌ์ธํ„ฐ๋ฅผ Analytics Hub ์œ„์— ์˜ฌ๋ ค๋†“๊ณ  ๋‹ค์Œ ์—ญํ•  ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    • Analytics Hub ๊ด€๋ฆฌ์ž
    • Analytics Hub ๋ชฉ๋ก ๊ด€๋ฆฌ์ž
    • Analytics Hub ๊ฒŒ์‹œ์ž
    • Analytics Hub ๊ตฌ๋…์ž
    • Analytics Hub ๊ตฌ๋… ์†Œ์œ ์ž
    • Analytics Hub ๋ทฐ์–ด
  5. ์„ ํƒ์‚ฌํ•ญ: Google Cloud ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์ถ”๊ฐ€๋กœ ์ œ์–ดํ•˜๋ ค๋ฉด ์กฐ๊ฑด๋ถ€ ์—ญํ•  ๊ฒฐํ•ฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  6. ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๋‹จ๊ณ„์˜ ์„ค๋ช…๋Œ€๋กœ ๊ฐ™์€ IAM ํŒจ๋„์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud

ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์—์„œ ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ ค๋ฉด ๋‹ค์Œ gcloud projects add-iam-policy-binding ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='PRINCIPAL' \
    --role='roles/analyticshub.admin'

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

  • PROJECT_ID: ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค(์˜ˆ: my-project-1).
  • PRINCIPAL: ์—ญํ• ์„ ๋ถ€์—ฌํ•  ์œ ํšจํ•œ ID

    ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    • Google ๊ณ„์ • ์ด๋ฉ”์ผ: user:user@gmail.com
    • Google ๊ทธ๋ฃน: group:admins@googlegroups.com
    • ์„œ๋น„์Šค ๊ณ„์ •: serviceAccount:server@example.gserviceaccount.com
    • Google Workspace ๋„๋ฉ”์ธ: domain:example.com

API

  1. ๋ฆฌ์†Œ์Šค์˜ getIamPolicy ๋ฉ”์„œ๋“œ๋กœ ๊ธฐ์กด ์ •์ฑ…์„ ์ฝ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ projects.getIamPolicy ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
    

    PROJECT_ID๋ฅผ ํ”„๋กœ์ ํŠธ ID(์˜ˆ: my-project-1)๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  2. ์ฃผ ๊ตฌ์„ฑ์› ๋ฐ ๊ด€๋ จ ์—ญํ• ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๋กœ ์ •์ฑ…์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์›์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    ์˜ˆ๋ฅผ ๋“ค์–ด group:admins@example.com์— roles/analyticshub.admin ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ ค๋ฉด ๋‹ค์Œ binding์„ ์ •์ฑ…์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    {
     "members": [
       "group:admins@example.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. setIamPolicy ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋œ ์ •์ฑ…์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์—์„œ ์ •์ฑ…์„ ์„ค์ •ํ•˜๋ ค๋ฉด project.setIamPolicy ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ ๋ณธ๋ฌธ์— ์ด์ „ ๋‹จ๊ณ„์—์„œ ์—…๋ฐ์ดํŠธํ•œ IAM ์ •์ฑ…์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
    

    PROJECT_ID๋ฅผ ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๊ตํ™˜์— ์—ญํ•  ๋ถ€์—ฌ

๋ฐ์ดํ„ฐ ๊ตํ™˜์— ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Sharing(Analytics Hub) ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Sharing(Analytics Hub)์œผ๋กœ ์ด๋™

  2. ๊ถŒํ•œ์„ ์„ค์ •ํ•  ๋ฐ์ดํ„ฐ ๊ตํ™˜ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์„ธ๋ถ€์ •๋ณด ํƒญ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

  4. ๊ถŒํ•œ ์„ค์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ์ฃผ ๊ตฌ์„ฑ์›์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ์ฃผ ๊ตฌ์„ฑ์› ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  6. ์ƒˆ ์ฃผ ๊ตฌ์„ฑ์› ํ•„๋“œ์— ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ด๋ฉ”์ผ ID๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. allUsers๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต๊ฐœํ•˜๊ณ  ์ธํ„ฐ๋„ท์˜ ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ฑฐ๋‚˜ allAuthenticatedUsers๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธํ•œ Google ์‚ฌ์šฉ์ž๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  7. ์—ญํ•  ์„ ํƒ ๋ฉ”๋‰ด์—์„œ Analytics Hub๋ฅผ ์„ ํƒํ•œ ํ›„ ๋‹ค์Œ Identity and Access Management(IAM) ์—ญํ•  ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    • Analytics Hub ๊ด€๋ฆฌ์ž
    • Analytics Hub ๋ชฉ๋ก ๊ด€๋ฆฌ์ž
    • Analytics Hub ๊ฒŒ์‹œ์ž
    • Analytics Hub ๊ตฌ๋…์ž
    • Analytics Hub ๊ตฌ๋… ์†Œ์œ ์ž
    • Analytics Hub ๋ทฐ์–ด
  8. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

API

  1. projects.locations.dataExchanges.getIamPolicy ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชฉ๋ก getIamPolicy ๋ฉ”์„œ๋“œ๋กœ ๊ธฐ์กด ์ •์ฑ…์„ ์ฝ์Šต๋‹ˆ๋‹ค.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
    

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

    • PROJECT_ID: ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค(์˜ˆ: my-project-1).
    • LOCATION: ๋ฐ์ดํ„ฐ ๊ตํ™˜ ์œ„์น˜ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • DATAEXCHANGE_ID: ๋ฐ์ดํ„ฐ ๊ตํ™˜ ID

    BigQuery Sharing(์ด์ „ ๋ช…์นญ: Analytics Hub)์€ ํ˜„์žฌ ์ •์ฑ…์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ตฌ์„ฑ์›๊ณผ ์—ฐ๊ฒฐ๋œ Identity and Access Management(IAM) ์—ญํ• ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋ ค๋ฉด ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์ฑ…์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์›์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    ์˜ˆ๋ฅผ ๋“ค์–ด group:subscribers@example.com์— roles/analyticshub.subscriber ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ ค๋ฉด ๋‹ค์Œ binding์„ ์ •์ฑ…์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. projects.locations.dataExchanges.setIamPolicy ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋œ ์ •์ฑ…์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ ๋ณธ๋ฌธ์— ์ด์ „ ๋‹จ๊ณ„์—์„œ ์—…๋ฐ์ดํŠธํ•œ IAM ์ •์ฑ…์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
    

    ์š”์ฒญ ๋ณธ๋ฌธ์— ๋ชฉ๋ก ์„ธ๋ถ€์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์ด ์„ฑ๊ณตํ•˜๋ฉด ์‘๋‹ต ๋ณธ๋ฌธ์— ๋ชฉ๋ก ์„ธ๋ถ€์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๊ตํ™˜๊ณผ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค ์ˆ˜์ค€์—์„œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ๋•Œ๋Š” ๋ฆฌ์†Œ์Šค ์ด๋ฆ„์˜ ์œ„์น˜ ๋ถ€๋ถ„์— ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ฌธ์ž๋‚˜ ๋Œ€์†Œ๋ฌธ์ž๊ฐ€ ํ˜ผํ•ฉ๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด Permission Denied ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • projects/myproject/locations/us/dataExchanges/123์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • projects/myproject/locations/US/dataExchanges/123 ์‚ฌ์šฉ ์ž์ œ
  • projects/myproject/locations/Eu/dataExchanges/123 ์‚ฌ์šฉ ์ž์ œ

์ด์ „ ๋‹จ๊ณ„์— ์„ค๋ช…๋œ ๋Œ€๋กœ ๋™์ผํ•œ IAM ํŒจ๋„์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๊ตํ™˜์˜ ์—ญํ• ์„ ์‚ญ์ œํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชฉ๋ก์— ์—ญํ•  ๋ถ€์—ฌ

๋ชฉ๋ก์— ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Sharing(Analytics Hub) ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Sharing(Analytics Hub)์œผ๋กœ ์ด๋™

  2. ๋ชฉ๋ก์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•  ๋ชฉ๋ก์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๊ถŒํ•œ ์„ค์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ์ฃผ ๊ตฌ์„ฑ์›์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ์ฃผ ๊ตฌ์„ฑ์› ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  6. ์ƒˆ ์ฃผ ๊ตฌ์„ฑ์› ํ•„๋“œ์— ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ID์˜ ์ด๋ฉ”์ผ ID๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  7. ์—ญํ•  ์„ ํƒ ๋ฉ”๋‰ด์—์„œ Analytics Hub๋ฅผ ์„ ํƒํ•œ ํ›„ ๋‹ค์Œ Identity and Access Management(IAM) ์—ญํ•  ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    • Analytics Hub ๊ด€๋ฆฌ์ž
    • Analytics Hub ๋ชฉ๋ก ๊ด€๋ฆฌ์ž
    • Analytics Hub ๊ฒŒ์‹œ์ž
    • Analytics Hub ๊ตฌ๋…์ž
    • Analytics Hub ๊ตฌ๋… ์†Œ์œ ์ž
    • Analytics Hub ๋ทฐ์–ด
  8. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

API

  1. projects.locations.dataExchanges.listings.getIamPolicy ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชฉ๋ก getIamPolicy ๋ฉ”์„œ๋“œ๋กœ ๊ธฐ์กด ์ •์ฑ…์„ ์ฝ์Šต๋‹ˆ๋‹ค.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
    

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

    • PROJECT_ID: ํ”„๋กœ์ ํŠธ ID(์˜ˆ: my-project-1).
    • LOCATION: ๋ชฉ๋ก์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ์œ„์น˜ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • DATAEXCHANGE_ID: ๋ฐ์ดํ„ฐ ๊ตํ™˜ ID
    • LISTING_ID: ๋ชฉ๋ก ID

    Sharing์—์„œ ํ˜„์žฌ ์ •์ฑ…์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ตฌ์„ฑ์›๊ณผ ์—ฐ๊ฒฐ๋œ Identity and Access Management(IAM) ์—ญํ• ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋ ค๋ฉด ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์ฑ…์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์›์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    ์˜ˆ๋ฅผ ๋“ค์–ด group:publishers@example.com์— roles/analyticshub.publisher ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ ค๋ฉด ๋‹ค์Œ binding์„ ์ •์ฑ…์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    {
     "members": [
       "group:publishers@example.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. projects.locations.dataExchanges.listings.setIamPolicy ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋œ ์ •์ฑ…์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ ๋ณธ๋ฌธ์— ์ด์ „ ๋‹จ๊ณ„์—์„œ ์—…๋ฐ์ดํŠธํ•œ IAM ์ •์ฑ…์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING-ID:setIamPolicy
    

    ์š”์ฒญ ๋ณธ๋ฌธ์— ๋ชฉ๋ก ์„ธ๋ถ€์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์ด ์„ฑ๊ณตํ•˜๋ฉด ์‘๋‹ต ๋ณธ๋ฌธ์— ๋ชฉ๋ก ์„ธ๋ถ€์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ชฉ๋ก์—์„œ์™€ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค ์ˆ˜์ค€์—์„œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ๋•Œ๋Š” ๋ฆฌ์†Œ์Šค ์ด๋ฆ„์˜ ์œ„์น˜ ๋ถ€๋ถ„์— ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ฌธ์ž๋‚˜ ๋Œ€์†Œ๋ฌธ์ž๊ฐ€ ํ˜ผํ•ฉ๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด Permission Denied ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • projects/myproject/locations/us/dataExchanges/123/listings/456์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • projects/myproject/locations/US/dataExchanges/123/listings/456 ์‚ฌ์šฉ ์ž์ œ
  • projects/myproject/locations/Eu/dataExchanges/123/listings/456 ์‚ฌ์šฉ ์ž์ œ

์ด์ „ ๋‹จ๊ณ„์˜ ์„ค๋ช…๋Œ€๋กœ ๊ฐ™์€ IAM ํŒจ๋„์„ ํ†ตํ•ด ๋ชฉ๋ก์˜ ์—ญํ• ์„ ์‚ญ์ œํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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