G-genã®ææã§ãã管ç察象㮠Compute Engine ã€ã³ã¹ã¿ã³ã¹ïŒVMïŒãå€ããšã課é¡ã«ãªãã®ããã°ã€ã³ãŠãŒã¶ãŒã®ç®¡çã§ããGoogle CloudïŒæ§ç§° GCPïŒã®ãµãŒãã¹ Google Compute EngineïŒGCEïŒã«ã¯ OS Login æ©èœ ããããSSH ãã°ã€ã³ãŠãŒã¶ãŒãå¹ççã«ç®¡çã§ããŸãã OS Login ã«ã€ã㊠OS Login ãšã¯ ãã€ã³ã ã¡ãªãã èšå®æé Step 1. OS Login æå¹åïŒã¡ã¿ããŒã¿èšå®ïŒ Step 2. IAM ããŒã«ã®ä»äž ãã°ã€ã³æé OS Login ã«ã€ã㊠OS Login ãšã¯ OS Login 㯠Compute Engine ã® SSH ãã°ã€ã³æã®èªèšŒã IAM ã§ç®¡çããããã®ä»çµã¿ã§ãã OS Login æ©èœã§ã¯ã VM ãž SSH ãã°ã€ã³ãããŠãŒã¶ã Google ã¢ã«ãŠã³ããšé£åããŠç®¡ç ã§ããŸãããªããåœæ©èœã§ç®¡çã§ããã®ã¯ SSH ãã°ã€ã³ã§ããããã察象㯠Linux VM ã®ã¿ã§ãããWindows Server ã¯å¯Ÿè±¡å€ã§ãã OS Login æ©èœããããžã§ã¯ãããšã«ããŸãã¯ã€ã³ã¹ã¿ã³ã¹ããšã«æå¹åãããšãSSH ãŠãŒã¶ãŒã Google ã¢ã«ãŠã³ããã°ã«ãŒããšçŽã¥ããŠç®¡çã§ããŸããGoogle ã¢ã«ãŠã³ãïŒã°ã«ãŒãïŒã«ä»äžãã IAM ããŒã«ã«ãã£ãŠã VM ãžã®ãã°ã€ã³å¯åŠ ãšã sudo å¯åŠ ãæå®ã§ããŸãã ãªã OS Login ã¯ãç¡æã§äœ¿çšã§ããŸãã åè : OS Login ã®æŠèŠ OS Loginæ©èœã®æŠå¿µ ãã€ã³ã æå¹å / ç¡å¹å㯠Compute Engine ã®ã¡ã¿ããŒã¿ïŒã€ã³ã¹ã¿ã³ã¹åäœ / ãããžã§ã¯ãåäœïŒã§æå®ãã å
¬ééµ / ç§å¯éµã¯èªåçæããã€ã³ã¹ã¿ã³ã¹ã®äžã«é£æºããã OS Login ã§ã¯ OS ãŠãŒã¶ãŒã <ã¢ã«ãŠã³ãå>_<ãã¡ã€ã³å> ãšããåç§°ã§èªåäœæããã äŸ: john@g-gen.co.jp â john_g_gen_co_jp 2段éèªèšŒãèšå®å¯èœ ã¡ãªãã VM ã«ãã°ã€ã³ã§ããå©çšè
ã Google ã¢ã«ãŠã³ãïŒã°ã«ãŒãïŒã§ç®¡çã§ããããã OS ãŠãŒã¶ãŒçµ±å¶ã®æ¹å ã 管çã»éçšã®å·¥æ°åæž ãæåŸ
ã§ããŸãã ãã°ã€ã³æã®2段éèªèšŒãç°¡åã«èšå®ã§ããã®ã§ãã»ãã¥ãªãã£ã¬ãã«ã®åäžãèŠèŸŒããŸãã å察㫠OS Login æ©èœãå©çšããªãã§ SSH ãŠãŒã¶ãŒã管çããæ¹æ³ã«ã¯ã ã¡ã¿ããŒã¿ãããŒãžã SSH æ¥ç¶ ããããŸãããã¡ãã®å ŽåãäŸãã° gcloud compute ssh ã§ãã°ã€ã³ãè¡ããããšãæäœãã PC ç°å¢ã®ããŒã«ã«ãŠãŒã¶ãŒã®åç§°ã§ãOS ãŠãŒã¶ãŒã VM äžã«èªåäœæãããŸãããã®æ¹æ³ã§ã¯ãVM ã« OS ãŠãŒã¶ãŒãä¹±ç«ããŠããŸããããããããŸãã åè : ã¡ã¿ããŒã¿ ãããŒãžã SSH æ¥ç¶ èšå®æé åè : OS Login ãèšå®ãã Step 1. OS Login æå¹åïŒã¡ã¿ããŒã¿èšå®ïŒ ãŸããOS Login æ©èœã ãããžã§ã¯ãåäœ ã§æå¹åããã®ããããã㯠ã€ã³ã¹ã¿ã³ã¹åäœ ã§æå¹åããã®ããæ±ºå®ããŸãã OS Login ãæå¹åããã«ã¯ãæå®ã®ããŒã»ããªã¥ãŒãã¡ã¿ããŒã¿ã«èšå®ããå¿
èŠããããŸããCompute Engine ã¡ã¿ããŒã¿ã¯ããããžã§ã¯ãåäœã®ã¡ã¿ããŒã¿ãšã€ã³ã¹ã¿ã³ã¹åäœã®ã¡ã¿ããŒã¿ãããŸãã ãããžã§ã¯ãå
šäœã§æå¹åããã«ã¯ããããžã§ã¯ãã® Compute Engine ã¡ã¿ããŒã¿ã« enable-oslogin = TRUE ãèšå®ããŸãã ãããžã§ã¯ãã¬ãã«ã®ã¡ã¿ããŒã¿ äžæ¹ã§ã€ã³ã¹ã¿ã³ã¹åäœã§æå¹åããã«ã¯ãåã
ã®ã€ã³ã¹ã¿ã³ã¹ã® ç·šé ç»é¢ãããã¡ã¿ããŒã¿ã« enable-oslogin = TRUE ãèšå®ããŸãã ã€ã³ã¹ã¿ã³ã¹ã¬ãã«ã®ã¡ã¿ããŒã¿ 2段éèªèšŒãæå¹åãããå Žåã¯ããã®æç¹ã§ã¡ã¿ããŒã¿ã« enable-oslogin-2fa = TRUE ã䜵ããŠèšå®ããŠãã ããã OS Login æ©èœã®2段éèªèšŒã¯ã Google ã¢ã«ãŠã³ãã«èšå®ãããäºæ®µéèªèšŒã®èŠçŽ ãå©çšããŸããããšãã°ãGoogle Authenticator ã® OTP å
¥åãä¿ãããããã¹ããã® Google ã¢ããªã®æ¿èªãã¿ã³ãæŒãããšãä¿ãããããããªã©ã§ãã Step 2. IAM ããŒã«ã®ä»äž OS ã«ãã°ã€ã³ãããã Google ã¢ã«ãŠã³ããŸã㯠Google ã°ã«ãŒãã«ãIAM ããŒã«ãä»äžããŸãã ãªã IAM ã®ãã¹ããã©ã¯ãã£ã¹ãšããŠãIAM ããŒã«ã¯ã¢ã«ãŠã³ãã«çŽæ¥ä»äžããã®ã§ã¯ãªããã°ã«ãŒãã«ä»äžããããšãæšå¥šãããŠããŸãã OS Login ã䜿ãã«ã¯ã以äžã® ãããã ã® IAM ããŒã«ãä»äžããŸãã sudo æš©éãªãã®å Žå roles/compute.osLogin ïŒæ¥æ¬èªå: Compute OS ãã°ã€ã³ ïŒ sudo æš©éããã®å Žå roles/compute.osAdminLogin ïŒæ¥æ¬èªå: Compute OS 管çè
ãã°ã€ã³ ïŒ IAM ããŒã«ã¯ çµç¹ã¬ãã« ãããžã§ã¯ãã¬ãã« åå¥ã€ã³ã¹ã¿ã³ã¹ã¬ãã« ã®ããããã§ä»äžããããšã§ããã® Google ã¢ã«ãŠã³ãïŒã°ã«ãŒãïŒãã©ã®ã€ã³ã¹ã¿ã³ã¹ã«ãã°ã€ã³ã§ãããããæ±ºãŸããŸãã çµç¹ã¬ãã«ã§ä»äžããã°çµç¹é
äžã®å
šãŠã®ã€ã³ã¹ã¿ã³ã¹ã«ããããžã§ã¯ãã¬ãã«ã§ä»äžããã°ãããžã§ã¯ãå
ã®å
šãŠã®ã€ã³ã¹ã¿ã³ã¹ã«ãã€ã³ã¹ã¿ã³ã¹ã¬ãã«ã§ä»äžããã°ãã®ã€ã³ã¹ã¿ã³ã¹ã ãã«ãSSH ãã°ã€ã³ã§ããããã«ãªããŸãã IAM ã®åºæ¬çãªä»çµã¿ã«ã€ããŠã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp ãã°ã€ã³æé OS Login ãæå¹åãããšãã³ã³ãœãŒã«ãã SSH ãã¿ã³ãæŒäžããããgcloud ã³ãã³ãã䜿ã£ãŠ VM ã«ãã°ã€ã³ããéã«ãèªåçã« OS Login ã«ããèªèšŒãè¡ããããã°ã€ã³ã§ããããã«ãªããŸãã ã³ã³ãœãŒã«ããã®SSHãã°ã€ã³ gcloud ã³ãã³ãã§ããã°ãéåžžã® SSH ãã°ã€ã³æãšåãããã«ã以äžã®ããã«å®è¡ããã ãã§ãã gcloud compute ssh --project=${PROJECT_ID} --zone=${ZONE} ${VM_NAME} ããã¡ã¿ããŒã¿ã« enable-oslogin-2fa = TRUE ãèšå®ãããŠããã°ããã®ã¿ã€ãã³ã°ã§2段éèªèšŒãæ±ããããŸãã ææ å銬 (èšäºäžèЧ) å·è¡åœ¹å¡ CTO / ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³éš éšé· å
èŠå¯å®ãšããçµæŽãæã€çŸ IT ãšã³ãžãã¢ãã¯ã©ãŠã管çã»éçšããããã¯ãŒã¯ã«ç¥èŠãAWS 12è³æ ŒãGoogle Cloudèªå®è³æ Œ11è³æ ŒãX (æ§ Twitter) ã§ã¯ Google Cloud ã AWS ã®ã¢ããããŒãæ
å ±ãã€ã¶ãããŠããŸãã Follow @y_sugi_it
ããã«ã¡ã¯ïŒG-genã®å°æã§ããã¿ãªããGoogle Cloudã¯ãå©çšãããŠãŸãã§ããããïŒã客æ§ãšã話ãããŠããäžã§Google Cloudã䜿ã£ãŠã¿ãŠãããã©ãæåã«äœãèšå®ããŠããã¹ããªã®ãåãããªããŠå°ã£ãŠããããšãã声ããã䌺ããŸããåœèšäºã§ã¯ãGoogle Cloudãã»ãã¥ã¢ã«äœ¿ãããã«ã¯ã©ãããã¹ããªã®ãã«ã€ããŠèª¬æããŸãã ã¯ããã« æåã«å¯Ÿå¿ãã¹ããã§ãã¯ãªã¹ãã®ç¢ºèªæ¹æ³ çµç¹ãš ID ãŠãŒã¶ãŒãšã°ã«ãŒã 管çè
ã¢ã¯ã»ã¹ ãæ¯æã ãªãœãŒã¹éå±€ ãªãœãŒã¹ã®ã¢ã¯ã»ã¹ ãããã¯ãŒãã³ã° ã¢ãã¿ãªã³ã°ãšãã®ã³ã° ã»ãã¥ãªã㣠ãµããŒãïŒã«ã¹ã¿ããŒã±ã¢ïŒ ã¯ããã« åœèšäºã§ã¯ãGoogle Cloudãå©çšéå§ããã°ããã®æ¹ããã»ãã¥ã¢ã«å©çšããããã«å¿
èŠãªããšã説æããŸãã ãGoogle Cloudã瀟å
ã§äœ¿ã£ãŠã¿ãããšããŠãããã©ãå¿
èŠæäœéã®èšå®ãããç¶æ
ã§ãŠãŒã¶ãŒã«äœ¿ããããããæ¬çªå©çšããå Žåã®ããã ãã¯èšå®ããŠããã¹ãé
ç®ãææ¡ããŠããããããšèããŠããã¯ã©ãŠã管çè
ã®æ¹åãã®å
容ã§ãã ãªããåœèšäºã§ç޹ä»ãã Google Cloud ã³ã³ãœãŒã«ç»é¢ã¯2021幎10æçŸåšã®ãã®ã§ããææ°ã®ç¶æ
ãšã¯ç°ãªãå Žåãããç¹ã«ãçæãã ããã æåã«å¯Ÿå¿ãã¹ããã§ãã¯ãªã¹ãã®ç¢ºèªæ¹æ³ Web ãã©ãŠã¶ã§ Google Cloud ã«ãã°ã€ã³ãã[IAMãšç®¡ç] -> [IDãšçµç¹] ã«ã¢ã¯ã»ã¹ããŸããç»é¢äžéšã®ãããžã§ã¯ãã»ã¬ã¯ã¿ã§çµç¹ãéžæãããšã以äžã®è¡šç€ºã«ãªããŸãã ãã®ç»é¢ã§ã¯ãGoogle Cloudãå©çšããéã®æšå¥šèšå®ãæ¡å
ãããŸãã[ãã§ãã¯ãªã¹ãã«ç§»å] ãã¯ãªãã¯ãããšã以äžã®ç»é¢ã«ãªããŸãã ããã«èšèŒãããŠããé
ç®ã1ã€ãã€å¯Ÿå¿ããããšã§ãGoogle ãæšå¥šããæ¬çªã¯ãŒã¯ããŒãã«é©ããç°å¢èšå®ãè¡ãããšãã§ããŸãã ãªããèŠãŠããã ããšåããéãéåžžã«å€ãã®å¯Ÿå¿é
ç®ããããŸããGoogle CloudãåããŠå©çšãã人ã«ãšã£ãŠã¯åãããªãçšèªãçè§£ã«æéããããé
ç®ãã¡ãã»ã...ã ãã®ããã以éã®æ¬æçš¿ã§ã¯å
·äœçã«ã©ã®ãããªèšå®ãå¿
èŠãç°¡åãã€ãããããã解説ããããšæããŸãã çµç¹ãš ID Google Cloud ã管çããããGoogle Cloud äžã§éçºããããã人ã®ã¢ã«ãŠã³ãã¯ãCloud Identity ããã㯠Google Workspace ã§ç®¡çãããŸãã Google Workspace ããã§ã«å©çšããŠããçµç¹ã®æ¹ã¯ããã®ã¢ã«ãŠã³ãã䜿ã£ãŠ Google Cloud ãå©çšããããšãå¯èœã§ããGoogle Workspace ãå©çšããŠããªãçµç¹ã®æ¹ã¯ãCloud Identity ã®æ°ããçµç¹ïŒããã³ãïŒãéèšããå¿
èŠããããŸããCloud Identity Free edition ã¯ã50ã¢ã«ãŠã³ããŸã§ç¡æã§å©çšããããšãã§ããŸãã 宿œå
容 Cloud Identity ããã㯠Google Workspace ãå©çšããŠããå Žå ãã¡ã€ã³ã®æææš©ã®èšŒæãå®äºããŠããããã§ã㯠Cloud Identity ããã㯠Google Workspace ããŸã å©çšããŠããªãå Žå Cloud Identity ã®æ°èŠç»é² ãã¡ã€ã³ã®æææš©ã®èšŒæãå®äºããŠããããã§ã㯠çµç¹ã«ã€ããŠã®è©³çްã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp ãŠãŒã¶ãŒãšã°ã«ãŒã ãŠãŒã¶ãŒãã°ã«ãŒããäœæããŸãã Google Cloud ã§äœ¿çšãããŠãŒã¶ãŒã¢ã«ãŠã³ããã°ã«ãŒãã¯ãGoogle Cloud ã³ã³ãœãŒã«ã§äœæããã®ã§ã¯ãããŸãããåè¿°ã®ãšãããCloud Identity ããã㯠Google Workspace ã®ç®¡çã³ã³ãœãŒã«ã§äœæããŸããGoogle Workspace ã§äœæãããŠãŒã¶ãŒã¢ã«ãŠã³ããã°ã«ãŒããããã®ãŸãŸGoogle Cloud ã§ã䜿çšããã€ã¡ãŒãžã§ãã 宿œå
容 ãŠãŒã¶ãŒã®è¿œå ã°ã«ãŒãã®äœæ ãŠãŒã¶ãŒãã°ã«ãŒãã«è¿œå ãã®ãšããGoogle Cloud ã®çµç¹ç®¡çè
ãè«æ±ç®¡çè
ããããžã§ã¯ãããšã®ç®¡çè
ãªã©ã圹å²ããšã«ã°ã«ãŒããäœãããšãæšå¥šãããŸãã 管çè
ã¢ã¯ã»ã¹ ãã®é
ç®ã§ã¯ã1ã€åã®é
ç®ã§äœæããã°ã«ãŒãã«å¯Ÿã㊠IAM ããŒã«ãå²ãåœãŠãŸãã ãªãããã®äœæ¥ã¯ Cloud Identity ãŸã㯠Google Workspace ã®ç¹æš©ç®¡çè
ãè¡ãå¿
èŠããããŸããCloud Identity ãŸã㯠Google Workspace ã¢ã«ãŠã³ãã®ç¹æš©ç®¡çè
ã¯ãæåãã Google Cloud ã®ãçµç¹ã®ç®¡çè
ãããŒã«ã®æš©éãæã£ãŠããŸãã 宿œå
容 ã°ã«ãŒããžã® IAM ããŒã«ã®å²ãåœãŠ IAM ã®ä»çµã¿ã«ã€ããŠã¯ã以äžã®èšäºãåç
§ããŠãã ãããç¹ã«ãã¯ã©ãŠãã管çãã圹å²ã®æ¹ã¯ IAM ã®ä»çµã¿ãæ£ç¢ºã«çè§£ããããšãåŒ·ãæšå¥šãããŸãã blog.g-gen.co.jp ãæ¯æã ãã®é
ç®ã§ã¯ Google Cloud ã®æ¯æããè¡ãè«æ±å
ã¢ã«ãŠã³ãã®äœæãããŸããGoogle Cloud ã¯æ¯æãã®èšå®ããªããŠãäžéšã®æ©èœãå©çšã§ããŸããããã¹ãŠã®æ©èœãå©çšããã«ã¯ Google Cloud ãããžã§ã¯ãã«å¯ŸããŠ è«æ±å
ã¢ã«ãŠã³ã ã®çŽä»ããå¿
é ã«ãªããŸãã 宿œå
容 è«æ±å
ã¢ã«ãŠã³ãã®äœæ è«æ±å
ã¢ã«ãŠã³ãããŠãŒã¶ãŒãèªãäœæãããšãGoogle ãšçŽæ¥å¥çŽããããšã«ãªããŸããG-gen ã®ãããªãªã»ã©ãŒïŒä»£çåºïŒãšå¥çŽããè«æ±å
ã¢ã«ãŠã³ããçºè¡ããŠãããããšãå¯èœã§ãããªã»ã©ãŒçµç±ã§è«æ±å
ã¢ã«ãŠã³ããçºè¡ããŠããããšã å²åŒ ã ç¡æã®æè¡ãµããŒãçªå£ ãæ¥æ¬åã»è«æ±æžæããã§ãããªã©ããªã»ã©ãŒç¬èªã®ãµãŒãã¹ãåããããšãã§ããŸãã è«æ±å
ã¢ã«ãŠã³ãã«ã€ããŠã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp ãªãœãŒã¹éå±€ Google Cloudã¯ä»¥äžã®ãããªãªãœãŒã¹éå±€ã§æãç«ã£ãŠããŸãã ãã®é
ç®ã§ã¯ããã©ã«ããšãããžã§ã¯ããäœæããŸãã Google Cloud ãããžã§ã¯ã ã¯æäžå±€ã®ç®¡çåäœã§ãããCompute Engine VM ã BigQuery ããŒãã«ãªã©åã
ã®ãªãœãŒã¹ãé
眮ãã管çãªããžã§ã¯ãã§ããAmazon Web ServicesïŒAWSïŒã§ãããšããã®ãAWS ã¢ã«ãŠã³ãããšãããŸãã ãã©ã«ã ã¯ããããžã§ã¯ããã°ã«ãŒããã³ã°ããããã®ç®¡çãªããžã§ã¯ãã§ãã Google Cloud ã®ãã©ã«ãããããžã§ã¯ãã®è©³çްã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp 宿œå
容 ãªãœãŒã¹éå±€ã®èšç» ãã©ã«ãã®äœæ ãããžã§ã¯ãã®äœæ ãããžã§ã¯ãäœææã«ãçŽã¥ããè«æ±å
ã¢ã«ãŠã³ããéžæããŸãããã®ãããžã§ã¯ãã§çºçãã課éã¯ãçŽã¥ããè«æ±å
ã¢ã«ãŠã³ãã«å¯ŸããŠçºçããŸãã1ã€ã®è«æ±å
ã¢ã«ãŠã³ãã«ã¯è€æ°ã®ãããžã§ã¯ããçŽã¥ããããšãã§ããŸããã©ã®ãããžã§ã¯ãã§ã©ã®ãããªèª²éãçºçãããã¯ãè«æ±å
ã¢ã«ãŠã³ãã®èª²éã¬ããŒãã§è©³çްã«ç¢ºèªã§ããŸãã ãªãœãŒã¹ã®ã¢ã¯ã»ã¹ Google Cloud ã§ã¯ãåã
ã®ãªãœãŒã¹ãæã€ IAM èšå®å€ïŒãã®ãªãœãŒã¹ã«å¯ŸããŠã誰ãã©ã®ãããªæš©éãæã£ãŠãããïŒã®ããšã IAM ããªã·ãŒ ãšåŒã³ãŸããäŸãã°ããã Compute Engine VM ã® IAM ããªã·ãŒã«ã¯ã user01@example.com ã管çè
æš©éãæã€ãã®ããã«å®çŸ©ã§ããŸãã ãã®é
ç®ã§ã¯äžèšã®ãã㪠IAM ããªã·ãŒã®èšå®ã宿œããŸããIAM ããªã·ãŒãªã©ã®æŠå¿µã«ã€ããŠã¯ã以äžã®èšäºããåç
§ãã ããã blog.g-gen.co.jp 宿œå
容 çµç¹ã¬ãã«ã® IAM ããªã·ãŒèšå® ãã©ã«ãã¬ãã«ã® IAM ããªã·ãŒèšå® ãããžã§ã¯ãã¬ãã«ã® IAM ããªã·ãŒèšå® ãããã¯ãŒãã³ã° VPC ãããã¯ãŒã¯ãCloud VPNãCloud NATãVPC ãã¡ã€ã¢ãŠã©ãŒã«çãäž»ã«ãããã¯ãŒã¯ã«é¢é£ããåæèšå®ãè¡ãé
ç®ã§ãã ããã«ã¯èšå®ãäžèŠãªé
ç®ãããã¯ãã§ãã®ã§ãå¿
èŠã«å¿ããŠäœæ¥ãè¡ã£ãŠãã ããã 宿œå
容 VPC èšå® å
±æ VPC èšå® IPSec VPN èšå® Cloud NAT èšå® ãã¡ã€ã¢ãŠã©ãŒã«èšå® Cloud Load Balancing èšå® Google Cloud ã®ãããã¯ãŒã¯ã®åºæ¬çãªç¥èã«ã€ããŠã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp ã¢ãã¿ãªã³ã°ãšãã®ã³ã° ãã®é
ç®ã§ã¯ã¢ãã¿ãªã³ã°ãšãã®ã³ã°ã®èšå®ãè¡ããŸããã¢ãã¿ãªã³ã°ã¯ Cloud Monitoringããã®ã³ã°ã«ã¯ Cloud Logging ãå©çšããŸãã Cloud Monitoring 㯠Google Cloud ãµãŒãã¹ããããã©ãŒãã³ã¹ææšãååŸãä¿ç®¡ãé²èЧãããµãŒãã¹ã§ãããã®é
ç®ã§ã¯ãã¢ãã¿ãªã³ã°çšã®ãããžã§ã¯ããäœæãããã®ãããžã§ã¯ãã§ããã©ãŒãã³ã¹ææšãäžæ¬ç®¡çããããã«ãä»ã®ãããžã§ã¯ããç»é²ããããã®èšå®ãè¡ããŸãã Cloud Logging 㯠Google Cloud ãµãŒãã¹ãããã°ãåéãä¿ç®¡ãé²èЧãããµãŒãã¹ã§ãããã®é
ç®ã§ã¯ããã°éçŽçšã®ãããžã§ã¯ããäœæããè€æ°ã®ãããžã§ã¯ãããååŸããããã°ããã®ã³ã°çšãããžã§ã¯ãã® BigQuery ã«äžæ¬åéããèšå®ãè¡ããŸãã 宿œå
容 ã¢ãã¿ãªã³ã°ã®èšå® ãã®ã³ã°ã®èšå® Cloud Monitoring ã Cloud Logging ã«ã€ããŠã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp blog.g-gen.co.jp ã»ãã¥ãªã㣠ãããžã§ã¯ãã®ä¿è·ã«åœ¹ç«ã€ã»ãã¥ãªãã£èšå®ãè¡ããŸãã Security Command Center ãšã¯ãGoogle Cloud ãµãŒãã¹ã®æ§æãã¹ãè匱ãªèšå®ããªãããã§ãã¯ããè
åšæ€åºãµãŒãã¹ã§ããã¹ã¿ã³ããŒããã£ã¢ã¯ç¡æã§å©çšã§ããŸãã çµç¹ããªã·ãŒ ã¯ãçµç¹å
ã§å©çšå¯èœãªãµãŒãã¹ã宿œå¯èœãªæäœãé©çšå¯èœãªèšå®ãªã©ãå¶éãã匷å¶çãªã«ãŒã«ãå®çŸ©ã§ããä»çµã¿ã§ããäŸãã°ãç¹å®ã®ãªãŒãžã§ã³ä»¥å€ã®äœ¿çšãå¶éããããšããå©çšå¯èœãª Google Cloud APIs ãå¶éããããšãå¯èœã§ãã 宿œå
容 Security Command Center ã®èšå® çµç¹ããªã·ãŒã®èšå® Security Command Center ãçµç¹ããªã·ãŒã«ã€ããŠã®è©³çްã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp blog.g-gen.co.jp ãµããŒãïŒã«ã¹ã¿ããŒã±ã¢ïŒ é害æçã«åããŠãå
¬åŒã®æè¡ãµããŒããå©çšããããšæãããšãããã¯ãã§ããGoogle Cloud ã«ã¯ ã«ã¹ã¿ããŒã±ã¢ ãšåŒã°ãããµããŒããµãŒãã¹ããããç¡åã®ãã©ã³ãšæåã®ãã©ã³ããããŸãã ç¡åãã©ã³ïŒããŒã·ãã¯ïŒã®å Žåã課éã«é¢ãã質åã®ã¿ãåãåãããããšãã§ããŸããæè¡çãªè³ªåãå¯èœãªæåãã©ã³ã«ã¯è€æ°ããããã©ã³ã«ãã£ãŠæ¥æ¬èªå¯Ÿå¿ã®æç¡ããåçæéã®å·®ç°ããããŸãã 宿œå
容 ã«ã¹ã¿ããŒã±ã¢ã®ç³ã蟌㿠ãã®ãšãã«ã¹ã¿ããŒã±ã¢ãç³ã蟌ãæäœè
ã¯ãçµç¹ã¬ãã«ã§ãçµç¹ã®ç®¡çè
ïŒ roles/resourcemanager.organizationAdmin ïŒããŒã«ããšããµããŒã ã¢ã«ãŠã³ã管çè
ïŒ roles/cloudsupport.admin ïŒããŒã«ããå¿
èŠã§ããããã«ãè«æ±å
ã¢ã«ãŠã³ãã«å¯Ÿãããè«æ±å
ã¢ã«ãŠã³ã管çè
ïŒ roles/billing.admin ïŒããŒã«ããªã©ãå¿
èŠã§ãã ã«ã¹ã¿ããŒã±ã¢ã®ãã©ã³ã«ã€ããŠã¯ã以äžã®å
¬åŒããŒãžãåç
§ããŠãã ããã åè : Google Cloud ã«ã¹ã¿ããŒã±ã¢ å°æ ããã¿ (èšäºäžèЧ) ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³éš å¶æ¥ããŒã AWSãšã³ãžãã¢ããGoogle Cloudå¶æ¥ã«è»¢å çŠäºãããªã¢ãŒãã¯ãŒã¯äž è¶£å³ã¯Monkey125ã§ããŒãªã³ã°ãNetflixéè³ãæ
è¡
G-gen ã®ææã§ãã Google Cloud Next '21 ã® What's new with BigQuery ã»ãã·ã§ã³ã§çºè¡šãããæ°æ©èœããéå ±ãšããŠã玹ä»ããŸãã BigQuery ã¯ããã« BigQuery Omni (GA) BigQuery Security & Governance for Data Lakes (Coming soon) BigQuery External Functions Analytics Hub (Preview) BigQuery Migration Service (Preview) BigQuery 管çç³»æ©èœ Admin hub & Resource charts (GA) Slot estimator (Preview) BigQuery Slots Autoscaling (Coming soon) Table Snaphosts and Clones BigQuery Storage Write API (GA) Search Indexes with BigQuery (Preview) BigQuery ML é¢é£ Explainable AI Integration with Vertex (Coming soon) Advanced Models & Techniques BigQuery BI Engine (GA) ã¯ããã« 2021幎10æ12æ¥ããã14æ¥ã®æ¥çšã§ Google Cloud Next '21 ãéå¬ãããŠããŸãã What's new with BigQuery ãšããã»ãã·ã§ã³ã®äžã§ã Google Cloud ã®ããŒã¿ãŠã§ã¢ããŠã¹ãµãŒãã¹ã§ãã BigQuery ã®æ°æ©èœã®æ°ã
ãçºè¡šãããŸããã ç¹ã« BigQuery Migration Service ãšããç§»è¡ã«æŽ»çšã§ããæ©èœãã Table Snaphosts and Clones , Search Indexes with BigQuery ãšãã£ã BigQuery ã®ãŠãŒã¹ã±ãŒã¹ãå€ããŠããŸãå¯èœæ§ããããæ©èœã¯æ³šç®ã§ãã æ¬æçš¿ã§ã¯ãåœè©²ã»ãã·ã§ã³ã§çºè¡šãããæ°æ©èœãã玹ä»ããŸãããªãèšèŒã®å
容㯠ã»ãã·ã§ã³ã®çºè¡šããã£ã 2021幎10æ13æ¥çŸåšã®å
容ãšãªã£ãŠãããŸã ã ãªãªãŒã¹ç¶æ
ãæ©èœã®å
容ã¯åžžã«å€åããŠãããŸãã®ã§ãæ¬æçš¿ã¯ãããŸã§éå ±èšäºã§ããããšããçè§£ãã ããã BigQuery Omni (GA) AWS, Azure, Google ã«åæ£ãããŠããããŒã¿ãSQLã§æšªæã¯ãšãªã§ããæ©èœã Google Cloud (GCP) äžã®ãããŸã§ãšåã BigQuery ã®ã€ã³ã¿ãŒãã§ãŒã¹ã§ãGoogle Cloud ã AWSãAzure ã«ä¿åããããŒã¿ããã¯ã©ãŠãéãç§»åãããã³ããŒãããããããšãªãã¯ãšãªãå¯èœãšãªãã Anthos ã®æè¡ãããã¯ãšã³ããšããŠäœ¿ããäŸãã° AWS äžã§ BigQuery ã®ã¯ãšãªãšã³ãžã³ã皌åãã Amazon S3 çã«ä¿åãããŠããããŒã¿ã«ã¯ãšãªãå®è¡ããã åè: BigQuery Omni - ãã«ãã¯ã©ãŠã ã®åæã§ããŒã¿ãæŽ»çš BigQuery Security & Governance for Data Lakes (Coming soon) BigQuery ã§ã¯ Cloud Storage ã Spanner ãªã© BigQuery ã®å€éšã«ååšããããŒã¿ãå€éšããŒãã«ãšããŠå®çŸ©ããããšãã§ãããããã®å€éšããŒãã«ã«å¯Ÿããæš©éèšå®ããã现ããã§ããããã«ãªãæš¡æ§ã ããŒã¿ã¬ã€ã¯ã®ã»ãã¥ãªãã£åäžãèŠèŸŒããã¯ãã ã â»åæ©èœã¯ BigLake ãšã㊠2022/01/25 ã« GA ãšãªããŸããã BigQuery External Functions UDF (ãŠãŒã¶å®çŸ©ã®é¢æ°) ã BigQuery ã®å€éšã§å®çŸ©ã§ããããã«ãªã£ãã ãããŸã§ã BigQuery ã§ã¯ UDF ãå®çŸ©ããããšã¯ã§ããããæšæº SQL ã Javascript ã§èšè¿°ããå¿
èŠãããã颿°ã¯ BigQuery ã®å
éšã«å®çŸ©ãããã ä»åã®ã¢ããããŒãã§ã¯ UDF ã BigQuery ã®å€éšã«å®çŸ©ã§ããããã«ãªãããã®ã©ã³ã¿ã€ã ã«ã¯ãåç¥ Cloud Functions ãå©çšããŠããã®ã§ node.js / Python / Go / Java / .net / PHP ãªã©ã§èšè¿°ã§ããã åè : ãªã¢ãŒã颿°ã®æäœ Analytics Hub (Preview) çµç¹ (Organization) ããŸããã§ããŒã¿ããããšãã§ããä»çµã¿ã Publisher (ããŒã¿å
¬éåŽ) 㯠Analytics Hub ãéããŠããŒã¿ã»ãããå
¬éã§ãã Subscriber (ããŒã¿å©çšè
åŽ) ããããå©çšã§ããã å
¬éããŒã¿ããã¥ã¬ãŒã·ã§ã³ãããæ€çŽ¢ããä»çµã¿ãæäŸãããæš¡æ§ã Publisher ãããŒã¿ã®å©çšç¶æ³ãåæã§ãããããªä»çµã¿ãååšããŠããããã ã åè : Analytics Hub ã®ãçŽ¹ä» -- ç°¡åãå®å
šãã¹ã±ãŒã©ãã«ã«ããŒã¿åæãå
±æ â» Analytics Hub 㯠2022/10/11 ã«GA ãšãªããŸããã BigQuery Migration Service (Preview) ä»ã®ããŒã¿ãŠã§ã¢ããŠã¹è£œåãã BigQuery ãžã®ç§»è¡ãæ¯æŽããããŒã«ã§ããã® Preview ãçºè¡šãããã ãœãŒã¹ DB ãžã®ã¢ã»ã¹ã¡ã³ãã SQL (DDL, DML, BTEQ ã§æžããã PL) ã®å€æã ç§»è¡å
BigQuery ãžã®ããªããŒã·ã§ã³ãè¡ãã Walmart ã Mercado Libre ãªã©ã§æ¢ã« SQL 倿ã«ãããå©çšããå®çžŸããããšããã çŸåšã®ãšããã Teradata ããµããŒã察象ãšãªãããšã倿ããŠããããä»ã®ç§»è¡å
ã Coming soon ãšããŠããã åè : BigQuery Migration Service ã®æŠèŠ BigQuery 管çç³»æ©èœ Admin hub & Resource charts (GA) BigQuery ç°å¢ã®è©³çްãªã¢ãã¿ãªã³ã°ã管çããã©ãã«ã·ã¥ãŒããããã«ããã¯ç¹å®ãªã©ã«æŽ»çšã§ããæ°ãã管çã³ã³ãœãŒã«ã䜿ããããã«ãªã£ãã Slot Reservation (ã³ã³ãã¥ãŒãã£ã³ã°å®¹éã®äºå賌å
¥ãå®é¡ã»å€§å®¹éã§ BigQuery ãå©çšã§ããããã«ãªã) ã䜿çšããŠã¯ãŒã¯ããŒã管çãè¡ã£ãŠãããŠãŒã¶ãŒã«ãšã£ãŠã匷åãªæ©èœãšãªãã ããã Slot estimator (Preview) ãã¡ãã Slot Reservation ã䜿ã£ãŠãããŠãŒã¶ãŒåãã®æ©èœã ã çµç¹å
ã§ãããžã§ã¯ããæšªæããŠã¹ãããã®å©çšç¶æ³ã確èªã§ããä»ãã¹ãããã远å 賌å
¥ãã¹ããã©ããã®å€æã®å©ãã«ãªãæ
å ±ãæäŸããã â» Slot estimator 㯠2022/11/14 ã«GA ãšãªããŸããã BigQuery Slots Autoscaling (Coming soon) äºåã«å®çŸ©ããäºç®ã«åºã¥ããŠã¹ããããèªåã§ã¹ã±ãŒãªã³ã°ããæ©èœã ã åŸæ¥ã®ãªã³ããã³ãã¢ãŒãã ãšãåºæ¬çã«ã¹ããã㯠2,000 ãäžéã§ããããã¹ããšãã©ãŒãã§ã®ããŒã¹ããæåŸ
ããããšãã§ããã åœè©²æ©èœããªãªãŒã¹ãããã°ãããçšåºŠã®äºæž¬ãé£ããã¯ãŒã¯ããŒãã§ãã³ã¹ãã®ç¡é§ãã·ã§é«ãããã©ãŒãã³ã¹ãç¶æã§ããã ããã â»åœæ©èœã¯ BigQuery Editions ã®äžæ©èœãšã㊠2023/03/29 ã«GA ãšãªããŸããã Table Snaphosts and Clones BigQuery ã§ã®ããŒã¿ã®æã¡æ¹ã倧ããå€ãããããããªãæ©èœãçºè¡šãããã Snapshots (ã¹ãããã·ã§ãã) ã¯èªã¿åãå°çšã®ããŒã¿ã³ããŒã§ãããè«çããã¯ã¢ããç®çãã¿ã€ã ãã©ãã«æ©èœ (7æ¥éããä¿æãããªã) 以äžã®ä¿ææéã§ç¹å®æå»ã®ããŒãã«ç¶æ
ãä¿æãããå Žåã«å©çšã§ããããããããŒã¿ã¯ããªãªãžãã«ããŒãã«ããå³åº§ã«ã³ããŒããã®ã§ã¯ãªããåºæ¬çã«ã¯ãªãªãžãã«ããŒãã«ãåç
§ãããŸãŸã倿Žãåé€ãããå Žåã®ã¿ããŒã¿ãè€è£œããã (ããããã³ããŒã»ãªã³ã»ã©ã€ã) ã®ããã³ã¹ããæããããšãå¯èœã ã â» Snapshot æ©èœã¯ 2021/10/28 ã« GA ãšãªããŸããã Clone (ã¯ããŒã³) 㯠Snapshots ã®ããŒã¿å€æŽãå¯èœãªããŒãžã§ã³ãšèããã°ããã ãããåããã³ããŒã»ãªã³ã»ã©ã€ãã§ããŒãã«ã®ã¯ããŒã³ãäœæãããçºè¡šã§ã¯ã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿãã倿Žããã¹ãããç°å¢ãšããŠå©çšãããŠãŒã¹ã±ãŒã¹ãæããããã â» Clone æ©èœã¯ 2022/02/15 ã« Preview å
¬é ããããã®åŸ 2023/05/03 ã« GA ãšãªããŸããã BigQuery Storage Write API (GA) BigQuery ã®ã¹ãã¬ãŒãžã«çŽæ¥ API ãçºè¡ããé«ã¹ã«ãŒãããã§ã®ããŒã¿ã®æžã蟌ã¿çãå¯èœã«ãªãã è²»çšãéåžžã® INSERT ããäœãæŒãããããããã倧éããŒã¿ã®æå
¥ã§ã¯æ€èšãã¹ãéžæè¢ã ã åè : BigQuery Storage Write API ã®äœ¿çš Search Indexes with BigQuery (Preview) ãªããšã BigQuery ã§ã€ã³ããã¯ã¹ã䜿ããããã«ãªã£ã ( Preview å
¬éã®äºå®ã®çºè¡šã§ãã 2022 幎 1 æçŸåšã§ãŸã å©çšå¯èœã«ãªã£ãŠããªã â 2022/04/07 ã« Preview å
¬éãã 2022/10/27 ã« GA ãšãªã£ã) ã 2022/04/11 æŽæ° : 以äžã®åœããã°èšäºã«ãŠè©³çްã解説ããŠããã blog.g-gen.co.jp åŸæ¥ã§ã¯ BigQuery ã«ãããŠã¯ã€ã³ããã¯ã¹ã¯äœ¿ããªãã£ããããã BigQuery ã®ã¡ã³ããã³ã¹å·¥æ°ãæžããå©ç¹ã§ããã£ãã ãšã¯ãããã㯠BigQuery ãããŒãã«åäœã»ããŒãã£ã·ã§ã³åäœã§ã®ãã«ã¹ãã£ã³ãè¡ãããšãæå³ããŠãããæ°ãã¿ãã€ãã«ããã¶ããŒã¿ã®äžããç¹å®ã®ããŒã§ããŒã¿ãæãåºããããªã¯ãŒã¯ããŒãã«å¯ŸããŠå€§éã®ã¹ãã£ã³ãçºçããŠããŸããããééçã»æéçã³ã¹ããããã£ãŠããŸãããšãæå³ããŠããã æ¬æ©èœã§ã¯ããŒãã«ã«ããã¹ãã€ã³ããã¯ã¹ãäœæããç¹å®ã®æååãæ€çŽ¢ããæ§èœãåäžãããããšãã§ããã ã€ã³ããã¯ã¹ã¯èªåçã«æŽæ°ãããããããããã VACUUM ã®ãããªã¡ã³ããã³ã¹ã¯äŸç¶ãšããŠäžèŠã ã åãããã¬ãã¥ãŒçºè¡šããããã€ãã£ãJSONã¿ã€ãã«ã䜿çšã§ããã 以äžã®ãããªãŠãŒã¹ã±ãŒã¹ãæããããã éžæç¯å²ãéåžžã«çããã£ã«ã¿ã䜿ã£ãããã·ã¥ããŒã (ã¹ã©ã€ã·ã³ã°/ãã€ã·ã³ã°ãå¿
èŠ) ç®çãšãªãããŒã¿ã®ãµãã»ããã倧ããªããŒã¿ã»ããããèŠã€ãåºã (ç¹å®ã®æ
å ±ãæã£ãæ£è
矀ãæãåºã) GDPRæºæ ã®ããç¹å®ãŠãŒã¶ã®ããŒã¿ã ããæãåºããŠåé€ãã ãã°ããç¹å® IP ã¢ãã¬ã¹ãæãåºã BigQuery ML é¢é£ Explainable AI AI/ML é¢é£ã§ãã話é¡ã«ãªãã説æå¯èœãªAIããå®çŸããããã®æ©èœã ã åŠç¿ããŒã¿ã®ãã¡ã©ã®ãããªèŠçŽ ãçµæã«åœ±é¿ããã®ããçè§£ããããšãå©ããã Integration with Vertex (Coming soon) BigQuery ML ã Vertex AI ãšé£æºããã Vertex AI ã®ãã€ãã©ã€ã³ãšé£æºããããšã§ BigQuery ML ã®ã¢ãã«ã®åŠç¿ããããã€ã匷åãããæš¡æ§ã ã Advanced Models & Techniques XGBoost, Wide & Deep DNN (ãã£ãŒããã¥ãŒã©ã«ãããã¯ãŒã¯), AutoML Tables ãªã©ããµããŒãããã匷åãããã BigQuery BI Engine (GA) ãã¬ãã¥ãŒçã§çšæãããŠããæ©èœã GA ãšãªã£ãã ããŒã¿ããŒã¿ã«çã® BI ããŒã«ããå©çšå¯èœãªãã£ãã·ã¥æ©æ§ã§ãå©çšã«ã¯è¿œå æéãçºçããã ã€ã³ã¡ã¢ãªãã£ãã·ã¥æ©æ§ã§ãããæå¹åããã ãã§å¹æãçºæ®ããã åè : BI Engine ãšã¯ ææ å銬 (èšäºäžèЧ) å·è¡åœ¹å¡ CTO / ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³éš éšé· å
èŠå¯å®ãšããçµæŽãæã€çŸ IT ãšã³ãžãã¢ãã¯ã©ãŠã管çã»éçšããããã¯ãŒã¯ã«ç¥èŠãAWS 12è³æ ŒãGoogle Cloudèªå®è³æ Œ11è³æ ŒãTwitter ã§ã¯ Google Cloud ã AWS ã®ã¢ããããŒãæ
å ±ãã€ã¶ãããŠããŸãã Follow @y_sugi_it
G-genã®ææã§ããæ¬æçš¿ã§ã¯ã Google CloudïŒæ§ç§° GCPïŒã®ã»ãã¥ãªãã£ç³»ãµãŒãã¹ã®äžã§ãç¹ã«éèŠãª VPC Service Controls ã«ã€ããŠè§£èª¬ããŸãã æŠèŠ VPC Service Controls ãšã¯ ã§ããããš ã§ããªãããš API ãªã¯ãšã¹ããšã¯ 仿§ æ³å®æ§æå³ ãµãŒãã¹å¢ç å
åãã«ãŒã« å€åãã«ãŒã« å
åãã«ãŒã«ãšå€åãã«ãŒã«ã®è©³çް å¢çããªããž VPC å
ã®ã¯ã©ã€ã¢ã³ãããã® API ãªã¯ãšã¹ã ãªã³ãã¬ãã¹ããã® API ãªã¯ãšã¹ã å®è·µ ãŠãŒã¹ã±ãŒã¹ãšèšå®äŸ 察å¿ããŠãã Google Cloud ãµãŒãã¹ ãã©ã€ã©ã³æ§æ ã¢ã¯ã»ã¹ããªã·ãŒ ã¢ã¯ã»ã¹ããªã·ãŒãšã¯ ã¢ã¯ã»ã¹ããªã·ãŒã®äœ¿ãæ¹ ãã©ãã«ã·ã¥ãŒãã£ã³ã° éåã¢ãã©ã€ã¶ãŒ éåããã·ã¥ããŒã æŠèŠ VPC Service Controls ãšã¯ VPC Service Controls 㯠Google CloudïŒæ§ç§° GCPïŒã®ã¢ã¯ã»ã¹å¶åŸ¡æ©èœã§ãã ãµãŒãã¹å¢ç ïŒservice perimetersããŸãã¯åã« perimeterïŒãšåŒã°ããè«ççãªå²ããäœãããã®å²ãã®å€ããäžãžã®ã¢ã¯ã»ã¹ãé²ãã ããéã«å²ãã®äžããå€ãžã®ããŒã¿æµåºçãé²ãããšãã§ããŸãã VPC Service Controls ã«ã¯ãã§ããããšããšãããã§ãªãããšãããããåœæ©èœã ãã䜿ãã° Google Cloud ã®ã»ãã¥ãªãã£ãäžå
šã«ãªããšããèš³ã§ã¯ãããŸããã åœèšäºã§ã¯ãã®ãå¢çïŒå²ãïŒããšã¯äœã瀺ããŠããã®ããã©ã®ãããªä»çµã¿ã§ããŒã¿ã®æµåºçãé²ãã§ããã®ãã«ã€ããŠéèšããŸãã åè : VPC Service Controls ã®æŠèŠ ã§ããããš VPC Service Controls ã§ã¯ã Google Cloud ãµãŒãã¹ã«å¯Ÿãã API ãªã¯ãšã¹ãã®æ¥ç¶å
ãå¶éãã ããšãã§ããŸãã ãããã API ãªã¯ãšã¹ããäœãªã®ãã«ã€ããŠã¯ãåŸè¿°ããŸãã ã§ããããšã®äŸ BigQuery ã«å¯Ÿããã¯ãšãªã®çºè¡å
ãå¶é Cloud Storage ããã®ãªããžã§ã¯ãèªã¿åãã®ã¢ã¯ã»ã¹å
ãå¶é Google Kubernetes EngineïŒGKEïŒã¯ã©ã¹ã¿ãŒã®èšå®å€æŽã®ã¢ã¯ã»ã¹å
ãå¶é ã§ããªãããš VPC Service Controls ã§ã¯ãäŸãšã㊠VPC ãžã®ãããã¯ãŒã¯çãªã¢ã¯ã»ã¹ãå¶éãã ããšã¯ã§ããŸãããVPC ã«ããã TCP/IP çãªã¢ã¯ã»ã¹å¶åŸ¡ããWeb ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ã»ãã¥ãªãã£ã¯ãVPC ãã¡ã€ã¢ãŠã©ãŒã«ã WAFïŒCloud ArmorïŒãšãã£ãä»çµã¿ãæ
ããŸãã ã§ããªãããšã®äŸ VM ãžã® SSH ãã°ã€ã³ã®æ¥ç¶å
IP ã¢ãã¬ã¹ãå¶é Webãµã€ãã®ç®¡çç»é¢ãžã®ã¢ã¯ã»ã¹ã®æ¥ç¶å
IP ã¢ãã¬ã¹ãå¶é Web ã¢ããªãžã®æ»æãé²åŸ¡ API ãªã¯ãšã¹ããšã¯ Google Cloud ã«ããã API ãªã¯ãšã¹ãã«ã€ããŠã¯ã以äžã®èšäºã§å³ã䜿ã£ãŠè§£èª¬ããŠããŸãããAPI ãªã¯ãšã¹ããšã¯ãã®æ¬ããåç
§ãã ããã åè : Cloud Audit Logsã解説ãGoogle Cloudã®èšŒè·¡ç®¡ç - API ãªã¯ãšã¹ããšã¯ åœèšäºã§ã¯ãç°¡ç¥åããå³ãåæ²ããŸãã Google Cloud ã® API äŸãã° Google Cloud ã Web ã³ã³ãœãŒã«ç»é¢ããæäœãããšããããã¯ãšã³ãã§ã¯ Web API ãžã®ãªã¯ãšã¹ããçºç ããŠããŸããGoogle Cloud ã® Web API ã¯ã€ã³ã¿ãŒãããã«å
¬éãããŠããŸããã誰ã§ã API ãžãªã¯ãšã¹ãã§ããããã§ã¯ãªããGoogle ã¢ã«ãŠã³ããš IAM ã«ããèªèšŒã»èªå¯ãè¡ãããŸãã äžæ¹ã§ã以äžã®ãããªã¢ã¯ã»ã¹ã¯ Web API ãšã¯é¢ä¿ãããŸããã VM ãžã® SSH ãã°ã€ã³ VM ã§ãã¹ãããã Web ãµã€ããžã® HTTP(S) ã¢ã¯ã»ã¹ äžèšã®2ã€ã®äŸã§ã¯ãæ¥ç¶å
ãããã¯ãŒã¯ãã VPC å
ã®ãªãœãŒã¹ã« TCP/IP çã«ãªãŒãããŠããŸãããã®éãããåè¿°ã®ãVPC Service Controls ã§ã§ããããšãã§ããªãããšãã®å·®ã«é¢ä¿ããŠããŸãã VPC å
ã®ãªãœãŒã¹ã« TCP/IP çã«éä¿¡ãããããªã¢ã¯ã»ã¹å¶åŸ¡ã¯ãVPC ãã¡ã€ã¢ãŠã©ãŒã«ã Cloud Armor ãè¡ããŸããäžæ¹ã§ã Google Cloud API ãžã®ã¢ã¯ã»ã¹ã®å¶åŸ¡ ãè¡ãã®ããåœèšäºã§ç޹ä»ãã VPC Service Controls ã§ããVPC Service Controls 㯠Google Cloud API ãžã®ã¢ã¯ã»ã¹ãå¶åŸ¡ããŸãã®ã§ãGoogle Cloud ã³ã³ãœãŒã«ã§ã®æäœã gcloud ã³ãã³ãããŸãåããã°ã©ãã³ã°èšèªçšã®ã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªã«ãã Google Cloud ã®æäœãå¶åŸ¡ããããšãã§ããŸãã 仿§ æ³å®æ§æå³ 以äžã®æ§æãäŸã«ãšã£ãŠã VPC Service Controls ã§ã§ããããšã説æããŠãŸãã VPC Service Controlsã®æ§æäŸ ãµãŒãã¹å¢ç VPC Service Controls ã§ã¯ ãµãŒãã¹å¢ç ïŒservice perimetersïŒãå®çŸ©ããããšã§ãå¢çå€ããã® API ãªã¯ãšã¹ããå¶åŸ¡ããŸããå¢çã§ã¯ãä¿è·å¯Ÿè±¡ãªãœãŒã¹ãšã㊠任æã® Google Cloud ãããžã§ã¯ã ãŸã㯠任æã®ãã©ã«ã ãéžæã§ããŸãããã©ã«ããéžæããå Žåãé
äžã®ãã¹ãŠã®ãããžã§ã¯ããä¿è·å¯Ÿè±¡ãšãªããŸãã ãµãŒãã¹å¢çã¯ãçµç¹ã¬ãã«ã®ãªãœãŒã¹ãšããŠäœæããŸãããã ããåŸè¿°ã®ã¢ã¯ã»ã¹ããªã·ãŒã§æš©éãç§»è²ããŠããå Žåã¯ããã©ã«ãã¬ãã«ãŸãã¯ãããžã§ã¯ãã¬ãã«ã®ãªãœãŒã¹ãšããŠå¢çãäœæã§ããŸãã åè : ãµãŒãã¹å¢çã®è©³çŽ°ãšæ§æ ãŸãå¢çã§ã¯ãä¿è·ãã察象ãµãŒãã¹ãšã㊠任æã® Google ãµãŒãã¹ ãéžæããŸãããã ããäžéšã® Google ãµãŒãã¹ã¯ VPC Service Controls ã«å¯Ÿå¿ããŠããããä¿è·ã§ããŸããã åè : ãµããŒããããŠãããããã¯ããšå¶éäºé
äŸãã°å¢çãäœæããã察象ãããžã§ã¯ã㯠XXX ãã察象ãµãŒãã¹ã¯ BigQuery ãš Cloud Storage ãã®ããã«èšå®ãããšããŸãããã®ãšãã XXX ãããžã§ã¯ãå
éšã® BigQuery ãš Cloud Storage ã¯åãå¢çã®äžã«å«ãŸããŠããã®ã§ã ãäºãã«ããŒã¿ã®ãããšããããããšãã§ããŸã ãäŸãšããŠãCloud Storage äžã® CSV ãã¡ã€ã«ããBigQuery ããŒãã«ãžããŒãããããšãã§ããŸãã ãµãŒãã¹éã®APIã³ãŒã« äžæ¹ã§ãã®èšå®ã§ã¯ã å¥ã®ãããžã§ã¯ãã«ãã BigQuery ãã å¢çå
ã® BigQuery ã Cloud Storage ãžã®ã¢ã¯ã»ã¹ã¯æåŠãããŸãã å¥ã® Google Cloud ãããžã§ã¯ãã§ãã YYY ã® BigQuery ããã¯ã XXX ãããžã§ã¯ãã® Cloud Storage ã® CSV ãã¡ã€ã«ãããŒãã§ããŸãããå¥ã®ãããžã§ã¯ããšéä¿¡ãããå Žåã¯ããã®ãããžã§ã¯ããåãå¢çå
ã«è¿œå ããå¿
èŠããããŸãã å
åãã«ãŒã« åè¿°ã®èšå®ã§ã¯ãäŸãã°éçºè
ãèªåã®ãªãã£ã¹ãèªå®
ãã BigQuery ã«ã¢ã¯ã»ã¹ããããšããŠããã¢ã¯ã»ã¹ã¯æåŠãããããšã«ãªããŸãã ããã§äœ¿çšããã®ã å
åãã«ãŒã« ïŒIngress rules ãäžãã«ãŒã«ãšãåŒç§°ïŒã§ããã¢ã¯ã»ã¹ãå
åãã«ãŒã«ã§å®çŸ©ããæ¡ä»¶ã«åèŽããå Žåãå¢çå€ããã® API ãªã¯ãšã¹ãã¯èš±å¯ãããŸãã åè : äžãïŒå
åãïŒãšäžãïŒå€åãïŒã®ã«ãŒã« å¢çå€ããã®ã¢ã¯ã»ã¹ ãã®ãšãã®èš±å¯æ¡ä»¶ãå®çŸ©ãããªããžã§ã¯ãã ã¢ã¯ã»ã¹ã¬ãã« ãšãããŸããã¢ã¯ã»ã¹ã¬ãã«ã«å®çŸ©ã§ããã®ã¯ãIP ã¢ãã¬ã¹ãæ¥ç¶å
ã®å°åãªã©ã§ããäŸãšããŠãç¹å®ã® IP ã¢ãã¬ã¹ããã®ã¢ã¯ã»ã¹ã ããèš±å¯ããªã©ãšèšå®ããããšãã§ããŸãããã®ã¢ã¯ã»ã¹ã¬ãã«ãäœæãããµãŒãã¹å¢çå
ã®å
åãã«ãŒã«ãšçŽã¥ããããšã§ãã¢ã¯ã»ã¹èš±å¯ããŸãã æåã® Chrome Enterprise PremiumïŒæ§ç§° BeyondCorp EnterpriseïŒã©ã€ã»ã³ã¹ã賌å
¥ããã°ãPC ã iOSãAndroid ããã€ã¹ã«ã€ã³ã¹ããŒã«ããã Chrome æ¡åŒµæ©èœçããåéãããæ
å ±ãããšã«ããŠãããã€ã¹ã®èšå®æ
å ±ãªã©ã«åºã¥ããæ¡ä»¶ãã¢ã¯ã»ã¹ã¬ãã«ã«èšå®ããããšãã§ããŸãã åè : ã¢ã¯ã»ã¹ã¬ãã« åè : ã¢ã¯ã»ã¹ã¬ãã«ãèšèšãã å
åãã«ãŒã«ã®èšå®ç»é¢ ãŸãå
åãã«ãŒã«ã«ã¯ãç¹å®ã® Google ã¢ã«ãŠã³ãïŒã°ã«ãŒãïŒã§ããã°ã¢ã¯ã»ã¹ãèš±å¯ãããªã©ãID ããŒã¹ã§ã®èš±å¯èšå®ãå®çŸ©ããããšãã§ããŸãããã ããå
åãã«ãŒã«ã§èš±å¯ãããŠããŠããGoogle Cloud API ãžãªã¯ãšã¹ããè¡ãã«ã¯ IAM æš©éãåŒãç¶ãå¿
èŠã§ãã å€åãã«ãŒã« éã«ãå¢çå
ã®ãµãŒãã¹ããå€ã®ãµãŒãã¹ãžã® API ãªã¯ãšã¹ããããå¿
èŠãããå Žå㯠å€åãã«ãŒã« ïŒEgress rules ãäžãã«ãŒã«ãšãåŒç§°ïŒãäœæããŸãã äŸãã°ããµãŒãã¹å¢çå
ã«ãã Cloud Run functions äžã§åäœããã¹ã¯ãªããããå¢çå€ã®ãããžã§ã¯ãã® Compute Engine API ãã³ãŒã«ãããšãã«ã¯ãå€åãã«ãŒã«ã®å®çŸ©ãå¿
èŠã§ãã åè : äžãïŒå
åãïŒãšäžãïŒå€åãïŒã®å®çŸ© å
åãã«ãŒã«ãšå€åãã«ãŒã«ã®è©³çް 以äžã®èšäºã§ã¯ãå
åãã«ãŒã«ãšå€åãã«ãŒã«ã®è©³çްã«ã€ããŠè§£èª¬ããŠããŸããã©ããã£ããšãã«ã©ã¡ãã®ã«ãŒã«ã䜿ãã®ãããŸãããããã®ã«ãŒã«ã®è©³çްãªä»æ§ã解説ããŠããŸãã®ã§ããåç
§ãã ããã blog.g-gen.co.jp å¢çããªããž å¢çããªããž ïŒperimeter bridgesïŒã¯ãè€æ°ã® Google Cloud ãããžã§ã¯ãåå£«ãæ©æž¡ããããµãŒãã¹å¢çã§ãã 1ã€ã® Google Cloud ãããžã§ã¯ãã«èšå®ã§ããéåžžã®ãµãŒãã¹å¢çã¯1ã€ã ãã§ãããã®ãããããžã§ã¯ã XXX ãš YYY ã«ããããå¥ã®å¢çãå®çŸ©ããŠãããšãããã®2ã€ã®ãããžã§ã¯ãéã§ã®éä¿¡ã¯æåŠãããŸãã ãã®ãããªãšããå¢çããªããžãäœæããããšã§ã2ãããžã§ã¯ãéã®éä¿¡ãèš±å¯ã§ããŸãã å¢çããªããžã®èšå®ã¯ã·ã³ãã«ã§ãæå±ãããè€æ°ã®ãããžã§ã¯ããéžæããã ãã§ããåãå¢çããªããžã«æå±ãããããžã§ã¯ãå士ã¯ãéä¿¡ããããšãã§ããããã«ãªããŸãã åè : ããªããžã䜿çšããŠå¢çãè¶ããŠå
±æãã VPC å
ã®ã¯ã©ã€ã¢ã³ãããã® API ãªã¯ãšã¹ã VPC ã® VM çããå¢çå
ãµãŒãã¹ãžã® API ãªã¯ãšã¹ããå¿
èŠã«ãªãå ŽåããããŸãã äŸãã°ã VM ã€ã³ã¹ã¿ã³ã¹äžã®ã¢ããªãã Cloud Storage ãžããŒã¿ãã¢ããããŒããããšããã±ãŒã¹ãèããŸãã VMããGoogle CloudãµãŒãã¹ãžã®APIã³ãŒã« ãã®ãã㪠API ãªã¯ãšã¹ãã¯ã以äžã®äž¡æ¹ãæºããããå Žåã«å¯èœã§ãã å¢çå
ã® Google Cloud ãããžã§ã¯ã ã«æå±ãã VPC å
éšãããªã¯ãšã¹ãããããš VPC ã®ã¢ã¯ã»ã¹å¯èœãªãµãŒãã¹ïŒVPC accessible servicesïŒ ã§ãµãŒãã¹ãèš±å¯èšå®ãããŠããããš VPC ã®ã¢ã¯ã»ã¹å¯èœãªãµãŒãã¹ ã¯ããµãŒãã¹å¢çã«èšå®ããèšå®å€ã®1ã€ã§ããèšå®å€ã¯ã以äžã®ããããããéžæããããšãã§ããŸãã No åç§° æå³ 1 ãã¹ãŠã®ãµãŒãã¹ å
šãµãŒãã¹ã«ã¢ã¯ã»ã¹å¯èœ 2 ãµãŒãã¹ãªã ã©ã® Google ãµãŒãã¹ã«ãã¢ã¯ã»ã¹ã§ããªã 3 ãã¹ãŠã®å¶éä»ããµãŒãã¹ å¢çå
ã®ãµãŒãã¹ã«ã ãã¢ã¯ã»ã¹ã§ãã 4 éžæãããµãŒãã¹ ã¢ã¯ã»ã¹å¯èœãªå¢çå
ãµãŒãã¹ãæç€ºçã«éžæãã VPCã®ã¢ã¯ã»ã¹å¯èœãªãµãŒãã¹ã®èšå®ç»é¢ äŸãã°ããµãŒãã¹å¢çã®ä¿è·å¯Ÿè±¡ãµãŒãã¹ãšã㊠XXX ãããžã§ã¯ãã® Cloud Storage ã ããéžæãããŠãããšããŸãããã®ãšãã XXX ãããžã§ã¯ãã® VPC å
ã® VM ãããGoogle ãµãŒãã¹ãžã® API ãªã¯ãšã¹ãã®æåŠã¯ä»¥äžã®ããã«ãªããŸãã 1. VPC ã®ã¢ã¯ã»ã¹å¯èœãªãµãŒãã¹ã®èšå®å€ã ãã¹ãŠã®ãµãŒãã¹ ã®å Žå VM ããã¯ããµãŒãã¹å¢çã®ä¿è·å¯Ÿè±¡ãµãŒãã¹ãšããŠéžæãããŠãããåŠãã«é¢ãããããã¹ãŠã®ãµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã No æ¥ç¶å
ãµãŒãã¹ APIã³ãŒã«æåŠ 1 Cloud Storage OK 2 BigQuery OK 2. VPC ã®ã¢ã¯ã»ã¹å¯èœãªãµãŒãã¹ã®èšå®å€ã ãµãŒãã¹ãªã ã®å Žå VM ããã¯ãå¢çã«é¢ä¿ãªãã©ã® Google ãµãŒãã¹ã«ãã¢ã¯ã»ã¹ã§ããŸããã No æ¥ç¶å
ãµãŒãã¹ APIã³ãŒã«æåŠ 1 Cloud Storage NG 2 BigQuery NG 3. VPC ã®ã¢ã¯ã»ã¹å¯èœãªãµãŒãã¹ã®èšå®å€ã ãã¹ãŠã®å¶éä»ããµãŒãã¹ ã®å Žå VM ããã¯ãå¢çã®ä¿è·å¯Ÿè±¡ãµãŒãã¹ãšããŠæå®ãããµãŒãã¹ã«ã ãã¢ã¯ã»ã¹ã§ããŸãã No æ¥ç¶å
ãµãŒãã¹ APIã³ãŒã«æåŠ 1 Cloud Storage OK 2 BigQuery NG 4. VPC ã®ã¢ã¯ã»ã¹å¯èœãªãµãŒãã¹ã®èšå®å€ã éžæãããµãŒãã¹ ã®å Žå æç€ºçã«éžæãããµãŒãã¹ãžã® API ãªã¯ãšã¹ãã ããæåããŸããCloud Storage ãéžæããŠããã°ãCloud Storage ãžã®éä¿¡ã¯æåããŸãã ãªã³ãã¬ãã¹ããã® API ãªã¯ãšã¹ã å
åãã«ãŒã«ã§å®çŸ©ããããšã«ããããªã³ãã¬ãã¹ãµã€ãããæ¥ç¶å
IP ãåºå®ããããã§ãã€ã³ã¿ãŒãããçµç±ã§ãµãŒãã¹å¢çå
ã®ãµãŒãã¹ãžã¢ã¯ã»ã¹ããããšãã§ããŸãã ããã VPC ãš ãªã³ãã¬ãã¹ãµã€ãã VPN ã Cloud Interconnect ã§æ¥ç¶ããŠããå Žåã«ã ãã©ã€ããŒããããã¯ãŒã¯çµç±ã§ã¢ã¯ã»ã¹ããã ãšãã¯ã©ãããã°ããã§ããããã VPN ã Cloud Interconnect çµç±ã§ãVPC ã® éå®å
¬éã® Google ã¢ã¯ã»ã¹ ã Private Service Connect ã®ä»®æ³ IP ã¢ãã¬ã¹çµç±ã§ã¢ã¯ã»ã¹ããããšã§ããªã³ãã¬ãã¹ããå¢çå
ã®ãµãŒãã¹ãžãã©ã€ããŒãã¢ã¯ã»ã¹ããããšãã§ããŸããåæã«ãåè¿°ã® VPC å
ããã®ã¢ã¯ã»ã¹ã®æ¡ä»¶ãæºãããŠããå¿
èŠããããŸãã ãªã³ãã¬ãã¹ããGoogle Cloudãžã®APIã³ãŒã« éå®å
¬éã® Google ã¢ã¯ã»ã¹ ã Private Service Connect ãšã¯ã VPC å
ãã Google ã®å
éšãããã¯ãŒã¯çµç±ã§ã〠ãã©ã€ããŒã IP ã«ããæ¥ç¶ã§ Google ãµãŒãã¹ã® API ãžã¢ã¯ã»ã¹ã§ããä»çµã¿ã§ãã以äžã®èšäºã§ç޹ä»ããŠããŸãã®ã§ããåç
§ãã ããã blog.g-gen.co.jp blog.g-gen.co.jp ãã®ãããªã±ãŒã¹ã§ã¯ããªã³ãã¬ãã¹ããã¯ããµãŒãã¹å¢çå
ã® VPC ãçµç±ã㊠Google Cloud API ãžã¢ã¯ã»ã¹ããããããšã«ãªããŸãã ãªããªã³ãã¬ãã¹ããéå®å
¬éã® Google ã¢ã¯ã»ã¹çµç±ã§ API ãªã¯ãšã¹ããããéã«ãã¯ã©ã€ã¢ã³ãåŽããå©çšãã API ãšã³ããã€ã³ããšã㊠restricted.googleapis.com ã䜿ãããšã§ãVPC Service Controls ã® ãµããŒã察象å€ã®ãµãŒãã¹ã«å¯Ÿããã¢ã¯ã»ã¹ãæåŠãã ããšãã§ããŸãã éã«ãã®ãã¡ã€ã³åã䜿ããªããšãVPC Service Controls ãµããŒã察象å€ã®ãµãŒãã¹ãžã®ã¢ã¯ã»ã¹ãå¯èœã«ãªã£ãŠããŸããçµ±å¶ã«æãã»æŒããåºããããããããŸãããã®ä»æ§ã¯ãèªå®è©Šéšã§ãã Professional Cloud Network Engineer ãªã©ã§ãé »åºã§ãã å®è·µ ãŠãŒã¹ã±ãŒã¹ãšèšå®äŸ VPC Service Controls ã®ãŠãŒã¹ã±ãŒã¹ãšå
·äœçãªèšå®äŸãããã€ãåæããŸãã Cloud Storage ã«å·¥å Žã®èšæž¬ããŒã¿ãä¿åããŠããããããžã§ã¯ãã«ãµãŒãã¹å¢çãèšå®ãã 瀟å
æ ç¹ã®åºå® IP ã¢ãã¬ã¹ããã®ã¿ã¢ã¯ã»ã¹ã§ããããã«ãå
åãã«ãŒã«ãèšå® ãã BigQuery ã«å人æ
å ±ãå«ã顧客ããŒã¿ãä¿åããŠããããã® BigQuery ã«ã¯ VPC å
ã® VM ã«ãã¹ããã BI ããŒã«ä»¥å€ããã¢ã¯ã»ã¹ãããããšã¯ãªãã ãããžã§ã¯ãã«å¢çãèšå®ããå
åãã«ãŒã«ã¯èšå®ããªã ä»ç€Ÿãããžã§ã¯ãã® BigQuery ããŒãã«äžã®æ©å¯ããŒã¿ããèªç€Ÿãããžã§ã¯ãã® BigQuery ããŒãã«ã«ã³ããŒãããã2瀟ã§ã¢ã¯ã»ã¹å¶åŸ¡èŠä»¶ãéãããã2ã€ã®ãããžã§ã¯ãã§å¥ã
ã®ãµãŒãã¹å¢çãäœæããããã®åŸã 2ã€ã®ãµãŒãã¹å¢çãå¢çããªããžã§æ¥ç¶ãã 察å¿ããŠãã Google Cloud ãµãŒãã¹ VPC Service Controls ã察å¿ããŠãã Google Cloud ãµãŒãã¹ã®äžèЧã¯ã以äžã®ããã¥ã¡ã³ãã«èšèŒãããŠããŸããåããã¥ã¡ã³ãã«ã¯ãVPC Service Controls ãé©çšãããå ŽåãGoogle Cloud ãµãŒãã¹ã«ã©ã®ãããªåœ±é¿ãããã®ããèšèŒãããŠããŸãã åè : ãµããŒããããŠãããããã¯ããšå¶éäºé
ç¹æ®ãªåœ±é¿ã®äŸãšããŠæ¬¡ã®ãããªãã®ãæããããŸããVPC Service Controls å¢çãé©çšããããããžã§ã¯ãã§ã¯ãPub/Subã® push ãµãã¹ã¯ãªãã·ã§ã³ã¯ãäžéšã®äŸå€ãé€ããŠäœæã§ããªããªããŸããããããäžæçã«ãããžã§ã¯ããå¢çã®ä¿è·ããå€ããpush ãµãã¹ã¯ãªãã·ã§ã³ãäœæããåŸã«å床ä¿è·ãæå¹åãããšããµãã¹ã¯ãªãã·ã§ã³ã¯åé¡ãªãåäœããŸãã åè : ãµããŒããããŠãããããã¯ããšå¶éäºé
- Pub/Sub ãã©ã€ã©ã³æ§æ æ¢ã«çšŒåäžã®ç°å¢ã«æ°ãã VPC Service Controls ãèšå®ãããšãããå¢çã®èšå®ã«æãå ãããšããªã©ã«ããã¹ããªãã§å€æŽãé©çšãããšãäºæãã¬äžå
·åãçºçãããããããŸãããå¢çã«ã¯éåžžã®æ§æã«å ããŠã ãã©ã€ã©ã³ æ§æãèšå®ã§ããŸãã ãã©ã€ã©ã³æ§æãé©çšãããšããµãŒãã¹å¢çãžã®éåãçºçãããšãã«ã¯ãã®ã¢ã¯ã·ã§ã³ã¯æåŠããããCloud Logging ãž ãã°ã®ã¿ãèšé² ãããŸããããã¯ãäžè¬ç㪠WAF 補åçã®ãã©ã€ã©ã³æ©èœãšäŒŒãŠããŸãã ãã©ã€ã©ã³ã䜿ã£ãŠäºåã«åœ±é¿ç¯å²ã®ç¢ºèªãããŠããããšã§ãèšå®å€æŽã®åœ±é¿ãèŠæ¥µããŠããå®éã®é©çšãããããšãã§ããŸãã åè : ãµãŒãã¹å¢çã®ãã©ã€ã©ã³ ã¢ãŒã ãã©ã€ã©ã³ã¢ãŒãã§äºåç¢ºèª ãã©ã€ã©ã³ã®äœ¿ç𿹿³ã«ã€ããŠã¯ã以äžã®èšäºããåç
§ãã ããã blog.g-gen.co.jp ã¢ã¯ã»ã¹ããªã·ãŒ ã¢ã¯ã»ã¹ããªã·ãŒãšã¯ VPC Service Controls ã«ã¯ã ã¢ã¯ã»ã¹ããªã·ãŒ ïŒAccess policiesïŒãšãã管ççšãªããžã§ã¯ãããããŸããã¢ã¯ã»ã¹ããªã·ãŒã¯ãåè¿°ã®ãµãŒãã¹å¢çãã¢ã¯ã»ã¹ã¬ãã«ãªã©ã®èšå®ãªããžã§ã¯ããã°ã«ãŒãã³ã°ããããã®ãªããžã§ã¯ãã§ãã ã¢ã¯ã»ã¹ããªã·ãŒã¯ãscoped access policy ã scoped policy ãšåŒã°ããå ŽåããããŸãã ãµãŒãã¹å¢çãã¢ã¯ã»ã¹ã¬ãã«ãäœæããå
ãæ ŒçŽããå
ã®ã¢ã¯ã»ã¹ããªã·ãŒãéžæããŸããæèããŠããªãå Žåã default ã¢ã¯ã»ã¹ããªã·ãŒã«æ ŒçŽãããŸãã default ã¢ã¯ã»ã¹ããªã·ãŒã¯ãGoogle Cloud ã® Web ã³ã³ãœãŒã«ããåããŠãµãŒãã¹å¢çãäœæãããšãèªåçã«äœæãããŸãã ã¢ã¯ã»ã¹ããªã·ãŒã«ã¯ã管çãå§ä»»ãããã©ã«ãããããžã§ã¯ããæå®ã§ããŸããããã«ããããã©ã«ããŸãã¯ãããžã§ã¯ãã®ç®¡çè
ã«ãVPC Service Controls ã®ç®¡çãå§ä»»ããããšãã§ããŸãã åè : ã¢ã¯ã»ã¹ ããªã·ãŒ åè : ã¹ã³ãŒã ããªã·ãŒã®æŠèŠ ã¢ã¯ã»ã¹ããªã·ãŒã®äœ¿ãæ¹ äŸãã°ãã¢ã¯ã»ã¹ããªã·ãŒ development ãäœæããŠã以äžã®ããã«èšå®ãããšããŸãã ã¢ã¯ã»ã¹ããªã·ãŒ development èšå®é
ç® èšå®å€ 管çã¹ã³ãŒã ãã©ã«ã dev 管çããªã³ã·ãã« xxx@example.com : Access Context Manager Admin ãã®ããã«èšå®ãããšã xxx@example.com ã¯ãã©ã«ã dev ã®ç¯å²å
ã«ãããŠãVPC Service Controls å¢çãäœæããããèšå®ã倿Žãããã§ããããã«ãªããŸãã ãã®ãããªèšå®ã¯ãçµç¹å
šäœã® VPC Service Controls ã¯æ
å ±ã·ã¹ãã éšéã§ç®¡çããéçºããŒã ã«ã¯ãåããŒã ããšã®ç¯å²ã§ VPC Service Controls ã管çãããããšããªã©ã«å©çšã§ããŸãã ãã©ãã«ã·ã¥ãŒãã£ã³ã° éåã¢ãã©ã€ã¶ãŒ å¢çã«å¯ŸããéåãçºçãããšãCloud Logging ã«ãã°ïŒããªã·ãŒæåŠç£æ»ãã°ïŒãèšé²ãããŸãããã®ãã°ã«ã¯ãID ã§ãã ãã©ãã«ã·ã¥ãŒãã£ã³ã°ããŒã¯ã³ ïŒ vpcServiceControlsUniqueId ïŒãèšé²ãããŠããŸãã Google Cloud ã³ã³ãœãŒã«ã® VPC Service Controls > VIOLATION ANALYZER ç»é¢ãžé·ç§»ãããã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ããŒã¯ã³ãå
¥åããããšã§ããã®ã¢ã¯ã»ã¹ãã©ããã£ãçç±ã§æåŠãããã®ãã確èªããããšãã§ããŸãã ããã«ãããæ¬æ¥éåãšã¿ãªãããã¹ãã§ã¯ãªãã¢ã¯ã»ã¹ãæåŠãããŠããŸã£ããšããªã©ã«ãåå ã調æ»ããããšãã§ããŸãã éåã¢ãã©ã€ã¶ãŒã®ç»é¢ éåããã·ã¥ããŒã çµç¹ã§ éåããã·ã¥ããŒã ãæå¹åããããšã§ãå¢çã«å¯ŸããéåãäžèЧåããããšãã§ããŸãã ããã·ã¥ããŒãã§ã¯ãæå®ããæéå
ã®éåãäžèЧåãããŠãããããŸããŸãªãã£ã«ã¿ã䜿ãããšãã§ããŸãããã©ãã«ã·ã¥ãŒãã£ã³ã°ããŒã¯ã³ã衚瀺ãããŠããããªã³ã¯ãã¯ãªãã¯ããããšã§éåã¢ãã©ã€ã¶ãŒã®åæç»é¢ãžããã«é·ç§»ããããšãã§ããŸãã åè : Set up and view the violation dashboard 詳现ã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp ææ å銬 (èšäºäžèЧ) å·è¡åœ¹å¡ CTO å
èŠå¯å®ãšããçµæŽãæã€ IT ãšã³ãžãã¢ãã¯ã©ãŠã管çã»éçšããããã¯ãŒã¯ã«ç¥èŠãAWS èªå®è³æ Œããã³ Google Cloud èªå®è³æ Œã¯ãã¹ãŠååŸãXïŒæ§ TwitterïŒã§ã¯ Google Cloud ã Google Workspace ã®ã¢ããããŒãæ
å ±ãã€ã¶ãããŠããŸãã Follow @y_sugi_it
G-genã®éŽæšããšãããã€ã§ãã Google Workspaceãªã©ããã©ã€ã¢ã«ã§å©çšã¯ããŠã¿ããã®ã®ãã¡ãŒã«ãå®éã©ãéåä¿¡ãããããå®éã®éçšãšã¯éãããã€ã¡ãŒãžããããªãã æ®µéçã«ãŠãŒã¶ãŒãGoogle Workspaceãžç§»è¡ããããæ¹æ³ãããããªãã ãªã©æã£ãããšã¯ãããŸããã§ããããïŒ ãšã¯ãããMXã¬ã³ãŒããæ°ããGoogle WorkspaceåŽã«åããŠããŸããšæ¢åã®ã¡ãŒã«ã«åœ±é¿ãã§ããã»ã»ã» ãšããããšã§ä»æ¥ã¯ãã©ã€ã¢ã«ã§å©çšããããããã¯äžéšã®ãŠãŒã¶ãŒã®ã¿Google Workspaceã®ã¡ãŒã«ç°å¢ã æ¬çªåæ§ã«å©çšãã ããã®æ¹æ³ã«ã€ããŠè§£èª¬ããããŸãã â»MXã¬ã³ãŒããšã¯ ã¡ãŒã«é
éçšã®ãã¡ã€ã³ã¬ã³ãŒããæ¬ã¬ã³ãŒããåããæ¹åã«ã¡ãŒã«ãéä¿¡ããã äŸïŒMXã¬ã³ãŒããg-gen.co.jpã®å Žåã«xxxx@g-gen.co.jpã«ã¡ãŒã«ãæ£ããéä¿¡ãããŸãã äžéšãŠãŒã¶ãŒã®ã¿ã®ç§»è¡ãšã¯ïŒ åææ¡ä»¶ èšå®æ¹æ³ Google Workspaceã®ç³ã蟌㿠ãã¡ã€ã³ã®æææš©ã®ç¢ºèª ã¡ãŒã«ã®è»¢éèšå® äžéšãŠãŒã¶ãŒã®ã¿ã®ç§»è¡ãšã¯ïŒ ãããããªããã®ãããªäžéšç§»è¡ãå¿
èŠã«ãªãã®ã§ããããïŒãŸãã¯éåžžã®ã¡ãŒã«ã«ãŒãã£ã³ã°ã®ä»çµã¿ãç°¡åã«èª¬æãããŠããã ããŸãã ã¡ãŒã«éä¿¡ã®ä»çµã¿ äžèšã®ããã«ãã¡ãŒã«ãéä¿¡ãããšDNSãµãŒããŒã«ãã§ãã¯ãå
¥ãããã®DNSãµãŒããŒã@ã®åŸãããã§ãã¯ããŠã¡ãŒã«ãéä¿¡å
ã¡ãŒã«ãµãŒããŒã«å±ããåä¿¡è
ã«æ£ããã¡ãŒã«ãéä¿¡ãããã ãšããä»çµã¿ã«ãªããŸãã ã§ã¯äŸã㰠段éçã«Google Workspaceã«ç§»è¡ããã å Žåã©ããªãã§ããããïŒ æ¬çªã®ãã¡ã€ã³ã@g-gen.co.jpã§ãã£ãå Žåã«ãã»ãã«å©çšå¯èœãªãã¡ã€ã³ãå©çšããŠç»é²ãããšã¡ãŒã«ã¢ãã¬ã¹ãæ¬çªãšã¯ç°ãªã£ãŠããŸããæ¬çªéçšãšãªããªãèšããªãç¶æ
ã«ã ããšãã£ãŠæ¬çªãã¡ã€ã³ãå©çšããŠãMXã¬ã³ãŒããåãæ¿ããŠããŸããšå
šå¡åã®ã¡ãŒã«ãGoogle Workspaceã«éä¿¡ãããããšã«ãªã£ãŠããŸããŸãã ãã®ãããªç¶æ³ãåé¿ããäžéšã®ãŠãŒã¶ãŒã¯ããŸãŸã§éãã®æ¹æ³ã§ã¡ãŒã«ãéåä¿¡ãäžéšã®ãŠãŒã¶ãŒã¯Google Workspaceã§ã¡ãŒã«ãéåä¿¡ãå¯èœãªç°å¢ãæ§ç¯ããæ¹æ³ã«é¢ããŠè§£èª¬ããããŸãã åææ¡ä»¶ äžéšãŠãŒã¶ãŒã®ã¿ãç§»è¡ããåææ¡ä»¶ãšããŠ ãæ¢åã®ã¡ãŒã«ãµãŒããŒãåä¿¡ããã¡ãŒã«ãæå®ã¢ãã¬ã¹ã«èªå転éå¯èœã§ããããšã ããããããŸãã®ã§ããæ³šæãã ããã ãã®æ¡ä»¶ãå¿
èŠãªçç±ãšããŠã¯ã以äžã®ãããªèšå®ãå¿
èŠãšãªãããã§ãã (1)æ¬çªãã¡ã€ã³ (XXXX@g-gen.co.jp)ã§ã¡ãŒã«ãåä¿¡ (2)å蚺ããã¡ãŒã«ãGoogleWorkspaceã«èªå転é èšå®æ¹æ³ åè¿°ã®ç°å¢ãå®çŸããã¹ããããšããŠã¯ä»¥äžã«ãªããŸãã ã»Google Workspaceã®ç³ã蟌ã¿(ãã®æã«ãæ¬çªç°å¢ã®ãã¡ã€ã³ãå
¥åã) ã»TXTã¬ã³ãŒããå©çšããŠããã¡ã€ã³ã®æææš©ã®ç¢ºèª ã â»ãã®æçµ¶å¯Ÿã«MXã¬ã³ãŒãã¯ããããªãã§ãã ããã ã»æ¢åã¡ãŒã«ãµãŒããŒäžã§ãç§»è¡å¯Ÿè±¡ã®ãŠãŒã¶ãŒã®ã¡ãŒã«è»¢éèšå®ãè¡ãã äºé
ãã詳现ã説æããããŸãã Google Workspaceã®ç³ã蟌㿠以äžã®URLãããã©ã€ã¢ã«ããç³èŸŒã¿ãã ãããããŒãããŒããã®è³Œå
¥ã§ãåé¡ãããŸããã ãç³èŸŒã¿ã®éã«ãã¡ã€ã³ã®å
¥åç»é¢ã§ãæ¬çªç°å¢ã®ãã¡ã€ã³ãå
¥åããŠãã ããã â»G-genã®å Žåã«ã¯@g-gen.co.jp ãã®æç¹ã§ã¯ã¡ãŒã«ãGoogle Workspaceã«ã«ãŒãã£ã³ã°ãããããšã¯ãããŸããã Google Workspace のお申し込み Google Workspaceç³ã蟌ã¿ç»é¢(ãã¡ã€ã³ç»é²) ãã¡ã€ã³ã®æææš©ã®ç¢ºèª ãã°ã€ã³çŽåŸã«ä»¥äžã®ç»é¢ã«ãªããŸããã ãã¡ãã§ã¯MXã¬ã³ãŒããå©çšãããã¡ã€ã³ã®æææš©ã®ç¢ºèªã®ããã絶察ã«å®æœããªãã§ãã ããã ãã°ã€ã³çŽåŸã®ç»é¢ ããªããå·Šäžã®[ ã¡ã€ã³ã¡ãã¥ãŒïŒã¢ã«ãŠã³ãïŒãã¡ã€ã³ïŒãã¡ã€ã³ã®ç®¡ç ]ããéãã以äžã®ç»é¢ãã TXTã¬ã³ãŒã ãå©çšããŠå®æœããŠãã ããã ãã¡ã€ã³æææš©ã®ç¢ºèªç»é¢ 以äžã®ç»é¢ããTXTã¬ã³ãŒããå©çšããæææš©ã®èšŒæã宿œããŠãã ããã TXTã¬ã³ãŒããå©çšããæææš©ã®ç¢ºèª æææš©ã®èšŒæãçµãã以äžã®ãããªç»é¢ã«ãªãã°Google Workspaceäžã§ã®èšå®ã¯å®äºã§ãããGmailãæå¹ã«ãããããã¯ãªãã¯ããŠèšå®ã宿œããŠãã ããã ãã®éã ãMX ã¬ã³ãŒãã®èšå®ãã¹ãããããå¿
ãéžæ ããŠãã ããã ãã¡ã€ã³ã®æææš©ç¢ºèªæžã¿ç»é¢ ã¡ãŒã«ã®è»¢éèšå® çŸæç¹ã§ãã§ã«Google Workspaceäžã§ã¡ãŒã«ã®éåä¿¡ãå¯èœã§ããæ¬çªãã¡ã€ã³ãg-gen.co.jpã®å ŽåãGoogle Workspaceäžã®ã¡ãŒã«éåä¿¡ã¯ä»¥äžã®ãããªç¶æ
ã«ãªããŸãã ã¡ãŒã«éä¿¡ïŒXXXX@g-gen.co.jp ã¡ãŒã«åä¿¡ïŒXXXX@g-gen.co.jp.test-google-a.com ã客æ§ã®ã¡ãŒã«ãµãŒããŒäžã®èšå®ã«ãŠè©²åœãŠãŒã¶ãŒãåä¿¡ããã¡ãŒã«ãäžèšã®åä¿¡å¯èœãªã¡ãŒã«ã¢ãã¬ã¹ã«è»¢éããèšå®ãããŸãã äžèšã®äŸã®å Žåã«ã¯ ã»XXXX@g-gen.co.jpã§ã¡ãŒã«ãåä¿¡ã â»ãã ããã®æç¹ã§ã¯æ§ã¡ãŒã«ç°å¢ã§ã¡ãŒã«ãåä¿¡ããŠããŸãã ã»XXXX@g-gen.co.jpã«æ¥ãã¡ãŒã«ãXXXX@g-gen.co.jp.test-google-a.comã«è»¢éã èšå®ãå®äºãããšä»¥äžã®ãããªç°å¢ã«ãªãã転éèšå®ãè¡ã£ãGoogle Workspaceãå©çšããŠãããŠãŒã¶ãŒã¯Google Workspaceã§ã¡ãŒã«ãéåä¿¡ã 転éèšå®ãããŠããªããŠãŒã¶ãŒã¯ããŸãŸã§éãã®æ¹æ³ã§ã¡ãŒã«ãéåä¿¡ããããšãå¯èœã§ãã äžéšãŠãŒã¶ãŒã®ã¿ã¡ãŒã«ç°å¢ã®ç§»è¡ ããã§äžéšãŠãŒã¶ãŒã®ã¿ã®ç§»è¡èšå®ã¯å®äºã§ãã ä»åã¯Google Workspaceã§èšèŒããŸããããåçãšããŠã¯ä»ã®ã¯ã©ãŠããµãŒãã¹ã§ã宿œå¯èœã§ãã®ã§ããã©ã€ã¢ã«çã§ã¯ã©ãŠããµãŒãã¹ãå©çšããŠã¿ããæ¹ã¯ãæ€èšãã ããïŒ ãŸããã¡ãã£ãšæè¡çã«é£ãããŠã»ã»ã»ãšããæ¹ã¯G-genã«ãæ°è»œã«ã声ãããã ããã Google Cloud(旧GCP) / Google Workspace導入に関するお問い合わせ éŽæš éæ (èšäºäžèЧ) å·è¡åœ¹å¡ COO ããžãã¹æšé²éš éšé· åºæ¬ããªãã§ãå±ãäž»ã«ããžãã¹ã®ç«ã¡äžããä»çµã¿ã¥ãããå¥œã æ¥ã
ãåªåãæ¥ã
ãæ¥œããããšã倧äºã« ã Professional Cloud Architect / Professional Workspace Administratorã®ã¿ä¿æããŠããŸãããããã倱å¹ããŠããŸããããªäºæã
G-genã®å°æã§ããåœèšäºã§ã¯ãGoogle CloudïŒæ§ç§° GCPïŒã® VPC ã®åºæ¬æ©èœãã玹ä»ããŸãã ã¯ããã« VPC ãããã¯ãŒã¯ãšãµãããã VPC ãããã¯ãŒã¯ ãµãããã ã€ã¡ãŒãžå³ VPC ã®äœæã¢ãŒã ã«ãŒã Cloud NAT VPC ãããã¯ãŒã¯ãã¢ãªã³ã° å
±æ VPC ãã®ä» VPC ã®è©³çް ã¯ããã« Virtual Private Cloud ïŒVPCïŒã¯ãä»®æ³ãããã¯ãŒã¯ãæ§ç¯ããããã®ãµãŒãã¹ã§ããGoogle Cloud ã® Compute Engine ã Google Kubernetes EngineïŒGKEïŒãšãã£ããµãŒãã¹ã䜿ãäžã§éèŠã§ããVPC ã«æå±ãããµãŒãã¹ãã»ãã¥ã¢ã«äœ¿çšããããã«ã¯ãVPC ã®èšèšãéåžžã«éèŠã«ãªããŸãã®ã§ãåºæ¬ç㪠VPC ã®æ©èœãèŠããŠãããŸãããïŒ ãŸãåœèšäºã§ã¯ãGoogle Cloud ãš Amazon Web ServicesïŒä»¥äžãAWSïŒã§é¡äŒŒã®æ©èœã䞊ã¹ãŠç޹ä»ããŸããAWSã® VPC ã¯ç¥ã£ãŠãããã©ãGoogle Cloud ã® VPC ãããããªããšããæ¹ã¯æ¯éãåèã«ããŠãã ããã VPC ãããã¯ãŒã¯ãšãµãããã VPC ãããã¯ãŒã¯ VPC ãããã¯ãŒã¯ ã¯ããã©ã€ããŒããªä»®æ³ãããã¯ãŒã¯ã§ããäœæãããåã
ã®ãããã¯ãŒã¯ã®ããšãæããåã«ãããã¯ãŒã¯ãšåŒã°ããããšããããŸãã Google Cloud ã® VPC ãããã¯ãŒã¯ã®æå€§ã®ç¹åŸŽã¯ã è€æ°ã®ãªãŒãžã§ã³ããŸããã ã°ããŒãã«ãªãœãŒã¹ ã§ããç¹ã§ããAWS ã® VPC ã¯ãåäžã®ãªãŒãžã§ã³ã«äœæãããªãŒãžã§ã³ãªãœãŒã¹ã§ãããGoogle Cloud ã® VPC ãããã¯ãŒã¯ã¯ãGoogle Cloud ãæäŸãããã¹ãŠã®ãªãŒãžã§ã³ã«ãŸããããŸãã ãŸã AWS ã§ã¯ VPC äœææã« IP ã¢ãã¬ã¹ç¯å²ã CIDR 圢åŒã§æå®ããŸãããGoogle Cloud ã§ã¯ VPC ãããã¯ãŒã¯ã¯ IP ã¢ãã¬ã¹ç¯å²ãæã¡ãŸãããVPC ãããã¯ãŒã¯ã®é
äžã«äœæããããµããããã IP ã¢ãã¬ã¹ç¯å²ãæã¡ãŸãã åè : VPC ãããã¯ãŒã¯ ãµãããã VPC ãããã¯ãŒã¯ã®é
äžã«ã¯ãCompute Engine VM çã®ãªãœãŒã¹ãé
眮ãããããã¯ãŒã¯åäœã§ãã ãµãããã ãäœæããŸãããµããããã¯ãåäžãªãŒãžã§ã³å
ã«äœæãããªãŒãžã§ã³ãªãœãŒã¹ã§ãããµããããã¯ããªãŒãžã§ã³å
ã®ãã¹ãŠã®ãŸãŒã³ã«ãŸããã£ãŠããŸãã åè : ãµãããã ã€ã¡ãŒãžå³ VPC ãããã¯ãŒã¯ãšãµãããããæš¡åŒå³ã«ãããšã以äžã®ããã«ãªããŸãã Google Cloudãããã¯ãŒã¯ AWS ã® VPC ããåç¥ã®æ¹ã®ããã«ãAWS ã® VPC ãšãµããããã®é¢ä¿ã衚ããå³ãæ²èŒããŸãã AWSãããã¯ãŒã¯ VPC ã®äœæã¢ãŒã Google Cloud ã§ã¯ãVPC ãããã¯ãŒã¯ã®äœææããµããããäœæã¢ãŒããšããŠã èªåã¢ãŒã ãš ã«ã¹ã¿ã ã¢ãŒã ã®2ã€ããéžæããŸãã èªåã¢ãŒã ãéžæãããšãGoogle Cloud ãæäŸãããã¹ãŠã®ãªãŒãžã§ã³ã«ãæå®ã® IP ã¢ãã¬ã¹ç¯å²ã®ãµãããããäœæãããŸããæ€èšŒçšéãªã©ã®å©çšã«æé©ã§ãã äžæ¹ã® ã«ã¹ã¿ã ã¢ãŒã ã¯ãèªåã§ãµããããã¯äœæãããŸããããŠãŒã¶ãŒèªãããªãŒãžã§ã³ã IP ã¢ãã¬ã¹ç¯å²ãæå®ããŠãµãããããäœæããŸããæ¬çªç°å¢ã§å©çšããå Žåã¯ããã¡ããæšå¥šã§ãã åè : ãµããããäœæã¢ãŒã ã«ãŒã Google Cloud ã§ã¯ããã±ãããã«ãŒãã£ã³ã°ããããã®çµè·¯ãšã㊠ã«ãŒã ãç»é²ããŸããAWS ã§ã¯ãµããããããšã«ã«ãŒãããŒãã«ãçŽã¥ããŸãããGoogle Cloud ã§ã¯ VPC ãããã¯ãŒã¯ã1ã€ã®ã«ãŒãããŒãã«ãæã¡ãVPC å
ã®ãã¹ãŠã® VM ããã®ã«ãŒãããŒãã«ãåç
§ããŸãã ããã©ã«ãã§ããã¹ãŠã®ãµããããå士ãäºãã«éä¿¡ã§ããã«ãŒããšãã€ã³ã¿ãŒããããžã®ã«ãŒããäœæãããŸãããã®ã»ãã®ã«ãŒãã¯ãŠãŒã¶ãŒèªèº«ã§ç»é²ããå¿
èŠããããŸãã ãŸããããããã®ã«ãŒãã«ã¯ãã©ã€ãªãªãã£ãèšå®ããŸãããã©ã€ãªãªãã£ã®æ°åãè¥ãã«ãŒããããåªå
çã«è©äŸ¡ãããŸãã ã«ãŒã åè : ã«ãŒã Cloud NAT å€éš IP ã¢ãã¬ã¹ãæããªãã€ã³ã¹ã¿ã³ã¹ãã€ã³ã¿ãŒããããžã®ã¢ã¯ã»ã¹ãããããã«å©çšããã®ãã Cloud NAT ã§ããCloud NAT ã¯ãã«ãããŒãžãã® NAT ã€ã³ã¹ã¿ã³ã¹ã§ãã CloudNAT ãªããAWS ã®å Žå㯠NAT Gateway äœæåŸã«ãã«ãŒãããŒãã«ã§ NAT Gateway ãã¿ãŒã²ãããšããã«ãŒãã远å ããå¿
èŠããããŸãããGoogle Cloud ã§ã¯å¿
èŠãããŸããã åè : Cloud NAT ã®æŠèŠ VPC ãããã¯ãŒã¯ãã¢ãªã³ã° VPC ãããã¯ãŒã¯ãã¢ãªã³ã° ã¯ã2ã€ã® VPC ãããã¯ãŒã¯åå£«ãæ¥ç¶ããå
éš IP ã¢ãã¬ã¹ã§ã®æ¥ç¶ãå¯èœã«ããæ©èœã§ãã AWS ãšåæ§ããã¢ãªã³ã°ã¯ VPC ãããã¯ãŒã¯ã 1:1ã§æ¥ç¶ ããŸãã以äžã®ããã«ãçŽæ¥ãã¢ãªã³ã°ããŠããªã VPC ãããã¯ãŒã¯å士ã¯ãã±ãããå°éããŸããïŒ2ãããå¶éããããã¯æšç§»çãã¢ãªã³ã°ã®çŠæ¢ïŒã VPCPeering ãŸãããã¢ãªã³ã°ãã VPC ãããã¯ãŒã¯é
äžã®ãµããããã¯ãIP ã¢ãã¬ã¹ç¯å²ãéè€ããŠã¯ãããŸããã åè : VPC ãããã¯ãŒã¯ ãã¢ãªã³ã° å
±æ VPC éåžžãVPC ãããã¯ãŒã¯ã¯1ã€ã®ãããžã§ã¯ãã«éãããªãœãŒã¹ã§ããããã å
±æ VPC æ©èœã䜿ããšãVPC ãããã¯ãŒã¯ãä»ã®ãããžã§ã¯ãã«å
±æããããšãã§ããŸãã 以äžã®ãããªãŠãŒã¹ã±ãŒã¹ãèããããŸãã ã«ãŒãããã¡ã€ã¢ãŠã©ãŒã«ãCloud VPN çã®ãªãœãŒã¹ã¯ãããã¯ãŒã¯ç®¡çè
ãéäžç®¡çããã VM ã®ç®¡çæš©éãéçºããŒã ã«äžãããããããã¯ãŒã¯ã¯èšå®å€æŽãããããªã ãããã£ãéã«å
±æ VPC ã䜿ãããšã§ãã»ãã¥ã¢ãªæš©éèšèšãããããã¯ãŒã¯ã®äžå
管çãå®çŸã§ããŸãã å
±æ VPC åè : å
±æ VPC ãã®ä» VPC ã®è©³çް 以äžã®èšäºã§ã¯ãVPC ã®ä»çµã¿ã詳现ã«è§£èª¬ããŠããŸãããã詳ããç¥ãããå Žåã¯ãåç
§ããŠãã ããã blog.g-gen.co.jp blog.g-gen.co.jp å°æ ããã¿ (èšäºäžèЧ) ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³éš å¶æ¥ããŒã AWSãšã³ãžãã¢ããGoogle Cloudå¶æ¥ã«è»¢å çŠäºãããªã¢ãŒãã¯ãŒã¯äž è¶£å³ã¯Monkey125ã§ããŒãªã³ã°ãNetflixéè³ãæ
è¡
G-genã®ææã§ããGoogle CloudïŒæ§ç§° GCPïŒã® Cloud Identity-Aware Proxy ïŒä»¥äžãCloud IAPïŒã«ã€ããŠã玹ä»ããŸãã IAP ãšã¯ æé VM ã«ã¢ã¯ã»ã¹ããããã®èžã¿å°ãšããŠäœ¿ã èšå®æ¹æ³ VPC ã®ãã¡ã€ã¢ãŠã©ãŒã«èšå® IAM æš©éã®ä»äž ã¢ã¯ã»ã¹æ¹æ³ SSH ã®å Žå Google Cloud ã³ã³ãœãŒã«ãã gcloud ã³ãã³ããã SSH ã¿ãŒããã«ãœãããŠã§ã¢ãã ãªã¢ãŒããã¹ã¯ãããïŒRDPïŒ Chromebook ã§ IAP Tunnel ãäœæããæ¹æ³ IAP ãšã¯ IAPã®æŠå¿µ Identity-Aware Proxy ïŒIAPããŸã㯠Cloud IAPïŒã¯ãGoogle CloudïŒæ§ç§° GCPïŒãæäŸãã ãã«ãããŒãžãã®ãªããŒã¹ãããã· ã§ãããã«ãããŒãžãã§ãã®ã§ãå©çšè
㯠IAP ãæ§ç¯ããããéçšãä¿å®ãããå¿
èŠã¯ãããŸããã å³ã®ããã«ãIAP ãçµç±ã㊠VPC ã«ããåçš®ãªãœãŒã¹ãžã¢ã¯ã»ã¹ããããIAP Connector ãšããã³ã³ããŒãã³ãããããã€ããã°ããªã³ãã¬ãã¹ã®ãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãäžç¶ããããšãã§ããŸãã åè : Identity-Aware Proxy ã®æŠèŠ ãŸããIAP 㯠Cloud Run ãµãŒãã¹çã§ãããã€ããããWeb ã¢ããªã±ãŒã·ã§ã³ã«ãç°¡åã«èªèšŒæ©æ§ãå®è£
ããããã«ãå©çšã§ããŸãã åè : Configure Identity-Aware Proxy for Cloud Run åè : Identity-Aware Proxy(IAP)ãšCloud Armorã䜿çšããŠCloud RunãµãŒãã¹ãžã®ã¢ã¯ã»ã¹å¶åŸ¡ãå®è£
ãã - G-gen Tech Blog ãªããIAP 㯠BeyondCorp Enterprise ã®1ã€ã®èŠçŽ ã«ããªã£ãŠããŸããåœèšäºã§ã¯ BeyondCorp Enterprise ã«ã¯è§ŠããŸãããããèå³ã®ããæ¹ã¯ä»¥äžã®èšäºããåç
§ãã ããã åè : Chrome Enterprise PremiumïŒæ§BeyondCorp EnterpriseïŒã培åºè§£èª¬ - G-gen Tech Blog Google Cloud ã® IAP ã«ã¯æ§ã
ãªæ©èœããããŸãããåœèšäºã§ã玹ä»ããã®ã¯ Compute Engine ã®ã€ã³ã¹ã¿ã³ã¹ïŒVMïŒãžãSSH/RDP ãã°ã€ã³ã®ããã®æ©èœã§ãã æé IAP ã®æéã¯ãååç¡æã§ãã ãã ããããã€ã¹å¶éãããããªã©ã詳现ãªã¢ã¯ã»ã¹å¶åŸ¡ããããå Žå㯠BeyondCorp Enterprise ã®æ©èœãšãªããæåãšãªããŸãã詳现ã¯ä»¥äžããåç
§ãã ããã åè : Identity-Aware Proxy ã®æé VM ã«ã¢ã¯ã»ã¹ããããã®èžã¿å°ãšããŠäœ¿ã ã»ãã¥ãªãã£äžãCompute Engine VM ã«ã¯ãã§ããã ãå€éš IP ã¢ãã¬ã¹ïŒExternal IP addressïŒãä»äžããã«ãããããã®ã§ããå€éš IP ã¢ãã¬ã¹ããªãã€ã³ã¹ã¿ã³ã¹ã«ãã°ã€ã³ããããã«ã¯ãèžã¿å°ãµãŒããçšæããå¿
èŠããããšæããããããããŸããã ããããIAP ã䜿ãã°ã èžã¿å°ãµãŒãã¯äžèŠ ã§ãã VMãã°ã€ã³ã®ããã®IAP å³ã®ããã«ãå©çšè
ã¯ãŸãã€ã³ã¿ãŒãããçµç±ïŒHTTPSïŒã§ IAP ãžã¢ã¯ã»ã¹ãããã³ãã«ãäœæããŸãããã®ãšããå©çšè
㯠Google ã¢ã«ãŠã³ãã§èªèšŒããŸãããŸã IAP ãå©çšã§ããã®ã¯ãIdentity and Access ManagementïŒIAMïŒã§é©åãªããŒã«ãä»äžããã人ã ãã§ãã VPC ã®ãã¡ã€ã¢ãŠã©ãŒã«ã«ãŒã«ã§ã¯ãIAP ã®æ¥ç¶å
IP ã¢ãã¬ã¹ã§ãã 35.235.240.0/20 ããã® 22/TCPïŒSSHïŒããã㯠3389/TCPïŒRDPïŒæ¥ç¶ãèš±å¯ããŸãã åè : TCP 転éã§ã® IAP ã®äœ¿çš ããã§ãå©çšè
㯠IAP çµç±ã§å€éš IP ã¢ãã¬ã¹ãæããªã VM ã«ãã°ã€ã³ããããšãã§ããŸãããŸããå€éš IP ã¢ãã¬ã¹ãæã£ãŠãã VM ãžã®ãã°ã€ã³ã«ããIAP ãå©çšã§ããŸãã èšå®æ¹æ³ èšå®æ¹æ³ã¯ç°¡åã§ãã以äžã®2ã€ã宿œããã°ãIAP ãå©çšã§ããŸãã VPC ã®ãã¡ã€ã¢ãŠã©ãŒã«èšå® 察象ã€ã³ã¹ã¿ã³ã¹ã®ååšãã VPC ãããã¯ãŒã¯ã®ãã¡ã€ã¢ãŠã©ãŒã«ã®äžãïŒIngressïŒã«ãŒã«ã§ã 35.235.240.0/20 ããã® 22/TCPïŒSSHïŒããã㯠3389/TCPïŒRDPïŒæ¥ç¶ãèš±å¯ããŸãã IAM æš©éã®ä»äž IAP ãå©çšããã Google ã¢ã«ãŠã³ããã°ã«ãŒãã«ãå¿
èŠãª IAM ããŒã«ãä»äžããŸãã ãŸãã以äžã® IAM ããŒã«ãããããžã§ã¯ãã®ã¬ãã«ã§ã¢ã¿ããããŸãã Compute é²èЧè
ïŒ roles/compute.viewer ïŒã Compute OS ãã°ã€ã³ïŒ roles/compute.osLogin ïŒçã® compute.instances.get æš©éãæã€ããŒã« ããã«ã以äžã® IAM ããŒã«ãããããžã§ã¯ãã¬ãã«ãŸã㯠VM ã® IAP ãã³ãã«ãªãœãŒã¹ã«ã¢ã¿ããããŸãã IAP ã§ä¿è·ããã ãã³ãã« ãŠãŒã¶ãŒïŒ roles/iap.tunnelResourceAccessor ïŒ æé ã¯ã以äžã®ããã¥ã¡ã³ããåèã«ããŠãã ããã åè : TCP 転éã§ã® IAP ã®äœ¿çš - IAP TCP 転éã®ããŒã«ãä»äžãã ãªãå©çšã§ããããŒãçªå·ãå¶éãããã Access Context Manager ã§å®çŸ©ããã¢ã¯ã»ã¹ã¬ãã«ãæºãããŠããããšãã¢ã¯ã»ã¹ã®æ¡ä»¶ãšããŠè¿œå ããããšãã§ããŸãã ãŸãå
è¿°ã® ãããžã§ã¯ãã®ã¬ãã«ã§ã¢ã¿ãã ã®æå³ããã³ãšæ¥ãªãå Žåã¯ã以äžã®èšäºããã²ãåç
§ãã ããã blog.g-gen.co.jp ã¢ã¯ã»ã¹æ¹æ³ SSH ã®å Žå Google Cloud ã³ã³ãœãŒã«ãã Google Cloud ã³ã³ãœãŒã«ç»é¢ããã® SSH ã§ããã°ã VM ã®ã³ã³ãœãŒã«ã§ SSH ãã¿ã³ãæŒãã ãã§ãã ã³ã³ãœãŒã«ã®SSHãã¿ã³ Google Cloud ã³ã³ãœãŒã«ã§ã¯ãIAP ãå©çšå¯èœãªæ¡ä»¶ãæºããããŠããã°ãèªåçã« IAP çµç±ã§ã¢ã¯ã»ã¹ããŠãããŸãã gcloud ã³ãã³ããã gcloud ã³ãã³ãã§ã¢ã¯ã»ã¹ããå Žåãç°¡åã§ããã€ã³ã¹ã¿ã³ã¹ã«å€éš IP ã¢ãã¬ã¹ãä»äžãããŠããªããã°ãgcloud compute ssh ã³ãã³ããå®è¡ããã ãã§ãèªåçã« IAP çµç±ã§ã¢ã¯ã»ã¹ããŠãããŸãã gcloud compute ssh ${INSTANCE_NAME} â» ${INSTANCE_NAME} ã¯ã€ã³ã¹ã¿ã³ã¹åã«çœ®ãæããŠãã ããã 察象ã€ã³ã¹ã¿ã³ã¹ã«å€éš IP ã¢ãã¬ã¹ãä»äžãããŠããå Žåã§ããæç€ºçã« --tunnel-through-iap ãªãã·ã§ã³ãã€ããããšã§ãIAP çµç±ã§ã¢ã¯ã»ã¹ããŠãããŸãã gcloud compute ssh --tunnel-through-iap ${INSTANCE_NAME} åè : TCP 転éã§ã® IAP ã®äœ¿çš - SSH æ¥ç¶ã®ãã³ããªã³ã° SSH ã¿ãŒããã«ãœãããŠã§ã¢ãã Tera Term / PuTTY çã®ã䜿ãæ
£ãã SSH ã¿ãŒããã«ãœãããŠã§ã¢ãã IAP ãå©çšããããšãã§ããŸãã ãŸãã以äžã®ã³ãã³ããå®è¡ããŠãlocalhost ãš VM ã®éã« IAP çµç±ã§ãã³ãã«ãäœæããŸãã gcloud compute start-iap-tunnel ${INSTANCE_NAME} 22 \ --local-host-port = localhost:10022 \ --zone = ${ZONE} â» ${INSTANCE_NAME} ã¯ã€ã³ã¹ã¿ã³ã¹åã«çœ®ãæã â» ${ZONE} ã¯ã€ã³ã¹ã¿ã³ã¹ãé
眮ãããŠãããŸãŒã³åã«çœ®ãæã äŸ: asia-northeast1-b â» äŸã§ã¯ 10022 ããŒãã ãä»»æã®ããŒãã§åé¡ãªã ãã®åŸãlocalhost:10022 ã«å¯Ÿã㊠Tera Term / PuTTY ç ãã SSH ã¢ã¯ã»ã¹ããããšã§ VM ãžãã°ã€ã³ããããšãã§ããŸãããã ããäºåã« VM ãžå
¬ééµã®ç»é²ãå¿
èŠã§ãã ãªã¢ãŒããã¹ã¯ãããïŒRDPïŒ ãªã¢ãŒããã¹ã¯ãããïŒRDPïŒã®å Žåã¯ããã£ããã¯ã©ã€ã¢ã³ããœããã䜿ã£ãŠå©çšè
ã® PC ãã IAP ãŸã§ãã³ãã«ãäœæããŸããåè¿°ã®ãSSH ã¿ãŒããã«ãœãããŠã§ã¢ããããšåãèŠé ã§ãã gcloud compute start-iap-tunnel ${INSTANCE_NAME} 3389 \ --local-host-port = localhost:13389 \ --zone = ${ZONE} â» ${INSTANCE_NAME} ã¯ã€ã³ã¹ã¿ã³ã¹åã«çœ®ãæã â» ${ZONE} ã¯ã€ã³ã¹ã¿ã³ã¹ãé
眮ãããŠãããŸãŒã³åã«çœ®ãæã äŸ: asia-northeast1-b â» äŸã§ã¯ 10022 ããŒãã ãä»»æã®ããŒãã§åé¡ãªã ãã®ã³ãã³ããå®è¡ããããšã§ãããŒã«ã« PC ãš IAP ã®éã§ãã³ãã«ãäœæãããŸãããã®ç¶æ
ã§ããŒã«ã«ã® 13389 ããŒããžã¢ã¯ã»ã¹ãããšãIAP ãžéä¿¡ãã«ãŒããããŸãã RDP ããŒã«ãéã㊠localhost:13389 ãžã¢ã¯ã»ã¹ããã°ãã€ã³ã¹ã¿ã³ã¹ãž RDP ã§ããŸãã åè : TCP 転éã§ã® IAP ã®äœ¿çš - RDP æ¥ç¶ã®ãã³ããªã³ã° Chromebook ã§ IAP Tunnel ãäœæããæ¹æ³ ã䜿ãã®ç«¯æ«ã Chromebook ã®å ŽåãIAP ãå©çšããŠãã³ãã«ãäœæããSSH ã RDP ãè¡ãæ¹æ³ã«ã€ããŠã以äžã®èšäºããåç
§ãã ããã blog.g-gen.co.jp ææ å銬 (èšäºäžèЧ) å·è¡åœ¹å¡ CTO / ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³éš éšé· å
èŠå¯å®ãšããçµæŽãæã€çŸ IT ãšã³ãžãã¢ãã¯ã©ãŠã管çã»éçšããããã¯ãŒã¯ã«ç¥èŠãAWS 12è³æ ŒãGoogle Cloudèªå®è³æ Œ11è³æ ŒãX (æ§ Twitter) ã§ã¯ Google Cloud ã AWS ã®ã¢ããããŒãæ
å ±ãã€ã¶ãããŠããŸãã Follow @y_sugi_it
G-genã®ææã§ããGoogle CloudïŒæ§ç§° GCPïŒã® Identity and Access Management ïŒç¥ç§° IAMïŒã¯ Google Cloud ã®ã¢ã¯ã»ã¹å¶åŸ¡ãåžãä»çµã¿ã§ããæ¬èšäºã§ã¯ãIAM ã®åºæ¬çãªä»çµã¿ã解説ãã詳现ãªä»æ§ãè§£ãæãããŠãããŸãã IAM ãšã¯ IDïŒã¢ã«ãŠã³ãïŒ Google Cloud ã«ãããã¢ã«ãŠã³ã管ç AWS ã® IAM ãŠãŒã¶ãŒãšã®éã Google ã¢ã«ãŠã³ã Google ã°ã«ãŒã ãµãŒãã¹ã¢ã«ãŠã³ã IAM ã®ä»çµã¿ IAM ãšãªãœãŒã¹ã®é¢ä¿ ç¶æ¿ ããŒã«ãã€ã³ãã£ã³ã°ïŒrole bindingsïŒ èš±å¯ãšæåŠ ããªã³ã·ãã«ã¢ã¯ã»ã¹å¢çããªã·ãŒ IAM ããªã·ãŒã®æ§é gcloud ã³ãã³ãã«ããèš±å¯ããªã·ãŒç·šé IAM ããŒã« IAM ããŒã«ãšã¯ åºæ¬ããŒã« äºåå®çŸ©ããŒã« ã«ã¹ã¿ã ããŒã« ããŒã«ã®æã€æš©é ããŒã«ã®æ¢ãæ¹ ãã©ãã«ã·ã¥ãŒãã£ã³ã° æ°ããåºæ¬ããŒã« ãµãŒãã¹ã¢ã«ãŠã³ã ãµãŒãã¹ã¢ã«ãŠã³ããšã¯ ãµãŒãã¹ã¢ã«ãŠã³ãã®å©çš ãµãŒãã¹ã¢ã«ãŠã³ãããŒã®æ³šæç¹ ãµãŒãã¹ã¢ã«ãŠã³ãã®æš©éåçš ãµãŒãã¹ãšãŒãžã§ã³ã PAM ã«ããç¹æš©ç®¡ç AWS IAM ãšã®æ¯èŒãšé£æº æŠèŠ IDïŒIAM ãŠãŒã¶ãŒïŒ æŠå¿µã®éã çšèªã®éã AWS IAM ãš Google Cloud IAM ã®é£æº IAM ãšã¯ Identity and Access Management ïŒIAMïŒãšã¯ Google Cloud ãªãœãŒã¹ã«å¯Ÿããã¢ã¯ã»ã¹å¶åŸ¡ãåžãä»çµã¿ã§ãã IAM ã¯ãGoogle Cloud ãªãœãŒã¹ã«å¯ŸããŠã 誰ããã©ãããæ¡ä»¶ã§ãäœãã§ããã ã管çããŸãã ããã§ã® ãªãœãŒã¹ ãšã¯ãCompute Engine ã® VM ã BigQuery ã®ããŒãã«ãªã©ãGoogle Cloud ã®ãªããžã§ã¯ãã®1ã€1ã€ãæããŠããŸãããããã«å¯Ÿããæäœæš©éãå®çŸ©ããä»çµã¿ã IAM ã§ãã åè : IAM ã®æŠèŠ IDïŒã¢ã«ãŠã³ãïŒ Google Cloud ã«ãããã¢ã«ãŠã³ã管ç IAM ãçè§£ããã«ã¯ Google Cloud ã«ããã ID 管çïŒã¢ã«ãŠã³ã管çïŒãçè§£ããå¿
èŠããããŸãã Google Cloud ã®ç®¡çã³ã³ãœãŒã«ã«ãã°ã€ã³ããã CLI ããŒã«ãå®è¡ããããã®ãŠãŒã¶ãŒã¢ã«ãŠã³ãã¯ãGoogle Cloud ã§ã¯ Google ã¢ã«ãŠã³ã ãšåŒã°ããŸãã 管ççšã¢ã«ãŠã³ããšããŠãç¡åã® Gmail ã¢ã«ãŠã³ãã䜿ãããšããGoogle WorkspaceïŒæ§ GSuiteïŒã Cloud Identity ãšãã£ãä»çµã¿ã§éäžç®¡çãããã¢ã«ãŠã³ãã䜿ãããšãã§ããŸãã AWS ã® IAM ãŠãŒã¶ãŒãšã®éã Amazon Web ServicesïŒä»¥äžãAWSïŒããåç¥ã®æ¹ã®ããã«ãGoogle ã§ã®ã¢ã«ãŠã³ã管çãšãAWS ã® IAM ãŠãŒã¶ãŒãšã®éããã玹ä»ããŸãã AWS ã«ããã ID 㯠IAM ãŠãŒã¶ãŒ ãšåŒã°ãã AWS ã¢ã«ãŠã³ãïŒããã³ãïŒã®äžã§ç®¡çãããŸããã€ãŸã AWS ã§ã¯ãIAM ãŠãŒã¶ãŒèªäœãã¯ã©ãŠããªãœãŒã¹ã§ããäžæ¹ã® Google Cloud ã§ã¯ãã¢ã«ãŠã³ãã¯ã¯ã©ãŠããªãœãŒã¹ã§ã¯ãªããGoogle Cloud ããåé¢ãããŠãããGoogle Workspace ã Cloud Identity ãšãã£ãå¥ãµãŒãã¹ã§ç®¡çãããŸãã ã§ããããæ¢ã« Google Workspace ã䜿ã£ãŠããå ŽåãGoogle Workspace ã®ãŠãŒã¶ãŒã¢ã«ãŠã³ãããã®ãŸãŸ Google Cloud ã®ç®¡ççšã¢ã«ãŠã³ããšããŠå©çšã§ããŸãã Google Workspace ã䜿ã£ãŠããªãå Žåã¯ãCloud Identity ãšãããµãŒãã¹ïŒFree ãšãã£ã·ã§ã³ã§ã¯50ã¢ã«ãŠã³ããŸã§ç¡åïŒã§ çµç¹ ãäœããã¢ã«ãŠã³ãã管çããããšãã§ããŸãã ID 管çã®éã Google ã¢ã«ãŠã³ã Google Workspace ã§ã Cloud Identity ã§ããã¢ã«ãŠã³ãå㯠john@example.com ã®ããã«ã¡ãŒã«ã¢ãã¬ã¹åœ¢åŒã§ãã Google ã¢ã«ãŠã³ã㯠1人ã«å¯ŸããŠ1åã〠ãçºè¡ãããããšãååã§ããè€æ°äººã§äœ¿ãåãå
±çšã¢ã«ãŠã³ããäœæããŠããŸããšãããã¹ã¯ãŒãã®æŒæŽ©ããã€ã³ã·ãã³ãã®éã«ç£æ»ãã°ããå®è¡è
ãç¹å®ã§ããªãïŒããã«ããå
éšç¯ã«å¯Ÿããææ¢åäœäžïŒããªã©ã®ãªã¹ã¯ããããŸãã ãªããå人㮠Google ã¢ã«ãŠã³ãïŒGmail ã¢ã«ãŠã³ãïŒã Google Cloud çšã¢ã«ãŠã³ããšããŠæš©éãæãããããšãå¯èœã§ãã ãã ãäŒæ¥ã§ Google Cloud ãå©çšããå Žåã¯ãç¡åã¢ã«ãŠã³ãã§ã¯ãªãã Google Workspace ã Cloud Identity ã®å©çšãåŒ·ãæšå¥š ãããŸããç¡å Google ã¢ã«ãŠã³ãã ãšãã°ã«ãŒãã«ããæš©é管çããçµç¹ã®ããªã·ãŒãªã©ã®åŒ·åãªã»ãã¥ãªãã£æ©èœãå©çšã§ããªãããã§ãã Google ã¢ã«ãŠã³ãã«ã€ããŠã®è©³çްã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp Google ã°ã«ãŒã Google Workspace ã Cloud Identity ã§ã¯ã Google ã°ã«ãŒã ïŒãŸãã¯åã« ã°ã«ãŒã ïŒãäœæããŠãã¢ã«ãŠã³ããã°ã«ãŒãã«æå±ãããããšãã§ããŸãã ã°ã«ãŒã㯠admin-grp@example.com ã®ããã«ã¡ãŒã«ã¢ãã¬ã¹åœ¢åŒã§ãããã¢ã«ãŠã³ããšåæ§ã«ãGoogle Cloud ãªãœãŒã¹ã«æš©éãçŽã¥ããããšãã§ããŸãããªãã°ã«ãŒãã¯ãGoogle Workspace ã«ãããŠã¯ã¡ãŒãªã³ã°ãªã¹ããšããŠãå©çšã§ããŸãã ã°ã«ãŒãã¯ãGoogle WorkspaceïŒCloud IdentityïŒã®ç®¡çã³ã³ãœãŒã«ïŒ https://admin.google.com/ ïŒããGoogle Workspace ã®ãGoogle ã°ã«ãŒããç»é¢ïŒ https://groups.google.com/ ïŒã§ç®¡çã§ããã»ããé©åãªæš©éãæã£ãŠããã° Google Cloud ã³ã³ãœãŒã«ãã管çããããšãå¯èœã§ãã åè : ã°ã«ãŒããäœæããã°ã«ãŒãèšå®ãéžæãã åè : Google Cloud ã³ã³ãœãŒã«ã§ Google ã°ã«ãŒããäœæããŠç®¡çãã ãµãŒãã¹ã¢ã«ãŠã³ã Google Cloud ã«ã¯ ãµãŒãã¹ã¢ã«ãŠã³ã ãšããæŠå¿µããããŸãã ãµãŒãã¹ã¢ã«ãŠã³ãã¯ãGoogle ã¢ã«ãŠã³ããšã¯ç°ãªãã人éã§ã¯ãªãããã°ã©ã ãå©çšããã¢ã«ãŠã³ãã§ããããã°ã©ã ãã Google Cloud ã®åçš®ãµãŒãã¹ãæäœããéã¯ããµãŒãã¹ã¢ã«ãŠã³ãã«æš©éãæãããŠããµãŒãã¹ã¢ã«ãŠã³ãã®èªèšŒæ
å ±ã§èªèšŒã»èªå¯ãè¡ããŸãã ãŸãããµãŒãã¹ã¢ã«ãŠã³ãã¯Google ã¢ã«ãŠã³ããšã¯ç°ãªãã Google Cloud ãªãœãŒã¹ ã§ãããµãŒãã¹ã¢ã«ãŠã³ãã¯ããããã® Google Cloud ãããžã§ã¯ãå
ã«ããªãœãŒã¹ãšããŠäœæãããŸãã ãµãŒãã¹ã¢ã«ãŠã³ãã®è©³çްã«ã€ããŠã¯åŸè¿°ããŸãã åè : ãµãŒãã¹ ã¢ã«ãŠã³ãã®æŠèŠ IAM ã®ä»çµã¿ IAM ãšãªãœãŒã¹ã®é¢ä¿ Google Cloud ã® IAM ã§æãéèŠãªã®ã¯ã IAM æš©éã¯ããªã³ã·ãã«ïŒäž»äœïŒãšãªãœãŒã¹ã®éã«çŽã¥ããã®ã§ãã ãšããç¹ã§ãã ãªãœãŒã¹ãšIAMã®é¢ä¿ Google Cloud ã§ã¯ãã誰ãïŒGoogleã¢ã«ãŠã³ããã°ã«ãŒãçãç·ç§°ããŠããªã³ã·ãã«ãšåŒã°ããïŒããäœãã§ãããïŒIAM ããŒã«ïŒããšããæš©éèšå®æ
å ±ãã ãªãœãŒã¹ãæã¡ ãŸããåã
ã®ãªãœãŒã¹ãæã€ãã®æš©éèšå®ãã IAM ããªã·ãŒ ãšãããŸãã ãªãœãŒã¹ãšã¯ Compute Engine VM ããBigQuery ããŒã¿ã»ãããªã©ãæããŸããGoogle Cloud ãããžã§ã¯ãããªãœãŒã¹ã§ãããçµç¹ããªãœãŒã¹ã§ããç¹ã«æ³šæãå¿
èŠã§ãã åŸã«è©³ããèšè¿°ããŸãããäžæ¹ã® AWS ã§ã¯ãåã
ã® ããªã³ã·ãã«ã ããäœã«å¯ŸããŠããäœãã§ãããããšããæš©éèšå®æ
å ±ãæã¡ãŸããã€ãŸãã äž»èªã¯ IAM ãŠãŒã¶ãŒãªã©ã®äž»äœ ã§ããããã Google Cloud ãš AWS ã®å€§ããªçžéç¹ã§ãã ç¶æ¿ äžäœã®ãªãœãŒã¹ã«æš©éãçŽã¥ãããšãäžäœã®ãªãœãŒã¹ã« ç¶æ¿ ïŒinheritïŒãããŸãã äŸãã°ã Google Cloud çµç¹ ã®ãããããŒãïŒçµç¹ããªãŒã®æäžäœã®ããšãã«ãŒããšãèšãïŒã«å¯ŸããŠãã ããªã³ã·ãã« : XXX@example.com ãã IAM ããŒã« : ãªãŒã㌠ããšããæš©éãçŽã¥ãããšããŸãããã®ãšã XXX@example.com ããã¯ãã®çµç¹ã®é
äžã«ããå
šãŠã®ãªãœãŒã¹ïŒãã©ã«ãããããžã§ã¯ããVM ã€ã³ã¹ã¿ã³ã¹ã BigQuery ããŒã¿ã»ããïŒã«ãªãŒããŒæš©éãè¡äœ¿ããããšãã§ããŸãã äžæ¹ã§ããããããžã§ã¯ãã«å¯ŸããŠã ããªã³ã·ãã« : XXX@example.com ãã IAM ããŒã« : ãªãŒã㌠ããšããæš©éãçŽã¥ãããšãXXX@example.com ããã¯ãã®ãããžã§ã¯ãé
äžã«ããå
šãŠã®ãªãœãŒã¹ïŒVM ã€ã³ã¹ã¿ã³ã¹ã BigQuery ããŒã¿ã»ããïŒã«ãªãŒããŒæš©éãè¡äœ¿ããããšãã§ããŸãããä»ã®ãããžã§ã¯ãã«å¯ŸããŠã¯æš©éãåã³ãŸããã ç¶æ¿ ãŸãäŸãã°ããã VM ã€ã³ã¹ã¿ã³ã¹ã«ãªãŒããŒæš©éãä»äžãããšãXXX@example.com ãã㯠ãã® VM ã«ã ããªãŒããŒæš©éãè¡äœ¿ã§ã ãŸããä»ã®ãªãœãŒã¹ãæäœãããé²èЧããããšã¯ã§ããŸããã ãã®ä»çµã¿ãçè§£ã§ããã°ã äœã«ã©ããªæš©éä»äžãããšãã©ããŸã§å¹æãåã¶ã®ã ãçè§£ã§ããŸãã åè : ãªãœãŒã¹éå±€ã䜿çšããã¢ã¯ã»ã¹å¶åŸ¡ Google Cloud ã®çµç¹ã®è©³çްã«ã€ããŠã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp ããŒã«ãã€ã³ãã£ã³ã°ïŒrole bindingsïŒ Google Cloud ã® IAM ã§ã¯ãåè¿°ã®ããã«ããªãœãŒã¹ã«å¯ŸããŠã誰ãäœãã§ããããèšå®ããŸããäŸãã°ãããããžã§ã¯ãã«å¯ŸããŠã ããªã³ã·ãã« : XXX@example.com ãã IAM ããŒã« : ãªãŒã㌠ãã®ããã«ãæš©éãçŽã¥ããŸãããã®çŽã¥ãã ããŒã«ãã€ã³ãã£ã³ã° ïŒrole bindingsïŒããŸãã¯åã«ãã€ã³ãã£ã³ã°ãšåŒã³ãŸããbinding ãšã¯ããçŽã¥ãããçµåããšãã£ãæå³ã®è±åèªã§ãã ãããªãœãŒã¹ã«ã¯ãè€æ°ã®ããŒã«ãã€ã³ãã£ã³ã°ãèšå®ã§ããŸããäŸãã°ããããããžã§ã¯ãã«ã以äžã®ããã«è€æ°ã®ãã€ã³ãã£ã³ã°ãäœæã§ããŸãã ãããããžã§ã¯ãã®ãã€ã³ãã£ã³ã°äžèЧ ããªã³ã·ãã« ããŒã« XXX@example.com ãªãŒããŒïŒ roles/owner ïŒ YYY@example.com Compute 管çè
ïŒ roles/compute.admin ïŒ YYY@example.com ã¹ãã¬ãŒãžç®¡çè
ïŒ roles/storage.admin ïŒ Google Cloud ã³ã³ãœãŒã«ã§ããããããžã§ã¯ããéžæããŠããç¶æ
ã§ãIAM ãšç®¡ç > IAMãç»é¢ãžé·ç§»ãããšè¡šç€ºãããäžèЧã¯ããã®ãããžã§ã¯ãã®ãã€ã³ãã£ã³ã°ã®äžèЧã§ããããã«èšå®ããããã€ã³ãã£ã³ã°ã¯ããã®ãããžã§ã¯ãã®é
äžã«ãããã¹ãŠã®ãªãœãŒã¹ã«ç¶æ¿ãããŸãã ãããããžã§ã¯ãã®ãã€ã³ãã£ã³ã°äžèЧ èš±å¯ãšæåŠ Google Cloud ã® IAM ã§ã¯ããã¹ãŠã®ãªãœãŒã¹ã¯ãããã©ã«ãã§ ãã¹ãŠã®ã¢ã«ãŠã³ãããã®æäœãæåŠ ããŸãïŒ æé»ã® Deny ïŒããªãœãŒã¹ã® IAM ããªã·ãŒã«å¯ŸããŠãã€ã³ãã£ã³ã°ã远å ããããšã§ãããªã³ã·ãã«ã«å¯ŸããŠãã¢ã¯ã·ã§ã³å®è¡ã® èš±å¯ ãæç€ºçã«äžããããšãã§ããŸãïŒ æç€ºç㪠Allow ïŒã ãŸãã æåŠããªã·ãŒ ïŒDeny policiesïŒã IAM ããªã·ãŒïŒèš±å¯ããªã·ãŒïŒãšã¯å¥ã«äœæããããšã§ã æç€ºç㪠Deny ãèšå®ããããšãå¯èœã§ããããªã·ãŒã®è©äŸ¡é ã¯ã æç€ºç㪠Deny > æç€ºç㪠Allow > æé»ã® Deny ãã§ãããæç€ºç㪠Deny ãæã匷ãã§ãã ãã®ããããªã·ãŒèšèšæã¯ãåºæ¬çã«ã¯ ãæç€ºç㪠Allowããä»äžãããããªãã§ç®¡çããããšãåºæ¬ ãšããã©ãããŠãåŒ·ãæš©éã§æåŠããããšãã ããæç€ºç㪠Deny ã䜿ãããšãã£ãææ³ãè¯ãã§ãããã æåŠããªã·ãŒã¯åŒ·åãªããã宿ã«äœ¿ããšåŸããä¿®æ£ãé£ãããªãå ŽåããããŸããæåŠããªã·ãŒã®èšå®ã¯å¿
é ã§ã¯ãããŸãããååã¯ãŸãèš±å¯ããªã·ãŒïŒIAM ããªã·ãŒïŒã ãã§ã¢ã¯ã»ã¹å¶åŸ¡ãèšèšããããæ€èšããŠãã ããã æåŠããªã·ãŒã®è©³çްã«ã€ããŠã¯ä»¥äžã®èšäºã§è§£èª¬ããŠããŸãã blog.g-gen.co.jp ããªã³ã·ãã«ã¢ã¯ã»ã¹å¢çããªã·ãŒ ããªã³ã·ãã«ã¢ã¯ã»ã¹å¢çããªã·ãŒ ïŒPrincipal access boundary policiesïŒã¯ãèš±å¯ããªã·ãŒãšæåŠããªã·ãŒã«ç¶ã3ã€ç®ã®ããªã·ãŒã§ãã èªçµç¹ã®ã¢ã«ãŠã³ãããä»ã® Google Cloud çµç¹ã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããªãããå¶éããããããšãã§ããŸããèšå®ã¯å¿
é ã§ã¯ãããŸããã詳现ã¯ã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp IAM ããªã·ãŒã®æ§é IAM ããªã·ãŒïŒèš±å¯ããªã·ãŒïŒã®æ§é ãã玹ä»ããŸãã å
šãŠã®ãªãœãŒã¹ïŒçµç¹ããã©ã«ãããããžã§ã¯ããVM ã€ã³ã¹ã¿ã³ã¹ã BigQuery ããŒã¿ã»ããïŒã¯ èš±å¯ããªã·ãŒ ã1ã€ã ãæã£ãŠããŸããèš±å¯ããªã·ãŒã¯ãåã« IAM ããªã·ãŒãšåŒã°ããããšããããŸãããAWS ã® IAM ããªã·ãŒãšã¯å
šãå¥ç©ã®ãããæ³šæãå¿
èŠã§ãã èš±å¯ããªã·ãŒã®æ§é èš±å¯ããªã·ãŒã¯ 1ã€ã®ãªãœãŒã¹ã1ã€ã ã æã£ãŠããŸããèš±å¯ããªã·ãŒã¯ãã®äžã«ãè€æ°ã®ããŒã«ãã€ã³ãã£ã³ã°ïŒãŸãã¯åã«ãã€ã³ãã£ã³ã°ïŒãæã€ããšãã§ããŸãã ãã€ã³ãã£ã³ã°ã¯ã 誰ã ïŒGoogle ã¢ã«ãŠã³ããã°ã«ãŒãããµãŒãã¹ã¢ã«ãŠã³ãçãç·ç§°ããŠããªã³ã·ãã«ãã¡ã³ããŒãšåŒã°ããïŒãã äœã ïŒIAM ããŒã«ïŒãã ã©ãããæ¡ä»¶ã®ãšãã« ïŒconditionïŒãå®è¡ã§ããã®ãããšããæ
å ±ãæã¡ãŸãã äžèšã®å³ã§ã¯ã it-grp@example.com ã¯ãçµç¹ãšãã®é
äžã®ãã¹ãŠã®ãªãœãŒã¹ã«å¯ŸããŠããªãŒããŒïŒ roles/owner ïŒããŒã«ã®æš©éãæã¡ãŸãããŸãã john@example.com ã¯ãinstance-01 ã«å¯ŸããŠã®ã¿ãã³ã³ãã¥ãŒã管çè
ïŒ roles/compute.admin ïŒã®æš©éãæã¡ãŸããæ¡ä»¶ïŒconditionïŒã®èšè¿°ã«åŸãã2025幎4æ30æ¥ã«æš©éã¯ç¡å¹ã«ãªããŸãã ãããªãœãŒã¹ã® IAM ããªã·ãŒã JSON ãã©ãŒãããã§åºåãããšã以äžã®ããã«ãªããŸãã { " bindings ": [ { " members ": [ " user:jie@example.com " ] , " role ": " roles/resourcemanager.organizationAdmin " } , { " members ": [ " user:divya@example.com ", " user:jie@example.com " ] , " role ": " roles/resourcemanager.projectCreator ", " condition ": { " title ": " Expires_July_1_2022 ", " description ": " Expires on July 1, 2022 ", " expression ": " request.time < timestamp('2022-07-01T00:00:00.000Z') " } } ] , " etag ": " ******** ", " version ": 1 } ãã®ããã«ã1ã€ã®èš±å¯ããªã·ãŒã®äžã«ãé
åã§è€æ°ã®ãã€ã³ãã£ã³ã°ãå
¥ã£ãŠããŸãããã€ã³ãã£ã³ã°ã®äžã«ã¯ãã©ãããæ¡ä»¶ïŒconditionïŒã§èª°ãïŒã¡ã³ããŒïŒäœãã§ããïŒIAM ããŒã«ïŒã®ããèšè¿°ãããŠããããšããããšãåãããŸãã åè : èš±å¯ããªã·ãŒã«ã€ã㊠gcloud ã³ãã³ãã«ããèš±å¯ããªã·ãŒç·šé ãããŸã§åããã°ãã³ãã³ãã©ã€ã³ããŒã« gcloud ã§ IAM æš©éãä»äžãããšãã¯ã以äžã®ããã«ããçç±ãåããã§ãããã ãããžã§ã¯ãã¬ãã«ã§ IAM æš©éãä»äžãããšã gcloud projects add-iam-policy-binding my-project-id --member =' user:test-user@gmail.com ' --role = roles/resourcemanager.projectCreator ` VM ã€ã³ã¹ã¿ã³ã¹ã« IAM æš©éãä»äžãããšã gcloud compute instances add-iam-policy-binding my-instance --zone = asia-northeast1-b --member =' user:test-user@gmail.com ' --role =' roles/compute.securityAdmin ' äžèšã®ã³ãã³ãã§ã¯ãåãªãœãŒã¹ã®èš±å¯ããªã·ãŒã«å¯Ÿã㊠add-iam-policy-binding ãããããšã§ããã€ã³ãã£ã³ã°ã远å ããŠããã®ã§ãã IAM ããŒã« IAM ããŒã«ãšã¯ IAM ããŒã« ãšã¯ãGoogle Cloud ãªãœãŒã¹ãžã®ã¢ã¯ã·ã§ã³ã«å¯Ÿããèš±å¯æš©éããŸãšããã æš©éã»ãã ã§ããAWS ã«ããIAM ããŒã«ããšããçšèªããããŸããããŸã£ããå¥ç©ã§ãã®ã§ã泚æãå¿
èŠã§ãã ã»ãã®äžéšã®æç²ã§ãããGoogle Cloud ã® IAM ããŒã«ã«ã¯ã以äžã®ãããªãã®ããããŸãã åç§° ID æš©éã®å
容 ãªãŒã㌠roles/owner ã»ãšãã©ã® Google Cloud ãªãœãŒã¹ã«å¯Ÿããç·šéã»èªã¿åã Compute 管çè
roles/compute.admin å€ãã® Compute Engine ãªãœãŒã¹ã«å¯Ÿããç·šéã»èªã¿åã ã¹ãã¬ãŒãžç®¡çè
roles/storage.admin Cloud Storage ãã±ããããªããžã§ã¯ãã«å¯Ÿããç·šéã»èªã¿åã Storage ãªããžã§ã¯ãé²èЧè
roles/storage.objectViewer Cloud Storage ãªããžã§ã¯ãã®ããŒã¿ãã¡ã¿ããŒã¿ã«å¯Ÿããèªã¿åã äžèšã®ãããªããŒã«ããèš±å¯ããªã·ãŒã«ãããŠããªã³ã·ãã«ãšçŽã¥ããããšã§ãããªã³ã·ãã«ã¯ãªãœãŒã¹ã«å¯ŸããŠãããŒã«ã«å®çŸ©ãããæš©éãæã€ããšãã§ããŸãã 倧ããåããŠãIAM ããŒã«ã«ã¯ä»¥äžã®3çš®é¡ããããŸãã çš®é¡ æŠèŠ åºæ¬ããŒã« ãªãŒããŒãç·šéè
ãé²èЧè
ã®3ã€ãåºç¯ãªæš©éãæã€ããŒã« äºåå®çŸ©ããŒã« ç¹å®ã® Google Cloud ãµãŒãã¹ã«éå®ãããæš©éãæã€ããŒã« ã«ã¹ã¿ã ããŒã« ãŠãŒã¶ãŒãç¬èªã«å®çŸ©ã§ããããŒã« åè : ããŒã«ãšæš©é åºæ¬ããŒã« åºæ¬ããŒã« ã¯ããªãŒããŒãç·šéè
ãé²èЧè
ã®3ã€ãæããŸããåºæ¬ããŒã«ã¯ãå€ãã® Google Cloud ãµãŒãã¹ã«å¯ŸããŠåºãæš©éãæã¡ãŸãã ãªãŒããŒ ïŒ roles/owner ïŒã¯ãã»ãšãã©ã® Google Cloud ãµãŒãã¹ã«å¯ŸããŠãç·šéãèªã¿åãã®æš©éãæã£ãŠããŸãããããžã§ã¯ãã«å¯ŸããŠããªã³ã·ãã«ããªãŒããŒããŒã«ãšããŠçŽã¥ãããšãããªã³ã·ãã«ã¯ãããžã§ã¯ãããã®é
äžã®ãªãœãŒã¹ã«å¯ŸããŠãã»ãšãã©ã®æäœãå®è¡ã§ããããã«ãªããŸãããŸãããªãœãŒã¹ã® IAM ããªã·ãŒãç·šéããæš©éããããŸãã ç·šéè
ïŒ roles/editor ïŒã¯ããªãŒããŒãšåæ§ãã»ãšãã©ã® Google Cloud ãµãŒãã¹ã«å¯ŸããŠãç·šéãèªã¿åãã®æš©éãæã£ãŠããŸãããã ããIAM ããªã·ãŒã®ç·šéæš©éãæããªãããããªãŒããŒããã¯æš©éç¯å²ãçããªããŸãã é²èЧè
ïŒ roles/editor ïŒã¯ãã»ãšãã©ã® Google Cloud ãµãŒãã¹ã«å¯Ÿããèªã¿åãæš©éãæã¡ãŸãããªãœãŒã¹ã®ç¶æ
ã倿Žããæš©éã¯æã¡ãŸããããã ããCloud Storage ã BigQuery ãªã©ãæ©å¯æ
å ±ãæã¡åŸããªãœãŒã¹ã®ããŒã¿ãèªã¿åãããšãã§ãããããåºãæš©éç¯å²ãæã€ããšã«å€ããã¯ãããŸããã ãã®ããã«åºæ¬ããŒã«ã¯ãåºç¯ãªæš©éãæã€ããã æåæš©éã®åå ã«åŸããšãæ¬çªç°å¢ã§ã¯ã§ããã ãå©çšãæ§ããã»ããããå ŽåããããŸãã åè : ããŒã«ãšæš©é - åºæ¬ããŒã« äºåå®çŸ©ããŒã« äºåå®çŸ©ããŒã« ã¯ãGoogle ã«ãã£ãŠäºåå®çŸ©ããããGoogle Cloud ãµãŒãã¹ããšã®ããŒã«ã§ãã以äžã®ãããªããŒã«ãåœãŠã¯ãŸããŸãã åç§° ID æš©éã®å
容 Compute 管çè
roles/compute.admin å€ãã® Compute Engine ãªãœãŒã¹ã«å¯Ÿããç·šéã»èªã¿åã ã¹ãã¬ãŒãžç®¡çè
roles/storage.admin Cloud Storage ãã±ããããªããžã§ã¯ãã«å¯Ÿããç·šéã»èªã¿åã Storage ãªããžã§ã¯ãé²èЧè
roles/storage.objectViewer Cloud Storage ãªããžã§ã¯ãã®ããŒã¿ãã¡ã¿ããŒã¿ã«å¯Ÿããèªã¿åã Cloud Run 管çè
roles/run.admin Cloud Run ãªãœãŒã¹ã«é¢ãããã¹ãŠã®æäœ Cloud Run ããããã㌠roles/run.developer Cloud Run ãªãœãŒã¹ã®ãããã€ãé²èЧãªã© äºåå®çŸ©ããŒã«ã¯å€ãã®å ŽåãGoogle Cloud ãµãŒãã¹ããšã«å®çŸ©ãããŠããã管çè
ãéçºè
ãé²èЧè
ã®ããŒã«ã容æãããŠããããšãã»ãšãã©ã§ããæ¬çªç°å¢ã§ãã现ããæš©é管çãè¡ãã«ã¯ãäºåå®çŸ©ããŒã«ã䜿ãããšãäžè¬çã§ãã åè : ããŒã«ãšæš©é - äºåå®çŸ©ããŒã« ã«ã¹ã¿ã ããŒã« ã«ã¹ã¿ã ããŒã« ã¯ããŠãŒã¶ãŒãç¬èªã«å®çŸ©ã§ããããŒã«ã§ãããã现ããæš©é管çãå¿
èŠãªå Žåã§ãé©åãªäºåå®çŸ©ããŒã«ãååšããªãéã¯ããŠãŒã¶ãŒç¬èªã®ããŒã«ãå®çŸ©ããããšãã§ããŸãã ã«ã¹ã¿ã ããŒã«ã¯çµç¹ãŸãã¯ãããžã§ã¯ãã«æå±ãããªãœãŒã¹ã§ãããããŒã«ãäœæããçµç¹ãŸãã¯ãããžã§ã¯ãã«ã®ã¿ä»äžã§ããŸãã åè : ããŒã«ãšæš©é - ã«ã¹ã¿ã ããŒã« ããŒã«ã®æã€æš©é ããŒã«ã®äžã«ã¯ã æš©é ïŒpermissionsïŒãå®çŸ©ãããŠããŸããäŸãã°ãCompute 管çè
ïŒ roles/compute.admin ïŒããŒã«ã«ã¯ã以äžã®ãããªæš©éãå«ãŸããŠããŸãã compute.instances.create compute.instances.get compute.instances.list compute.instances.delete compute.instances.start compute.instances.stop ããŒã«ã«å«ãŸããæš©éã«ããããã®ããŒã«ãä»äžãããããªã³ã·ãã«ãå®è¡å¯èœãªã¢ã¯ã·ã§ã³ã決ãŸããŸãã ããŒã«ã®æ¢ãæ¹ äºåå®çŸ©ããŒã«ã®äžèЧã¯ã以äžã®ãªãã¡ã¬ã³ã¹ããã¥ã¡ã³ãã«èšèŒãããŠããŸããäžé£ã®ãªãã¡ã¬ã³ã¹ããã¥ã¡ã³ãã§ã¯ãGoogle Cloud ãµãŒãã¹ããšã« IAM ããŒã«ãæŽçãããŠããããŸãããŒã«ãæã€æš©éïŒpermissionsïŒãèšèŒãããŠããŸãã åè : IAM roles and permissions index ãŸãå Google Cloud ãµãŒãã¹ã®å
¬åŒã¬ã€ãã«ã¯ããã®ãµãŒãã¹ã«é¢é£ãã IAM ããŒã«ã®ããã¥ã¡ã³ããçšæãããŠããŸãããã¡ãã«ã¯ãäžèšã®ãªãã¡ã¬ã³ã¹ããã詳ãããŠãŒã¹ã±ãŒã¹ãªã©ãèšèŒãããŠããå ŽåããããŸãã åè : Compute Engine IAM ã®ããŒã«ãšæš©é åè : Cloud Storage ã«é©çšããã IAM ã®ããŒã« åè : Cloud Run IAM roles ãŸããGoogle Cloud ã³ã³ãœãŒã«ã®ãIAM ãšç®¡ç > ããŒã«ãç»é¢ã§ããåºæ¬ããŒã«ãäºåå®çŸ©ããŒã«ãã«ã¹ã¿ã ããŒã«ã®äžèЧã確èªã§ããŸãããã®ç»é¢ã§ã¯ãããŒã«ã®åç§°ãIDãæã£ãŠããæš©éã確èªããããšãã§ããŸãã åè : Google Cloud ã³ã³ãœãŒã« - IAM ãšç®¡ç > ããŒã« ãã©ãã«ã·ã¥ãŒãã£ã³ã° Google Cloud ãªãœãŒã¹ãžã®æäœæã«æš©éäžè¶³ïŒPermission deniedïŒã§æäœã倱æããå Žåã¯ãå€ãã®å Žåãè¶³ããªãæš©éããšã©ãŒã¡ãã»ãŒãžã«èšèŒãããŸãã åè¿°ã®ããã¥ã¡ã³ãã䜿ã£ãŠãå¿
èŠãªæš©éãæã€ããŒã«ãæ¢ãåºããŠãããªã³ã·ãã«ã«ä»äžããããšã§å¯ŸåŠããŸãã 以äžã®èšäºãåèã«ããŠãã ããã blog.g-gen.co.jp æ°ããåºæ¬ããŒã« 2025幎5æçŸåšã§ã¯ãã¬ãã¥ãŒã§ããã3ã€ã®åºæ¬ããŒã«ãæ°ãããã®ã«å·æ°ãããŸããå°æ¥çã«ã¯ããããã®æ°ããåºæ¬ããŒã«ãæšæºã«ãªããŸãã åç§° ID æš©éã®å
容 管çè
roles/admin ã»ãšãã©ã® Google Cloud ãµãŒãã¹ã«å¯Ÿããç·šéãèªã¿åã æžã蟌㿠roles/writer ã»ãšãã©ã® Google Cloud ãµãŒãã¹ã«å¯Ÿããç·šéãèªã¿åãããã ã IAM ç·šéãé€ã èªã¿åã roles/reader ã»ãšãã©ã® Google Cloud ãµãŒãã¹ã«å¯Ÿããèªã¿åã åè : ããŒã«ãšæš©é - åºæ¬ããŒã« åŸæ¥ã®åºæ¬ããŒã«ãšãæ°ããåºæ¬ããŒã«ã§ã¯ãæš©éã®å
容ã¯ã»ãšãã©åãã§ããã埮åŠãªéãããããŸãã詳现ã¯ã以äžã®èšäºããåç
§ãã ããã blog.g-gen.co.jp ãªãããã¬ãã¥ãŒæ®µéã®ãµãŒãã¹ãæ©èœã¯ããµããŒãã SLA ã®å¯Ÿè±¡å€ã§ããã»ããäžè¬å
¬éïŒGAïŒãŸã§ã«ä»æ§ã倿Žãããå¯èœæ§ããããããæ¬çªç°å¢ã§ã®å©çšã¯æšå¥šãããŸãããæ°ããåºæ¬ããŒã«ãäžè¬å
¬éããããŸã§ã¯ãæ¬çªç°å¢ã§ã®å©çšã¯æ§ããããšãæšå¥šãããŸãã 詳现ã¯ä»¥äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp ãµãŒãã¹ã¢ã«ãŠã³ã ãµãŒãã¹ã¢ã«ãŠã³ããšã¯ ãµãŒãã¹ã¢ã«ãŠã³ã ãšã¯ã人éã§ã¯ãªãããã°ã©ã ãå©çšããã¢ã«ãŠã³ãã§ããããã°ã©ã ãã Google Cloud APIs ãå©çšããéã¯ããµãŒãã¹ã¢ã«ãŠã³ãã䜿ã£ãŠèªèšŒã»èªå¯ãè¡ããŸãããµãŒãã¹ã¢ã«ãŠã³ã㯠Google ã¢ã«ãŠã³ããšã¯ç°ãªããGoogle Cloud ãããžã§ã¯ãã®äžã«äœæããã¯ã©ãŠããªãœãŒã¹ã§ãã ãµãŒãã¹ã¢ã«ãŠã³ãã¯ã¡ãŒã«ã¢ãã¬ã¹ã®åœ¢åŒã®åç§°ãæã¡ãŸãã以äžã¯ããµãŒãã¹ã¢ã«ãŠã³ãåã®äŸã§ãã my-service-account@my-project-id.iam.gserviceaccount.com åè : ãµãŒãã¹ ã¢ã«ãŠã³ãã®æŠèŠ ãµãŒãã¹ã¢ã«ãŠã³ãã®å©çš ããã°ã©ã ãã API çµç±ã§ Google Cloud ãµãŒãã¹ãæäœããéã¯ã以äžã®ããããã®æ¹æ³ã§ããµãŒãã¹ã¢ã«ãŠã³ãã®èªèšŒæ
å ±ã䜿ã£ãŠèªèšŒããŸãã ãµãŒãã¹ã¢ã«ãŠã³ãããŒïŒJSON 圢åŒçïŒãèªã¿èŸŒãŸãã ããã°ã©ã ãåäœããå®è¡ç°å¢ïŒVM çïŒã«ãµãŒãã¹ã¢ã«ãŠã³ããã¢ã¿ãããã åè
ã®æ¹æ³ã¯ããµãŒãã¹ã¢ã«ãŠã³ãã®ç§å¯éµã JSON 圢åŒã§ããŠã³ããŒãããå®è¡ç°å¢ã«é
眮ããŠããããããã°ã©ã ããèªã¿èŸŒãŸããæ¹æ³ã§ãã åŸè
ã®æ¹æ³ã¯ãããã°ã©ã ã®å®è¡ç°å¢ã Google Cloud ç°å¢ã§ããå Žåã«ã®ã¿äœ¿ããŸããCompute Engine VM ã Cloud Run ãµãŒãã¹ãCloud Functions 颿°ãªã©ã«ã¯ãµãŒãã¹ã¢ã«ãŠã³ãã ã¢ã¿ãã ããããšãã§ããŸããCloud SDKïŒã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªïŒã gcloud ã³ãã³ãã¯ãèªèšŒæ
å ±ãæç€ºçã«æå®ããªããã°ãèªåçã«å®è¡ç°å¢ã«ã¢ã¿ããããããµãŒãã¹ã¢ã«ãŠã³ãã®èªèšŒæ
å ±ãå©çšããŸãã åè : ãµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒãã ãµãŒãã¹ã¢ã«ãŠã³ãããŒã®æ³šæç¹ ãµãŒãã¹ã¢ã«ãŠã³ãããŒãå©çšããããã°ã©ã ã®å®è¡ç°å¢ã Google Cloud ç°å¢ã§ããã°ãåæ²ã®2ã€ã®æ¹æ³ã®ãã¡ã åŸè
ã®æ¹ãåŒ·ãæšå¥š ãããŸãã ãµãŒãã¹ã¢ã«ãŠã³ãããŒã¯ JSON 圢åŒã®ããã¹ããã¡ã€ã«ã§ãããæŒæŽ©ã®å±éºæ§ããããŸããããŒãã¡ã€ã«ãæŒæŽ©ããã°ããµãŒãã¹ã¢ã«ãŠã³ããæã€æš©éãèªç±ã«è¡äœ¿ããŠãGoogle Cloud ç°å¢ãžã®äŸµå®³ãå¯èœã«ãªã£ãŠããŸããŸãã åŸè
ã®ãµãŒãã¹ã¢ã«ãŠã³ããã¢ã¿ããããæ¹æ³ã§ããã°ãããŒã®æŒæŽ©ã¯ãããŸããã åè : ä»ã«æå¹ãªæ¹æ³ããªãå Žåã«ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã䜿çšãã ãŸããçµç¹ã®ããªã·ãŒæ©èœã«ããããµãŒãã¹ã¢ã«ãŠã³ãããŒã®çºè¡èªäœãçŠæ¢ãããããšãå¯èœã§ãã以äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp ãµãŒãã¹ã¢ã«ãŠã³ãã®æš©éåçš ãµãŒãã¹ã¢ã«ãŠã³ãã®å¿çšæãšããŠã æš©éåçš ããããŸãã ä»ã®ããªã³ã·ãã«ïŒGoogle ã¢ã«ãŠã³ããä»ã®ãµãŒãã¹ã¢ã«ãŠã³ãïŒãããµãŒãã¹ã¢ã«ãŠã³ãã®æš©éãåçšã㊠Google Cloud API ãå®è¡ããããšãå¯èœã§ãã詳现ã¯ä»¥äžã®èšäºãåèã«ããŠãã ããã åè : ãµãŒãã¹ ã¢ã«ãŠã³ãã«æå¹æéã®çãèªèšŒæ
å ±ãäœæãã 以äžã®èšäºã§ã¯ Terraform ã®ã»ãã¥ã¢ãªå©çšã®ããã«ãµãŒãã¹ã¢ã«ãŠã³ãããã®æš©éåçšã掻çšããäŸã玹ä»ããŠããŸãã blog.g-gen.co.jp ãµãŒãã¹ãšãŒãžã§ã³ã ãµãŒãã¹ãšãŒãžã§ã³ã ã¯ãGoogle Cloud ãµãŒãã¹ãå
éšçã«çšãããç¹å¥ãªãµãŒãã¹ã¢ã«ãŠã³ãã§ãããããã¯ãã® API ãæå¹åãããšããªã©ã«èªåçã«äœæãããããããŠãŒã¶ãŒãæèããããšã¯ããŸããããŸããããåæèšå®æãä»çµã¿ã®æ§ç¯ã®éã«ããµãŒãã¹ãšãŒãžã§ã³ãã«å¯ŸããŠæš©éã®ä»äžãå¿
èŠã«ãªãããšããããŸãã åè : Service agents ãµãŒãã¹ãšãŒãžã§ã³ãã«ã€ããŠã¯ã以äžã®èšäºã§è©³çްã«è§£èª¬ããŠããŸãã blog.g-gen.co.jp PAM ã«ããç¹æš©ç®¡ç Privileged Access Manager ïŒPAMïŒã¯ãæ¿èªãããŒãéããŠæéä»ãã®æš©é管çãããããã®ä»çµã¿ã§ããIAM ã®1æ©èœãšããŠç¡æã§æäŸãããŠããŸãã æå®ã®æ¿èªè
ãæ¿èªãããšãã«äœæ¥è
ã« IAM æš©éãä»äžãããèšå®æéãçµéãããšãæš©éãèªåçã«å¥å¥ªãããŸããããžã£ã¹ãã»ã€ã³ã»ã¿ã€ã ããªæš©é管çãå¯èœã«ãªãä»çµã¿ã§ãã 詳现ã¯ä»¥äžã®èšäºãåç
§ããŠãã ããã blog.g-gen.co.jp AWS IAM ãšã®æ¯èŒãšé£æº æŠèŠ ãã®ç« ã§ã¯ãGoogle Cloud ã® IAM ã®ä»çµã¿ãããæ£ããçè§£ãããããAWS ã® IAM ãšã®éãã«çç®ããŠè§£èª¬ããŸãããŸããAWS ãšã® IAM ã®é£æºæ¹æ³ã«ã€ããŠã玹ä»ããŸãã AWS ãå©çšããããšããªããããããå©çšããäºå®ãç¡ãæ¹ã¯ãèªã¿é£ã°ããŠãåé¡ãããŸããã IDïŒIAM ãŠãŒã¶ãŒïŒ ãããžã¡ã³ãã³ã³ãœãŒã«ã«ãã°ã€ã³ãããã CLI ããŒã«ãå®è¡ããããã® ID ã¯ã AWS ã§ã¯ IAM ãŠãŒã¶ãŒ ãšåŒã°ãã AWS ã¢ã«ãŠã³ãïŒããã³ãïŒã®äžã§ç®¡çãããŸãã Google Cloud ã® ID ããGoogle Cloud ãšã¯åé¢ãããŠãããGoogle Workspace ã Cloud Identity ã§ç®¡çãããããšãšã¯å¯Ÿç
§çã§ãã æŠå¿µã®éã AWS IAM ã§ã¯ IAM ããªã·ãŒã§æš©éã»ããïŒã§ããããšïŒãå®çŸ©ããããã æš©éäž»äœ ïŒIAM ãŠãŒã¶ãŒãã°ã«ãŒããç·ç§°ã㊠ããªã³ã·ãã« ïŒ ã«çŽã¥ã ãŸãã å¥ã®èšèã§èšããšããã©ã®ãªãœãŒã¹ã«å¯ŸããŠããäœãã§ãããããšããæš©éå®çŸ©ã 人㫠çŽã¥ããã®ã§ãã ãã㯠Google Cloud ã® IAM ããã誰ãããäœãã§ããããã ãªãœãŒã¹ã« çŽã¥ããã®ãšã¯èããç°ãªããŸãã çšèªã®éã IAM ããªã·ãŒãIAM ããŒã«ãšãã£ãçšèªã¯äž¡ã¯ã©ãŠãã§å
±éããŠããŸãããæå³ã¯å€§ããç°ãªã£ãŠããŸããæ··åããªãããã«æ°ãä»ããŸãããã æå³ AWSã§ã®çšèª Google Cloud ã®çšèª æš©éã»ãã IAM ããªã·ãŒ IAM ããŒã« æš©éãå®è¡ãã IAM äž»äœïŒäººéïŒ IAM ãŠãŒã¶ãŒ Google ã¢ã«ãŠã³ã æš©éãå®è¡ãã IAM äž»äœïŒãµãŒãã¹ïŒ IAM ããŒã« ãµãŒãã¹ã¢ã«ãŠã³ã IAM äž»äœããŸãšããã°ã«ãŒã IAM ã°ã«ãŒã Google ã°ã«ãŒã åã
ã®ãªãœãŒã¹ãæã€æš©éèšå® (å¯Ÿå¿æŠå¿µãªã) IAM ããªã·ãŒ AWS IAM ãš Google Cloud IAM ã®é£æº Google Cloud ã® IAM ã«ã¯ Workforce Identity ããã³ Workload Identity ãšããä»çµã¿ããããŸãããããã®ä»çµã¿ã§ã¯ãOpenID ConnectïŒOIDCïŒã SAML 2.0 ã䜿ã£ãŠãå€éšã® ID ãããã€ãïŒIdPïŒãš Google Cloud ã® IAM ã飿ºãããããšãã§ããŸãã 人éã®ãŠãŒã¶ãŒåãã®é£æºæ©èœã Workforce Identityãããã°ã©ã ãªã©ã¯ãŒã¯ããŒãåãã®é£æºæ©èœã Workload Identity ã§ãã ãããã®ä»çµã¿ã䜿ããšãGoogle Cloud åŽãã AWS ã® IAM Role ãä¿¡é Œããããšã§ãGoogle Cloud ãžã® API å®è¡ãèªå¯ããããšãã§ããŸãã 詳现ã¯ä»¥äžãåç
§ããŠãã ããã åè : ã¯ãŒã¯ããŒãã® ID åè : Workforce Identity ã®é£æº ãŸãã以äžã®åœç€Ÿèšäºã§å®éã« AWS ãã Workload Identity ã«ãã£ãŠ Google Cloud ãžèªèšŒã»èªå¯ãããå®äŸã玹ä»ããŠããŸãã blog.g-gen.co.jp blog.g-gen.co.jp ææ å銬 (èšäºäžèЧ) å·è¡åœ¹å¡ CTO / ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³éš éšé· å
èŠå¯å®ãšããçµæŽãæã€çŸ IT ãšã³ãžãã¢ãã¯ã©ãŠã管çã»éçšããããã¯ãŒã¯ã«ç¥èŠãAWS 12è³æ ŒãGoogle Cloudèªå®è³æ Œ11è³æ ŒãX (æ§ Twitter) ã§ã¯ Google Cloud ã AWS ã®ã¢ããããŒãæ
å ±ãã€ã¶ãããŠããŸãã Follow @y_sugi_it