ãµãŒãã¹ ã¢ã«ãŠã³ãã¯äººé以å€ã®ãŠãŒã¶ãŒã衚ããŸããããã¯ãã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ãªã©ã®ã¯ãŒã¯ããŒãã§ããšã³ããŠãŒã¶ãŒã®é¢äžãªãã«ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããå Žåããã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠãããå Žåã察象ãšããŠããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã¯äŸ¿å©ãªããŒã«ã§ãããæªçšããæ¹æ³ãããã€ããããŸãã
- æš©éææ Œ: äžæ£ãªè¡çºè ããµãŒãã¹ ã¢ã«ãŠã³ãã«ãªãããŸãããšã«ãããéåžžã§ã¯ã¢ã¯ã»ã¹æš©ãä»äžãããããšã®ãªããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹æš©ãååŸããå¯èœæ§ããããŸãã
- ãªãããŸã: äžæ£ãªè¡çºè ããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšããŠãèªåã® ID ãé èœããå¯èœæ§ããããŸãã
- åŠèªé²æ¢: äžæ£ãªè¡çºè ãããµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããŠèªèº«ã®ä»£çã§ãªãã¬ãŒã·ã§ã³ãå®è¡ããããšã§ãID ãšã¢ã¯ã·ã§ã³ãé èœããå ŽåããããŸããå Žåã«ãã£ãŠã¯ããããã®ã¢ã¯ã·ã§ã³ã远跡ããŠäžæ£ãªè¡çºè ã«ãŸã§ãã©ãã€ããªãããšããããŸãã
- æ å ±é瀺: äžæ£ãªè¡çºè ããç¹å®ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®ååšããã€ã³ãã©ã¹ãã©ã¯ãã£ãã¢ããªã±ãŒã·ã§ã³ããŸãã¯ããã»ã¹ã«é¢ããæ å ±ãåŒãåºãå¯èœæ§ããããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ããä¿è·ããã«ã¯ãã¢ã«ãŠã³ãã® 2 ã€ã®æ§è³ªãèæ ®ããŠãã ããã
- ãµãŒãã¹ ã¢ã«ãŠã³ãã¯ããªã³ã·ãã«ã§ããããšããããµãŒãã¹ ã¢ã«ãŠã³ãã®äžæ£äœ¿çšã«ããçºçããå¯èœæ§ãããæå®³ã軜æžããããã«ãæš©éãå¶éããå¿ èŠããããŸãã
- ãµãŒãã¹ ã¢ã«ãŠã³ãã¯ãªãœãŒã¹ã§ããããšãããäžæ£äœ¿çšãããªãããã«ä¿è·ããå¿ èŠããããŸãã
ãã®ã¬ã€ãã§ã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã管çã䜿çšãä¿è·ããããã®ãã¹ã ãã©ã¯ãã£ã¹ã«ã€ããŠèª¬æããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããã¿ã€ãã³ã°ãéžæãã
ãã¹ãŠã®ã·ããªãªã§ã Google CloudãµãŒãã¹ã«ã¢ã¯ã»ã¹ããããã®ãµãŒãã¹ ã¢ã«ãŠã³ããå¿ èŠã«ãªãããã§ã¯ãããŸãããå€ãã®ã·ããªãªã§ã¯ããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã䜿çšãããããå®å šãªæ¹æ³ã§èªèšŒãè¡ãããšãã§ããŸãããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã¯ãå¯èœãªéã䜿çšããªãããšãããããããŸãã
Google Cloud CLIãCloud ã¯ã©ã€ã¢ã³ã ã©ã€ãã©ãªãTerraform ãªã©ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ã«ãèªèšŒæ å ±ïŒADCïŒããµããŒãããããŒã«ãŸã㯠REST ãªã¯ãšã¹ããä»ã㊠Google Cloud ãµãŒãã¹ã«ã¢ã¯ã»ã¹ããå Žåã¯ã次ã®å³ãåèã«ããŠèªèšŒæ¹æ³ãéžæããŠãã ããã
ãã®å³ã«ã¯ã次ã®è³ªåãèšèŒãããŠããŸãã
-
ã·ã³ã°ã« ãŠãŒã¶ãŒéçºç°å¢ïŒç¬èªã®ã¯ãŒã¯ã¹ããŒã·ã§ã³ãCloud Shellãä»®æ³ãã¹ã¯ããã ã€ã³ã¿ãŒãã§ãŒã¹ãªã©ïŒã§ã³ãŒããå®è¡ããŠããŸããïŒ
- ãã¯ããã®å Žåã¯ã質å 4 ã«é²ã¿ãŸãã
- ãããããã®å Žåã¯ã質å 2 ã«é²ã¿ãŸãã
- Google Cloudã§ã³ãŒããå®è¡ããŠããŸããïŒ
- ãã¯ããã®å Žåã¯ã質å 3 ã«é²ã¿ãŸãã
- ãããããã®å Žåã¯ã質å 5 ã«é²ã¿ãŸãã
- Google Kubernetes Engine ã§ã³ã³ãããå®è¡ããŠããŸããïŒ
- ãã¯ããã®å Žåã¯ãWorkload Identity Federation for GKE ã䜿çšããŠããµãŒãã¹ ã¢ã«ãŠã³ãã Kubernetes Pod ã«æ¥ç¶ããŸãã
- ããã§ãªãå Žåã¯ããªãœãŒã¹ã«ãµãŒãã¹ ã¢ã«ãŠã³ããæ¥ç¶ããŸãã
-
ãŠãŒã¹ã±ãŒã¹ã«ãµãŒãã¹ ã¢ã«ãŠã³ããå¿ èŠã§ããïŒ
ããšãã°ããã¹ãŠã®ç°å¢ã§ã¢ããªã±ãŒã·ã§ã³ã®èªèšŒãšèªå¯ãäžè²«ããŠæ§æããããšããŸãã
- ãããããã®å Žåã¯ããŠãŒã¶ãŒèªèšŒæ å ±ã§èªèšŒãè¡ããŸãã
- ãã¯ããã®å Žåã¯ããŠãŒã¶ãŒèªèšŒæ å ±ã䜿çšããŠãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšããŸãã
-
ã¯ãŒã¯ããŒã㯠Workload Identity 飿ºããµããŒãããå€éš ID ãããã€ãã§èªèšŒãããŸããïŒ
- ãã¯ããã®å Žåã¯ãWorkload Identity 飿ºãæ§æããŠããªã³ãã¬ãã¹ãä»ã®ã¯ã©ãŠã ãããã€ãã§å®è¡ãããŠããã¢ããªã±ãŒã·ã§ã³ããµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšã§ããããã«ããŸãã
- ãããããã®å Žåã¯ããµãŒãã¹ ã¢ã«ãŠã³ã ããŒãäœæããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã管çãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã¯ãäœ¿çšæ¹æ³ã ãã§ãªããç®¡çæ¹æ³ãä»ã®çš®é¡ã®ããªã³ã·ãã«ãšã¯ç°ãªããŸãã以éã®ã»ã¯ã·ã§ã³ã§ã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã管çããéã®ãã¹ã ãã©ã¯ãã£ã¹ã«ã€ããŠèª¬æããŸãã
ãã¹ã ãã©ã¯ãã£ã¹:
ãµãŒãã¹ ã¢ã«ãŠã³ãããªãœãŒã¹ãšããŠç®¡çãããåäžç®çã®ãµãŒãã¹ ã¢ã«ãŠã³ããäœæããã
åœåãšããã¥ã¡ã³ãã®èŠåã«åŸãã
æªäœ¿çšã®ãµãŒãã¹ ã¢ã«ãŠã³ããç¹å®ããŠç¡å¹ã«ããã
æªäœ¿çšã®ãµãŒãã¹ ã¢ã«ãŠã³ããåé€ããåã«ããã®ãµãŒãã¹ãç¡å¹ã«ããã
ãµãŒãã¹ ã¢ã«ãŠã³ãããªãœãŒã¹ãšããŠç®¡çãã
åã ã®ãŠãŒã¶ãŒã®ã¢ã«ãŠã³ãã¯çµç¹ã® joiner-mover-leaver ããã»ã¹ã§ç®¡çãããŸããæ°ããåŸæ¥å¡ãå ¥ç€Ÿãããšãæ°ãããŠãŒã¶ãŒ ã¢ã«ãŠã³ããäœæãããŸããåŸæ¥å¡ãç°åããå Žåã¯ããã®ãŠãŒã¶ãŒ ã¢ã«ãŠã³ããæŽæ°ãããŸããéè·ããå Žåããã®ãŠãŒã¶ãŒ ã¢ã«ãŠã³ãã¯äžæåæ¢ãŸãã¯åé€ãããŸãã
ããã«å¯ŸãããµãŒãã¹ ã¢ã«ãŠã³ãã¯ç¹å®ã®åŸæ¥å¡ã«é¢é£ä»ããããŠããŸããããµãŒãã¹ ã¢ã«ãŠã³ãã¯ãªãœãŒã¹ãšããŠèããŠãã ããããã®ã¢ã«ãŠã³ãã¯ãç¹å®ã® VM ã€ã³ã¹ã¿ã³ã¹ãã¢ããªã±ãŒã·ã§ã³ãªã©ãå¥ã®ãªãœãŒã¹ãŸãã¯ãã®äžéšã«å±ããŠããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã广çã«ç®¡çããã«ã¯ããµãŒãã¹ ã¢ã«ãŠã³ããåç¬ã§ã¯æããªãã§ãã ãããé¢é£ä»ããããŠãããªãœãŒã¹ã®ã³ã³ããã¹ãã§ãµãŒãã¹ ã¢ã«ãŠã³ããèæ ®ãããµãŒãã¹ ã¢ã«ãŠã³ããšé¢é£ä»ããããŠãããªãœãŒã¹ã 1 ã€ã®ãŠããããšããŠç®¡çããŸãããµãŒãã¹ ã¢ã«ãŠã³ããšé¢é£ä»ããããŠãããªãœãŒã¹ã«åãããã»ã¹ãåãã©ã€ããµã€ã¯ã«ãåããã¥ãŒ ããªãžã§ã³ã¹ãé©çšããåãããŒã«ã§ç®¡çããŸãã
åäžç®çã®ãµãŒãã¹ ã¢ã«ãŠã³ããäœæãã
è€æ°ã®ã¢ããªã±ãŒã·ã§ã³ã§åäžã®ãµãŒãã¹ ã¢ã«ãŠã³ããå ±æãããšããµãŒãã¹ ã¢ã«ãŠã³ãã®ç®¡çãè€éã«ãªãå ŽåããããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠã©ã€ããµã€ã¯ã«ãç°ãªãå ŽåããããŸããã¢ããªã±ãŒã·ã§ã³ã廿¢ãããå ŽåããµãŒãã¹ ã¢ã«ãŠã³ãã廿¢å¯èœãã©ãããå¿ èŠãã©ãã倿ã§ããªãå ŽåããããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ã¢ã¯ã»ã¹èŠä»¶ã¯æéãšãšãã«å€åããå¯èœæ§ããããŸããã¢ããªã±ãŒã·ã§ã³ãåããµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããŠããå ŽåããµãŒãã¹ ã¢ã«ãŠã³ãã«ã¢ã¯ã»ã¹æš©ãä»äžããå¿ èŠããã察象ãªãœãŒã¹ã®æ°ãå¢å ãããšãå šè¬çãªãªã¹ã¯ãå¢å€§ããå¯èœæ§ããããŸãã
- Cloud Audit Logs ã«ã¯ãããŒã¿ã®å€æŽãŸãã¯ããŒã¿ãžã®ã¢ã¯ã»ã¹ãè¡ã£ããµãŒãã¹ ã¢ã«ãŠã³ãã®ååãå«ãŸããŸããããµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®ååã¯è¡šç€ºãããŸãããè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ã 1 ã€ã®ãµãŒãã¹ ã¢ã«ãŠã³ããå ±æããŠããå Žåã¯ãã¢ã¯ãã£ããã£ãé©åãªã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠãã¬ãŒã¹ã§ããªãå¯èœæ§ããããŸãã
ç¹ã«ãApp Engine ã Compute Engine ãªã©äžéšã® Google Cloud ãµãŒãã¹ã§ã¯ããããžã§ã¯ãã«å¯Ÿããç·šéè
ã®ããŒã«ïŒroles/editor
ïŒãæã€ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ããäœæãããŸããCompute Engine ä»®æ³ãã·ã³ïŒVMïŒã€ã³ã¹ã¿ã³ã¹ãªã©ã®ãªãœãŒã¹ãäœæãããšãã«ãµãŒãã¹ ã¢ã«ãŠã³ããæå®ããªããšããã®ãªãœãŒã¹ã§ã¯ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ããèªåçã«äœ¿çšãããŸããããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã¯ç°¡åã«äœ¿ãå§ããããšãã§ããŸããããã®ã¢ã«ãŠã³ããè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ã§å
±æããããšã¯éåžžã«å±éºã§ãã
ãã®åé¡ãåé¿ããã«ã¯ã次ã®ãããªæ¹æ³ããããŸãã
- ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã¯äœ¿çšãããã¢ããªã±ãŒã·ã§ã³ããšã«å°çšã®ãµãŒãã¹ ã¢ã«ãŠã³ããäœæããã
- ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ããžã®èªåçãªããŒã«ä»äžã䜿çšããªãã
- ãµãŒãã¹ ã¢ã«ãŠã³ãã®äœ¿çšç¶æ³ãææ¡ãã Google ã®ããŒã«ã䜿çšãããããã«ããã䜿çšç¶æ³ãã¢ãã¿ãªã³ã°ãããµãŒãã¹ ã¢ã«ãŠã³ããè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ã§å ±æãããã®ãé²ãããšãã§ããŸãã
åœåãšããã¥ã¡ã³ãã®èŠåã«åŸã
ãµãŒãã¹ãšã¢ããªã±ãŒã·ã§ã³ãŸãã¯ãªãœãŒã¹ã®é¢é£ä»ãã远跡ã§ããããã«ãæ°ãããµãŒãã¹ ã¢ã«ãŠã³ããäœæããéã¯ãåœåèŠåã«åŸããŸãã
- ã¢ã«ãŠã³ãã®äœ¿ç𿹿³ã衚ããã¬ãã£ãã¯ã¹ããµãŒãã¹ ã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹ã«è¿œå ããŸããäŸ:
- VM ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ãããŠãããµãŒãã¹ ã¢ã«ãŠã³ãã«ã¯
vm-
ã - Workload Identity Federation for GKE ã§äœ¿çšããããµãŒãã¹ ã¢ã«ãŠã³ãã«ã¯
wlifgke-
ã - Workload Identity 飿ºã§äœ¿çšããããµãŒãã¹ ã¢ã«ãŠã³ãã«ã¯
wlif-
ã - ãªã³ãã¬ãã¹ ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããããµãŒãã¹ ã¢ã«ãŠã³ãã«ã¯
onprem-
ã
- VM ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ãããŠãããµãŒãã¹ ã¢ã«ãŠã³ãã«ã¯
- ã¢ããªã±ãŒã·ã§ã³ã®ååããµãŒãã¹ ã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹ã«åã蟌ã¿ãŸããããšãã°ãVM ãåºåŒµè²»çšã«é¢é£ããã¢ããªã±ãŒã·ã§ã³ãå®è¡ããŠããå Žåã¯ã
vm-travelexpenses@
ã䜿çšããŸãã - 説æãã£ãŒã«ãã䜿çšããŠãæ åœè ã®é£çµ¡å ãé¢é£ããã¥ã¡ã³ããžã®ãªã³ã¯ããã®ä»ã®ã¡ã¢ã远å ããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹ã«æ©å¯æ å ±ãåã蟌ãŸãªãã§ãã ããã
æªäœ¿çšã®ãµãŒãã¹ ã¢ã«ãŠã³ããç¹å®ããŠç¡å¹ã«ãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããªããªã£ãå Žåã¯ããµãŒãã¹ ã¢ã«ãŠã³ããç¡å¹ã«ããŸããæªäœ¿çšã®ãµãŒãã¹ ã¢ã«ãŠã³ããç¡å¹ã«ãããšãæ»æè ã«ããã©ãã©ã« ã ãŒãã¡ã³ããæš©éææ Œãªã©ã®äžæ£è¡çºã«æªçšããããªã¹ã¯ã軜æžã§ããŸãã
VM ã€ã³ã¹ã¿ã³ã¹ãªã©ã®ç¹å®ã®ãªãœãŒã¹ã«é¢é£ä»ããããŠããåäžç®çã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®å Žåã¯ãé¢é£ä»ãããããªãœãŒã¹ãç¡å¹åãŸãã¯åé€ããããšãã«ãããµãŒãã¹ ã¢ã«ãŠã³ããç¡å¹ã«ããŸãã
è€æ°ã®ç®çã§äœ¿çšãããŠãããµãŒãã¹ ã¢ã«ãŠã³ããè€æ°ã®ãªãœãŒã¹ã§å ±æãããŠãããµãŒãã¹ ã¢ã«ãŠã³ãã®å ŽåããµãŒãã¹ ã¢ã«ãŠã³ããåŒãç¶ã䜿çšãããŠãããã©ãããç¹å®ã§ããªãããšããããŸãããã®ãããªå Žåã¯ãActivity Analyzer ã䜿çšããŠããµãŒãã¹ ã¢ã«ãŠã³ãã®ææ°ã®èªèšŒã¢ã¯ãã£ããã£ã確èªã§ããŸãã
æªäœ¿çšã®ãµãŒãã¹ ã¢ã«ãŠã³ããåé€ããåã«ãµãŒãã¹ãç¡å¹ã«ãã
ãµãŒãã¹ ã¢ã«ãŠã³ããåé€ããåŸãåãååã§æ°ãããµãŒãã¹ ã¢ã«ãŠã³ããäœæããå Žåãæ°ãããµãŒãã¹ ã¢ã«ãŠã³ãã«ã¯å¥ã® ID ãå²ãåœãŠãããŸãããã®ãããå ã® IAM ãã€ã³ãã£ã³ã°ãæ°ãããµãŒãã¹ ã¢ã«ãŠã³ãã«é©çšãããããšã¯ãããŸãããããã«å¯ŸããŠããµãŒãã¹ ã¢ã«ãŠã³ããç¡å¹ã«ããŠå床æå¹ã«ããå Žåã¯ããã¹ãŠã® IAM ãã€ã³ãã£ã³ã°ããã®ãŸãŸæ®ããŸãã
IAM ãã€ã³ãã£ã³ã°ã誀ã£ãŠå€±ãããªãããã«ããã«ã¯ããµãŒãã¹ ã¢ã«ãŠã³ããçŽã¡ã«åé€ããªãããšãããããããŸãã代ããã«ãäžèŠã«ãªã£ããµãŒãã¹ ã¢ã«ãŠã³ããç¡å¹ã«ããç¹å®ã®æéãçµéããåŸã«åé€ããŸãã
App Engine ã®ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã Compute Engine ã®ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ããªã©ãããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã¯åé€ããªãã§ãã ããããããã®ãµãŒãã¹ã¯ãããããã® API ãç¡å¹ã«ããŠå床æå¹ã«ããªãéãåäœæã§ããŸããããã®ãããæ¢åã®ãããã€ãäžæãããå¯èœæ§ããããŸããããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããªãå Žåã¯ããããã®ã¢ã«ãŠã³ããç¡å¹ã«ããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãå¶éãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã¯ããªã³ã·ãã«ã§ãããä»ã®ã¿ã€ãã®ããªã³ã·ãã«ãšåæ§ã«ãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹æš©ãä»äžãããŠããŸãããã ãããµãŒãã¹ ã¢ã«ãŠã³ãã¯ä»ã®ã¿ã€ãã®ããªã³ã·ãã«ãããå€ãã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããŸãããŸããã¢ããªã±ãŒã·ã§ã³ã«æ©èœã远å ãããšããµãŒãã¹ ã¢ã«ãŠã³ãã®ã¢ã¯ã»ã¹æš©ãå¢ããŠããåŸåããããŸããäžèŠã«ãªã£ãã¢ã¯ã»ã¹æš©ã®åãæ¶ããå¿ããå¯èœæ§ããããŸãã
ãã¹ã ãã©ã¯ãã£ã¹:
ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ããžã®èªåçãªããŒã«ä»äžã䜿çšããªãããµãŒãã¹ ã¢ã«ãŠã³ãã VM ã€ã³ã¹ã¿ã³ã¹ã«ã¢ã¿ããããéã«ã¢ã¯ã»ã¹ ã¹ã³ãŒãã«äŸåããªãã
ãã¡ã€ã³å šäœã®å§ä»»ã䜿çšããªãããã«ããã
äžæçãªèªèšŒæ å ±ã®ææ Œã« IAM Credentials API ã䜿çšããã
èªèšŒæ å ±ã®ã¢ã¯ã»ã¹å¢çã䜿çšããŠã¢ã¯ã»ã¹ ããŒã¯ã³ã®ç¯å²ãçµã蟌ãã
ããŒã«ã®æšå¥šäºé ã䜿çšããŠæªäœ¿çšã®æš©éãç¹å®ããã
ã©ãã©ã« ã ãŒãã¡ã³ãã®åææ å ±ã䜿çšããŠã©ãã©ã« ã ãŒãã¡ã³ããå¶éããã
ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ããžã®èªåçãªããŒã«ä»äžã䜿çšããªã
äžéšã® Google Cloud ãµãŒãã¹ã§ã¯ã Google Cloud ãããžã§ã¯ãã§ API ãåããŠæå¹ã«ããéã«ãããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ããäœæãããŸããçµç¹ã®ããªã·ãŒã®æ§æã«ãã£ãŠã¯ããããã®ãµãŒãã¹ ã¢ã«ãŠã³ãã« Google Cloud ãããžã§ã¯ãã®ç·šéè
ããŒã«ïŒroles/editor
ïŒãèªåçã«ä»äžããã Google Cloud ãããžã§ã¯ãå
ã®ãã¹ãŠã®ãªãœãŒã¹ã®èªã¿åããšå€æŽãèš±å¯ãããå ŽåããããŸãããã®ããŒã«ã¯äŸ¿å®äžä»äžãããŸããããµãŒãã¹ã®åäœã«äžå¯æ¬ ãªãã®ã§ã¯ãããŸããã Google Cloud ãããžã§ã¯ãã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããéã«ã Google Cloud ãµãŒãã¹ã¯ãããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã§ã¯ãªããµãŒãã¹ ãšãŒãžã§ã³ãã䜿çšããŸãã
ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«ç·šéè
ã®ããŒã«ãèªåçã«ä»äžãããªãããã«ããã«ã¯ãçµç¹ã«å¯ŸããŠããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«å¯Ÿãã IAM ããŒã«ã®èªåä»äžã®ç¡å¹åïŒconstraints/iam.automaticIamGrantsForDefaultServiceAccounts
ïŒå¶çŽãæå¹ã«ããŸãããã®å¶çŽãè€æ°ã® Google Cloud ãããžã§ã¯ãã«é©çšããã«ã¯ããã©ã«ããŸãã¯çµç¹ããŒãã§å¶çŽãæ§æããŸããå¶çŽãé©çšããŠããæ¢åã®ããã©ã«ã ãµãŒãã¹ ã¢ã«ãŠã³ãããç·šéè
ããŒã«ã¯åé€ãããŸããã
ãã®å¶çŽãé©çšãããšãæ°ãããããžã§ã¯ãã®ããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ã㯠Google Cloud ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããªããªããŸããããã©ã«ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«é©åãªããŒã«ãä»äžãããªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ããå¿ èŠããããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã VM ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããéã«ã¢ã¯ã»ã¹ ã¹ã³ãŒãã«äŸåããªã
ãµãŒãã¹ ã¢ã«ãŠã³ãã VM ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããéã«ã1 ã€ä»¥äžã®ã¢ã¯ã»ã¹ ã¹ã³ãŒããæå®ã§ããŸããã¢ã¯ã»ã¹ ã¹ã³ãŒãã䜿çšãããšãVM ãã¢ã¯ã»ã¹ã§ãããµãŒãã¹ãå¶éã§ããŸãããããã®å¶éã¯ãèš±å¯ããªã·ãŒã«å ããŠé©çšãããŸãã
ã¢ã¯ã»ã¹ ã¹ã³ãŒãã¯ãã现ãããã®ã§ã¯ãããŸãããããšãã°ãhttps://www.googleapis.com/auth/devstorage.read_only
ã¹ã³ãŒãã䜿çšãããšãCloud Storage ãžã®ã¢ã¯ã»ã¹ãèªã¿åãæäœã«å¶éã§ããŸãããç¹å®ã®ãã±ãããžã®ã¢ã¯ã»ã¹ãå¶éããããšã¯ã§ããŸããããããã£ãŠãã¢ã¯ã»ã¹ ã¹ã³ãŒãã¯ããã现ããèš±å¯ããªã·ãŒã®ä»£ãããšããŠäœ¿çšããã«ã¯é©ããŠããŸããã
ã¢ã¯ã»ã¹ ã¹ã³ãŒãã«äŸåããã®ã§ã¯ãªããå°çšã®ãµãŒãã¹ ã¢ã«ãŠã³ããäœæãããã现ããèš±å¯ããªã·ãŒã䜿çšããŠããµãŒãã¹ ã¢ã«ãŠã³ããã¢ã¯ã»ã¹ã§ãããªãœãŒã¹ãå¶éããŸãã
ç¹å®ã®ãããžã§ã¯ãããã©ã«ããçµç¹ã®çŸåšããã³å°æ¥ã®ãã¹ãŠã®ãµãŒãã¹ ã¢ã«ãŠã³ããèŠä»¶ãå ±æããŠããå Žåã¯ãã«ã¹ã¿ã ã°ã«ãŒãã䜿çšããã®ã§ã¯ãªãããµãŒãã¹ ã¢ã«ãŠã³ã ããªã³ã·ãã« ã»ããã䜿çšããŠããŒã«ãä»äžããŸãã
詳现ã«ã€ããŠã¯ãGoogle ã°ã«ãŒãã®äœ¿çšã«é¢ãããã¹ã ãã©ã¯ãã£ã¹ãã芧ãã ããã
ãã¡ã€ã³å šäœã®å§ä»»ã䜿çšããªãããã«ãã
ãã¡ã€ã³å šäœã®å§ä»»ã«ããããµãŒãã¹ ã¢ã«ãŠã³ã㯠Cloud Identity ãŸã㯠Google Workspace ã¢ã«ãŠã³ãå ã®ä»»æã®ãŠãŒã¶ãŒã«ãªãããŸãããšãã§ããŸãããã¡ã€ã³å šäœã®å§ä»»ã䜿çšãããšããµãŒãã¹ ã¢ã«ãŠã³ãã Google Workspace ã Cloud Identity ã§ç¹å®ã®ç®¡çã¿ã¹ã¯ãå®è¡ããããšãã Google Cloudã®å€éšã«ååšãããµãŒãã¹ ã¢ã«ãŠã³ãããµããŒãããŠããªã Google API ã«ã¢ã¯ã»ã¹ããããšãå¯èœã«ãªããŸãã
ãã¡ã€ã³å šäœã®å§ä»»ã§ã¯ãç¹å®ã®ãŠãŒã¶ãŒã察象ãšãããªãããŸãã«å¶éãããã®ã§ã¯ãªãããµãŒãã¹ ã¢ã«ãŠã³ãã Cloud Identity ãŸã㯠Google Workspace ã¢ã«ãŠã³ãã®ä»»æã®ãŠãŒã¶ãŒïŒç¹æš©ç®¡çè ãå«ãïŒã«ãªãããŸãããšãã§ããŸãããã®ããããµãŒãã¹ ã¢ã«ãŠã³ãã«ãã¡ã€ã³å šäœã®å§ä»»ã®äœ¿çšãèš±å¯ãããšããã®ãµãŒãã¹ ã¢ã«ãŠã³ãã¯æš©éææ Œæ»æã®æ Œå¥œã®ã¿ãŒã²ããã«ãªãå¯èœæ§ããããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã§çŽæ¥ã¿ã¹ã¯ãå®äºã§ããå ŽåããŸã㯠OAuth åæãããŒã䜿çšããŠã¿ã¹ã¯ãå®äºã§ããå Žåã¯ããã¡ã€ã³å šäœã®å§ä»»ã®äœ¿çšãé¿ããŠãã ãããããšãã°ãGoogle ãã©ã€ãã䜿çšããŠãã¡ã€ã«ãä¿åããå¿ èŠãããå Žåã¯ããµãŒãã¹ ã¢ã«ãŠã³ããçŽæ¥äœ¿çšããŠå ±æãã©ã€ãã«ãã¡ã€ã«ãã¢ããããŒãããããOAuth 2.0 åæãããŒã䜿çšããŠãŠãŒã¶ãŒã®ä»£ããã«ãã¡ã€ã«ãã¢ããããŒãã§ããŸãã
ãã¡ã€ã³å šäœã®å§ä»»ã®äœ¿çšãäžå¯é¿ã§ããå Žåã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã§äœ¿çšã§ãã äžé£ã® OAuth ã¹ã³ãŒããå¶éããŸããOAuth ã¹ã³ãŒãã«ãã£ãŠãµãŒãã¹ ã¢ã«ãŠã³ãããªãããŸãããŠãŒã¶ãŒãå¶éãããããšã¯ãããŸãããããµãŒãã¹ ã¢ã«ãŠã³ããã¢ã¯ã»ã¹ã§ãããŠãŒã¶ãŒããŒã¿ã®çš®é¡ã¯å¶éãããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ã㯠Google Workspace ã®ã¢ã»ãããçŽæ¥ææã§ããŸããããã±ããã䜿çšãã代ããã« Google ãã©ã€ãã䜿çšããŠãã¡ã€ã«ãä¿åããå¿ èŠãããå Žåã¯ããã¡ã€ã«ãå ±æãã©ã€ãã«çŽæ¥ã¢ããããŒãããããOAuth 2.0 åæãããŒã䜿çšããŠãŠãŒã¶ãŒã«ä»£ãã£ãŠæäœãããããã¡ã€ã³å šäœã®å§ä»»ã䜿çšããŸãã
äžæçãªæš©éææ Œã« Service Account Credentials API ã䜿çšãã
ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠã¯ãç¹å®ã®ã¿ã€ãã³ã°ãç¶æ³äžã§ã®ã¿ç¹å®ã®ãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãå¿ èŠã«ãªãããšããããŸããæ¬¡ã«äŸã瀺ããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®èµ·åæã«æ§æããŒã¿ã«ã¢ã¯ã»ã¹ããå¿ èŠããããåæååŸã¯ã¢ã¯ã»ã¹ããå¿ èŠããªããªãå ŽåããããŸãã
- ã¹ãŒããŒãã€ã¶ãŒ ã¢ããªã±ãŒã·ã§ã³ããã¢ã¯ã»ã¹èŠä»¶ãç°ãªãããã¯ã°ã©ãŠã³ã ãžã§ãã宿çã«éå§ããå ŽåããããŸãã
ãã®ãããªã·ããªãªã§ã¯ã1 ã€ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããŠãã¹ãŠã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹æš©ãä»äžããããšã¯ãæå°æš©éã®ååã«åããŸãããã®ãããã¢ããªã±ãŒã·ã§ã³ããã€ã§ãå¿ èŠä»¥äžã«å€ãã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããŠããŸãå¯èœæ§ããããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®ããŸããŸãªéšåãå¿ èŠãªãªãœãŒã¹ã®ã¿ã«ã¢ã¯ã»ã¹ã§ããããã«ããã«ã¯ãäžæçãªæš©éææ Œã« Service Account Credentials API ã䜿çšããŸãã
- ã¢ããªã±ãŒã·ã§ã³ãŸãã¯ãŠãŒã¹ã±ãŒã¹ããšã«å°çšã®ãµãŒãã¹ ã¢ã«ãŠã³ããäœæããå¿ èŠãªãªãœãŒã¹ã«ã®ã¿ãµãŒãã¹ ã¢ã«ãŠã³ããžã®ã¢ã¯ã»ã¹æš©ãä»äžããŸãã
- ã¹ãŒããŒãã€ã¶ãŒãšããŠæ©èœããå¥ã®ãµãŒãã¹ ã¢ã«ãŠã³ããäœæããŸããä»ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã¯ã³äœæè ã®ããŒã«ãä»äžãããããã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«æå¹æéã®çãã¢ã¯ã»ã¹ ããŒã¯ã³ããªã¯ãšã¹ãã§ããããã«ããŸãã
- ã¢ããªã±ãŒã·ã§ã³ãåå²ããŠãã¢ããªã±ãŒã·ã§ã³ã® 1 ã€ã®éšåãããŒã¯ã³ ãããŒã«ãŒãšããŠæ©èœããããã®éšåã®ã¿ãã¹ãŒããŒãã€ã¶ãŒ ãµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšã§ããããã«ããŸãã
- ããŒã¯ã³ ãããŒã«ãŒã䜿çšããŠãæå¹æéã®çããµãŒãã¹ ã¢ã«ãŠã³ããã¢ããªã±ãŒã·ã§ã³ã®å¥ã®éšåã«çºè¡ããŸãã
æå¹æéã®çãèªèšŒæ å ±ã®äœæã«ã€ããŠã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã«æå¹æéã®çãèªèšŒæ å ±ãäœæãããã芧ãã ããã
èªèšŒæ å ±ã®ã¢ã¯ã»ã¹å¢çã䜿çšããŠã¢ã¯ã»ã¹ ããŒã¯ã³ã®ç¯å²ãçµã蟌ã
Google ã®ã¢ã¯ã»ã¹ ããŒã¯ã³ã¯çœ²åãªãããŒã¯ã³ã§ããã€ãŸããããŒã¯ã³ã®äœ¿çšã¯ç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã«é¢é£ä»ããããŠããŸãããã¢ããªã±ãŒã·ã§ã³ãã¢ã¯ã»ã¹ ããŒã¯ã³ãå¥ã®ã¢ããªã±ãŒã·ã§ã³ã«æž¡ããšããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãå©çšã®ã¢ããªã±ãŒã·ã§ã³ãšåãããã«ããŒã¯ã³ã䜿çšã§ããŸããåæ§ã«ãã¢ã¯ã»ã¹ ããŒã¯ã³ãäžæ£ãªè¡çºè ã«æŒæŽ©ããå Žåã¯ããã®äžæ£ãªè¡çºè ãããŒã¯ã³ã䜿çšããŠã¢ã¯ã»ã¹æš©ãååŸã§ããŸãã
ã¢ã¯ã»ã¹ ããŒã¯ã³ã¯çœ²åãªãããŒã¯ã³ã§ãããããæš©éãä»äžãããŠããªããŠãŒã¶ãŒã«æŒæŽ©ãããã衚瀺ããããããªãããã«ä¿è·ããå¿ èŠããããŸããã¢ã¯ã»ã¹ ããŒã¯ã³ãã¢ã¯ã»ã¹æš©ãä»äžãã察象ãªãœãŒã¹ãå¶éããããšã§ãæŒæŽ©ããã¢ã¯ã»ã¹ ããŒã¯ã³ã«ãã£ãŠçããå¯èœæ§ãããæå®³ãäœæžã§ããŸãããã®ããã»ã¹ã¯ãããŠã³ã¹ã³ãŒãã³ã°ããšåŒã°ããŸãã
ã¢ã¯ã»ã¹ ããŒã¯ã³ãå¥ã®ã¢ããªã±ãŒã·ã§ã³ããå©çšã®ã¢ããªã±ãŒã·ã§ã³ã®å¥ã®ã³ã³ããŒãã³ãã«æž¡ãå Žåã¯åžžã«ãèªèšŒæ å ±ã¢ã¯ã»ã¹å¢çã䜿çšããŠã¢ã¯ã»ã¹ ããŒã¯ã³ã®ããŠã³ã¹ã³ãŒãã³ã°ãè¡ã£ãŠãã ãããã¢ã¯ã»ã¹å¢çãèšå®ããŠãããŒã¯ã³ãå¿ èŠä»¥äžã®ãªãœãŒã¹ã«å¯Ÿããã¢ã¯ã»ã¹æš©ãä»äžããªãããã«ããŸãã
ããŒã«ã®æšå¥šäºé ã䜿çšããŠæªäœ¿çšã®æš©éãç¹å®ãã
ã¢ããªã±ãŒã·ã§ã³ãåããŠãããã€ããéã«ãã¢ããªã±ãŒã·ã§ã³ã«å®éã«å¿ èŠãšãªãããŒã«ãšæš©éãäžæãªå ŽåããããŸãããã®å Žåãã¢ããªã±ãŒã·ã§ã³ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«å¿ èŠä»¥äžã®æš©éãä»äžããŠããŸãå¯èœæ§ããããŸãã
åæ§ã«ãã¢ããªã±ãŒã·ã§ã³ã®ã¢ã¯ã»ã¹èŠä»¶ã¯æéãšãšãã«å€åããå¯èœæ§ããããæåã«ä»äžããããŒã«ãšæš©éã®äžéšãäžèŠã«ãªãå¯èœæ§ããããŸãã
ããŒã«ã®æšå¥šäºé ã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ãå®éã«äœ¿çšããŠããæš©éãšãæªäœ¿çšã®å¯èœæ§ãããæš©éãç¹å®ããŸãã圱é¿ãåãããªãœãŒã¹ã®èš±å¯ããªã·ãŒã調æŽããŠãã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠå®éã«å¿ èŠãšããç¯å²ãè¶ ããã¢ã¯ã»ã¹æš©ãä»äžãããªãããã«ããŸãã
ã©ãã©ã« ã ãŒãã¡ã³ãã®åææ å ±ã䜿çšããŠã©ãã©ã« ã ãŒãã¡ã³ããå¶éãã
ã©ãã©ã« ã ãŒãã¡ã³ããšã¯ããããããžã§ã¯ãã®ãµãŒãã¹ ã¢ã«ãŠã³ããå¥ã®ãããžã§ã¯ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšããããšã§ããããšãã°ããããžã§ã¯ã A ã«äœæããããµãŒãã¹ A ãããããžã§ã¯ã B ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšããå Žåã衚ããŸãã
ãããã®æš©éã«ãããè€æ°ã®ãããžã§ã¯ãã«ãŸãããæš©éåçšã®é£éãçºçãããªãœãŒã¹ã«å¯Ÿããæå³ããªãã¢ã¯ã»ã¹ãããªã³ã·ãã«ã«èš±å¯ãããå¯èœæ§ããããŸããããšãã°ãããªã³ã·ãã«ã¯ãããžã§ã¯ã A ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšãããã®ãµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããŠãããžã§ã¯ã B ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšã§ããŸãããããžã§ã¯ã B ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«ãçµç¹å ã®ä»ã®ãããžã§ã¯ãã®ä»ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éåçšãèš±å¯ãããŠããå Žåãããªã³ã·ãã«ã¯ãåŒãç¶ããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éåçšã䜿çšããŠãããžã§ã¯ããããããžã§ã¯ãã«ç§»åããæš©éãååŸããŸãã
Recommender ã¯ããã®åé¡ã®å¯ŸåŠã«åœ¹ç«ã€ã©ãã©ã« ã ãŒãã¡ã³ãã®åææ å ±ãæäŸããŸããã©ãã©ã« ã ãŒãã¡ã³ãã®åææ å ±ã«ããããããããžã§ã¯ãã®ãµãŒãã¹ ã¢ã«ãŠã³ããå¥ã®ãããžã§ã¯ãã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšããããšãèš±å¯ããããŒã«ãç¹å®ãããŸããã©ãã©ã« ã ãŒãã¡ã³ãã®åææ å ±ãçŽæ¥è¡šç€ºãã管çããæ¹æ³ã«ã€ããŠã¯ãã©ãã©ã« ã ãŒãã¡ã³ãã®åææ å ±ã®ç®¡çãã芧ãã ããã
äžéšã®ã©ãã©ã« ã ãŒãã¡ã³ãã®åææ å ±ã¯ãããŒã«ã®æšå¥šäºé ã«é¢é£ä»ããããŠããŸããæšå¥šäºé ãé©çšããããšã§ããããžã§ã¯ãéã®ã©ãã©ã« ã ãŒãã¡ã³ããæžããããšãã§ããŸããæ¹æ³ã«ã€ããŠã¯ãæšå¥šäºé ã確èªããŠé©çšãããã芧ãã ããã
æš©éææ Œã®è åšããã®ä¿è·
ããŒã«ãä»äžãããŠããªãããŸãã¯ãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹æš©ããªãããã¡ã€ã¢ãŠã©ãŒã« ã«ãŒã«ã«é¢é£ä»ããããŠããªããµãŒãã¹ ã¢ã«ãŠã³ãã¯ãéåžžã¯ååšäŸ¡å€ãéå®çã§ãããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹æš©ããµãŒãã¹ ã¢ã«ãŠã³ãã«ä»äžãããšããµãŒãã¹ ã¢ã«ãŠã³ãã®äŸ¡å€ãåäžããŸããã€ãŸãããŠãŒã¶ãŒã«å¯ŸãããµãŒãã¹ ã¢ã«ãŠã³ãã®æçšæ§ãåäžããŸããããããšåæã«ãæš©éææ Œæ»æã§ã®æ Œå¥œã®ã¿ãŒã²ããã«ããªããŸãã
äŸãšããŠãæ©å¯æ å ±ãæ ŒçŽãã Cloud Storage ãã±ããã«å¯Ÿããå®å šã¢ã¯ã»ã¹æš©ãä»äžããããµãŒãã¹ ã¢ã«ãŠã³ãã«ã€ããŠèããŠã¿ãŸãããããã®ãããªç¶æ³ã§ã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã¯å®è³ªçã« Cloud Storage ãã±ããèªäœãšåçã®äŸ¡å€ãæããŸããäžæ£ãªè¡çºè ã¯ããã±ããã«çŽæ¥ã¢ã¯ã»ã¹ããããšããã®ã§ã¯ãªãããµãŒãã¹ ã¢ã«ãŠã³ããæ¯é ããããšè©Šã¿ãå¯èœæ§ããããŸãããã®è©Šè¡ãæåããå Žåãäžæ£ãªè¡çºè ã¯ãµãŒãã¹ ã¢ã«ãŠã³ãã«ãªãããŸããŠèªèº«ã®æš©éãææ Œãããããã«ãã£ãŠãã±ããå ã®æ©å¯æ å ±ãžã®ã¢ã¯ã»ã¹æš©ãç²åŸã§ããŸãã
éåžžããµãŒãã¹ ã¢ã«ãŠã³ãã«é¢é£ããæš©éææ Œã®ææ³ã¯ã次ã®ã«ããŽãªã«åé¡ãããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒ: 誀ã£ãŠãŠãŒã¶ãŒã«æš©éãä»äžããŠããŸããšããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšããããããµãŒãã¹ ã¢ã«ãŠã³ãã«ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒãäœæãããå¯èœæ§ããããŸãããµãŒãã¹ ã¢ã«ãŠã³ãã«ãŠãŒã¶ãŒèªèº«ã®æš©éãããé«ãæš©éãä»äžãããŠããå ŽåããŠãŒã¶ãŒã¯ãµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒããããšã§èªèº«ã®æš©éãææ Œããæ¬æ¥ã¯ã¢ã¯ã»ã¹ã§ããªããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹æš©ãååŸã§ããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ããæ¥ç¶ãããŠãããªãœãŒã¹ã®äœ¿çš: ãŠãŒã¶ãŒããCI / CD ãã€ãã©ã€ã³ãVM ã€ã³ã¹ã¿ã³ã¹ããŸãã¯ãµãŒãã¹ ã¢ã«ãŠã³ããæ¥ç¶ãããŠããä»ã®èªååã·ã¹ãã ã«ã¢ã¯ã»ã¹ããŠå€æŽããæš©éãæã£ãŠããå ŽåããªãœãŒã¹ã«æ¥ç¶ããããµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããŠã¢ã¯ã·ã§ã³ãå®è¡ã§ããå¯èœæ§ããããŸãããã®çµæããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éåçšãèš±å¯ãããŠããªããŠãããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éã䜿çšããŠãå®è¡ãèš±å¯ãããŠããªãã¢ã¯ã·ã§ã³ãå®è¡ã§ããŸãã
ããšãã°ãCompute Engine VM ã€ã³ã¹ã¿ã³ã¹ãžã® SSH ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒããã€ã³ã¹ã¿ã³ã¹ã§ã³ãŒããå®è¡ããŠãã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããããµãŒãã¹ ã¢ã«ãŠã³ããã¢ã¯ã»ã¹ã§ããä»»æã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããå¯èœæ§ããããŸãã
èš±å¯ããªã·ãŒãã°ã«ãŒãããŸãã¯ã«ã¹ã¿ã ããŒã«ã®å€æŽ: ç¹æš©ãµãŒãã¹ ã¢ã«ãŠã³ããžã®ã¢ã¯ã»ã¹æš©ãä»äžãããŠããªããŠãŒã¶ãŒã§ãã£ãŠãããµãŒãã¹ ã¢ã«ãŠã³ãã®èš±å¯ããªã·ãŒããŸãã¯ãµãŒãã¹ ã¢ã«ãŠã³ãã«å«ãŸããŠããGoogle Cloud ãããžã§ã¯ããŸãã¯ãã©ã«ãã®èš±å¯ããªã·ãŒã倿Žããæš©éãä»äžãããå¯èœæ§ããããŸãããŠãŒã¶ãŒã¯ããããã®èš±å¯ããªã·ãŒã®ãããããæ¡åŒµããŠããµãŒãã¹ ã¢ã«ãŠã³ããšããŠïŒçŽæ¥çãŸãã¯éæ¥çã«ïŒèªèšŒãããããã«ããããšãã§ããŸãã
以éã®ã»ã¯ã·ã§ã³ã§ã¯ãæš©éææ Œã®è åšãããµãŒãã¹ ã¢ã«ãŠã³ããä¿è·ããéã®ãã¹ã ãã©ã¯ãã£ã¹ã«ã€ããŠèª¬æããŸãã
ãã¹ã ãã©ã¯ãã£ã¹:
ãŠãŒã¶ãŒãèªèº«ãããé«ãæš©éãä»äžããããµãŒãã¹ ã¢ã«ãŠã³ãã«ãªãããŸããªãããã«ããããŠãŒã¶ãŒãèªèº«ãããé«ãæš©éãä»äžãããŠãããµãŒãã¹ ã¢ã«ãŠã³ãã®èš±å¯ããªã·ãŒã倿Žã§ããªãããã«ããã
ãŠãŒã¶ãŒããµãŒãã¹ ã¢ã«ãŠã³ã ããŒãäœæãŸãã¯ã¢ããããŒãããããšãèš±å¯ããªãã
Google Cloud ãããžã§ã¯ã ã¬ãã«ããã©ã«ãã¬ãã«ã§ãµãŒãã¹ ã¢ã«ãŠã³ããžã®ã¢ã¯ã»ã¹æš©ãä»äžããªãã
ç¹æš©ãµãŒãã¹ ã¢ã«ãŠã³ããå²ãåœãŠãããŠããã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã«å¯ŸããŠã¯ãã»ãã¥ãªãã£ä¿è·ã®çšåºŠãäœããœãŒã¹ããã³ãŒããå®è¡ããªãã
ç¹æš©ãµãŒãã¹ ã¢ã«ãŠã³ããæ¥ç¶ãããŠãã VM ãžã®ã·ã§ã«ã¢ã¯ã»ã¹ãå¶éããã
ã¡ã¿ããŒã¿ ãµãŒããŒãžã®ã¢ã¯ã»ã¹ãéžæãããŠãŒã¶ãŒãšããã»ã¹ã«å¶éããã
ãŠãŒã¶ãŒãèªèº«ãããé«ãæš©éãä»äžããããµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒãããªãããã«ãã
ãŠãŒã¶ãŒã¯ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšããããšã§ããã®ãµãŒãã¹ ã¢ã«ãŠã³ããã¢ã¯ã»ã¹ã§ãããªãœãŒã¹ã®äžéšãŸãã¯ãã¹ãŠã«å¯Ÿããã¢ã¯ã»ã¹æš©ãååŸã§ããŸãããµãŒãã¹ ã¢ã«ãŠã³ãã«ãŠãŒã¶ãŒãããåºç¯ãªã¢ã¯ã»ã¹æš©ãããå Žåããã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«ã¯å®è³ªçã«ãŠãŒã¶ãŒãããé«ãæš©éãä»äžãããŠããŸãã
ãŠãŒã¶ãŒã«èªèº«ãããé«ãæš©éãä»äžããããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éåçšãèš±å¯ãããšããããšã¯ãLinux ã§ã¯ sudo
ããŒã«ãWindows ã§ã¯ããã»ã¹ã®ææ Œã䜿çšããã®ãšåæ§ã«ããŠãŒã¶ãŒã«å¯Ÿããæå³çã«æš©éææ Œãäžæçã«èš±å¯ãããšããããšã§ããäžæçãªæš©éææ Œãå¿
èŠãšãªãç¶æ³ã«å¯ŸåŠããå Žåãé€ããèªèº«ãããé«ãæš©éãä»äžããããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éåçšããŠãŒã¶ãŒã«èš±å¯ããªãã§ãã ããã
ãŠãŒã¶ãŒã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éããªãœãŒã¹ã«æ¥ç¶ãããã®ãªãœãŒã¹ã§ã³ãŒããå®è¡ããããšã§ã鿥çã«ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãååŸããå¯èœæ§ããããŸãããã®æ¹æ³ã§ã³ãŒããå®è¡ããŠããèªèšŒããã IDïŒãµãŒãã¹ ã¢ã«ãŠã³ãã® IDïŒã 1 ã€ãããªãããããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éã¯åçšãããŸããããã ããä»ã®æ¹æ³ã§ã¯åŸãããªããããªæš©éãååŸã§ããŸãã
ãŠãŒã¶ãŒããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšãããããµãŒãã¹ ã¢ã«ãŠã³ãããªãœãŒã¹ã«æ¥ç¶ã§ããæš©éã«ã¯ã次ã®ãããªãã®ããããŸãã
iam.serviceAccounts.getAccessToken
iam.serviceAccounts.getOpenIdToken
iam.serviceAccounts.actAs
iam.serviceAccounts.implicitDelegation
iam.serviceAccounts.signBlob
iam.serviceAccounts.signJwt
iam.serviceAccountKeys.create
deploymentmanager.deployments.create
cloudbuild.builds.create
ãããã®æš©éã®äžéšãå«ãããŒã«ã«ã¯ã以äžã®ãã®ããããŸãïŒãããã«éå®ãããŸããïŒã
- ãªãŒããŒïŒ
roles/owner
ïŒ - ç·šéè
ïŒ
roles/editor
ïŒ - ãµãŒãã¹ ã¢ã«ãŠã³ã ãŠãŒã¶ãŒïŒ
roles/iam.serviceAccountUser
ïŒ - ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã¯ã³äœæè
ïŒ
roles/iam.serviceAccountTokenCreator
ïŒ - ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒç®¡çè
ïŒ
roles/iam.serviceAccountKeyAdmin
ïŒ - ãµãŒãã¹ ã¢ã«ãŠã³ã管çè
ïŒ
roles/iam.serviceAccountAdmin
ïŒ - Workload Identity ãŠãŒã¶ãŒïŒ
roles/iam.workloadIdentityUser
ïŒ - Deployment Manager ç·šéè
ïŒ
roles/deploymentmanager.editor
ïŒ - Cloud Build ç·šéè
ïŒ
roles/cloudbuild.builds.editor
ïŒ
ãŠãŒã¶ãŒã«ãããã®ããŒã«ã®ãããããå²ãåœãŠãåã«ã次ã®é ç®ã確èªããŠãã ããã
- ãµãŒãã¹ ã¢ã«ãŠã³ãã«ãªãããŸãããšã§ãŠãŒã¶ãŒãã¢ã¯ã»ã¹æš©ãç²åŸã§ããå¯èœæ§ããããçŸåšã® Google Cloud ãããžã§ã¯ãå å€ã®ãªãœãŒã¹ã¯ã©ã®ãããªãã®ãïŒ
- ãã®ã¬ãã«ã®ã¢ã¯ã»ã¹æš©ã¯æ£åœã§ãããïŒ
- ãŠãŒã¶ãŒããµãŒãã¹ ã¢ã«ãŠã³ãã«ãªãããŸãããšãã§ããç¶æ³ãå¶åŸ¡ããããã®ãååãªä¿è·å¯Ÿçãå°å ¥ããŠãããïŒ
äžè¿°ã®è³ªåã®ãã¹ãŠã確èªã§ããªãå Žåã¯ãããŒã«ãå²ãåœãŠãªãã§ãã ããã代ããã«ãæš©éã®äœãå¥ã®ãµãŒãã¹ ã¢ã«ãŠã³ãããŠãŒã¶ãŒã«å²ãåœãŠãããšãæ€èšããŠãã ããã
ãŠãŒã¶ãŒãèªèº«ãããé«ãæš©éãä»äžãããŠãããµãŒãã¹ ã¢ã«ãŠã³ãã®èš±å¯ããªã·ãŒã倿Žã§ããªãããã«ãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã®äœ¿çšãŸãã¯æš©éåçšãèš±å¯ããããŠãŒã¶ãŒã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã®èš±å¯ããªã·ãŒã«ãã£ãŠãã£ããã£ãããŸããèš±å¯ããªã·ãŒã倿ŽãŸãã¯æ¡åŒµã§ããã®ã¯ãç¹å®ã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«å¯Ÿãã iam.serviceAccounts.setIamPolicy
æš©éãä»äžããããŠãŒã¶ãŒã§ãããã®æš©éãå«ãããŒã«ã«ã¯æ¬¡ã®ãã®ããããŸãã
- ãªãŒããŒïŒ
roles/owner
ïŒ - ã»ãã¥ãªãã£ç®¡çè
ïŒ
roles/iam.securityAdmin
ïŒ - ãµãŒãã¹ ã¢ã«ãŠã³ã管çè
ïŒ
roles/iam.serviceAccountAdmin
ïŒ
iam.serviceAccounts.setIamPolicy
æš©éãå«ãããŒã«ã«ãã£ãŠããŠãŒã¶ãŒã¯ãµãŒãã¹ ã¢ã«ãŠã³ããå®å
šã«å¶åŸ¡ã§ããŸãã
- ãŠãŒã¶ãŒã¯ãµãŒãã¹ ã¢ã«ãŠã³ãã®åçšæš©éãèªèº«ã«ä»äžã§ããŸããããã«ããããµãŒãã¹ ã¢ã«ãŠã³ããšåããªãœãŒã¹ã«ã¢ã¯ã»ã¹ããæš©éããŠãŒã¶ãŒã«ä»äžãããŸãã
- ãã®ãŠãŒã¶ãŒã¯ãåäžãŸãã¯é¡äŒŒããã¬ãã«ã®ãµãŒãã¹ ã¢ã«ãŠã³ããžã®ã¢ã¯ã»ã¹æš©ãä»ã®ãŠãŒã¶ãŒã«ä»äžã§ããŸãã
ãããã®ããŒã«ã®ããããããŠãŒã¶ãŒã«å²ãåœãŠãåã«ããµãŒãã¹ ã¢ã«ãŠã³ãã«ãªãããŸãããšã§ãŠãŒã¶ãŒãã¢ã¯ã»ã¹æš©ãååŸã§ããå¯èœæ§ããããçŸåšã® Google Cloud ãããžã§ã¯ãå å€ã®å¯Ÿè±¡ãªãœãŒã¹ã«ã€ããŠç¢ºèªããŠãã ããããµãŒãã¹ ã¢ã«ãŠã³ãã«ãŠãŒã¶ãŒãããå€ãã®æš©éãä»äžãããŠããå Žåã¯ããŠãŒã¶ãŒã«ãµãŒãã¹ ã¢ã«ãŠã³ãã®èš±å¯ããªã·ãŒã®å€æŽãèš±å¯ããªãã§ãã ããã
ãŠãŒã¶ãŒããµãŒãã¹ ã¢ã«ãŠã³ã ããŒãäœæãŸãã¯ã¢ããããŒãããããšãèš±å¯ããªã
ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³ãŸãã¯ãŠãŒã¶ãŒã¯ãµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒãããŸããä»ã®åœ¢åŒã®ãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éåçšãšã¯ç°ãªãããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã䜿çšããå Žåãäºåã«èªèšŒãããšãã圢ããšãå¿ èŠã¯ãããŸããããµãŒãã¹ ã¢ã«ãŠã³ã ããŒãææããŠãããŠãŒã¶ãŒã§ããã°ã誰ã§ããµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšã§ããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã䜿çšããŠèªèšŒããå Žåã®æçµçãªåœ±é¿ã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éåçšãšåæ§ã§ãããŠãŒã¶ãŒã«ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒãžã®ã¢ã¯ã»ã¹æš©ãä»äžããå ŽåããŸãã¯æ°ãããµãŒãã¹ ã¢ã«ãŠã³ã ããŒãäœæããæš©éããŠãŒã¶ãŒã«ä»äžããå ŽåããŠãŒã¶ãŒã¯ãµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒããããµãŒãã¹ ã¢ã«ãŠã³ããã¢ã¯ã»ã¹ã§ãããã¹ãŠã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã
ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒãäœæãŸãã¯ã¢ããããŒãããã«ã¯ãiam.serviceAccountKeys.create
æš©éãå¿
èŠã§ãããã®æš©éã¯ããµãŒãã¹ ã¢ã«ãŠã³ã ããŒç®¡çè
ïŒroles/iam.serviceAccountKeyAdmin
ïŒãšç·šéè
ïŒroles/editor
ïŒã®ããŒã«ã«å«ãŸããŠããŸãã
iam.serviceAccountKeys.create
æš©éãå«ãããŒã«ããŠãŒã¶ãŒã«å²ãåœãŠãåã«ããµãŒãã¹ ã¢ã«ãŠã³ãã«ãªãããŸãããšã§ãŠãŒã¶ãŒãã¢ã¯ã»ã¹æš©ãååŸã§ããå¯èœæ§ããããçŸåšã®Google Cloud ãããžã§ã¯ãå
å€ã®å¯Ÿè±¡ãªãœãŒã¹ã«ã€ããŠèªåããŠãã ãããå¿
èŠä»¥äžã®æš©éãä»äžããããµãŒãã¹ ã¢ã«ãŠã³ãã®ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒããŠãŒã¶ãŒãäœæããããšãèš±å¯ããªãã§ãã ããã
Google Cloud ãããžã§ã¯ãã§ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒããŸã£ããå¿
èŠãšãããªãå Žåã¯ããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã®äœæã®ç¡å¹åãšãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã®ã¢ããããŒãã®ç¡å¹åã®çµç¹ããªã·ãŒå¶çŽãã Google Cloud ãããžã§ã¯ããŸãã¯ãããžã§ã¯ãã«å«ãŸããŠãããã©ã«ãã«é©çšããŸãããããã®å¶çŽã«ããããµãŒãã¹ ã¢ã«ãŠã³ãã«å¯Ÿãã iam.serviceAccountKeys.create
æš©éãä»äžãããŠãããŠãŒã¶ãŒãå«ãããã¹ãŠã®ãŠãŒã¶ãŒããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã®äœæãšã¢ããããŒããè¡ãããšãã§ããªããªããŸãã
Google Cloud ãããžã§ã¯ã ã¬ãã«ãŸãã¯ãã©ã«ãã¬ãã«ã§ãµãŒãã¹ ã¢ã«ãŠã³ããžã®ã¢ã¯ã»ã¹æš©ãä»äžããªã
ãµãŒãã¹ ã¢ã«ãŠã³ãã¯ãªãœãŒã¹ã§ããããªãœãŒã¹éå±€ã®äžéšã§ãããããã£ãŠããµãŒãã¹ ã¢ã«ãŠã³ããžã®ã¢ã¯ã»ã¹ã¯ã次ã®ããããã®ã¬ãã«ã§ç®¡çã§ããŸãã
- åå¥ã®ãµãŒãã¹ ã¢ã«ãŠã³ã
- ãããå«ã Google Cloud ãããžã§ã¯ã
- Google Cloud ãããžã§ã¯ãã®ç¥å ã«å«ãŸãããã©ã«ã
- çµç¹ããŒã
Google Cloud ãããžã§ã¯ã ã¬ãã«ãŸãã¯ãªãœãŒã¹éå±€ã®äžäœã§ã¢ã¯ã»ã¹ã管çãããšã管çãªãŒããŒããããåæžã§ããŸãããæš©éã®éå°ãªä»äžã«ã€ãªããå¯èœæ§ããããŸããããšãã°ã Google Cloud ãããžã§ã¯ãã§ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã¯ã³äœæè ã®ããŒã«ããŠãŒã¶ãŒã«ä»äžãããšããã®ãŠãŒã¶ãŒã¯ Google Cloud ãããžã§ã¯ãå ã®ä»»æã®ãµãŒãã¹ ã¢ã«ãŠã³ãã«ãªãããŸãããšãã§ããŸãããµãŒãã¹ ã¢ã«ãŠã³ãã«ãªãããŸãããšãå¯èœã§ãããšããããšã¯ã該åœãã Google Cloud ãããžã§ã¯ãå€éšã«ååšãããªãœãŒã¹ãå«ãããµãŒãã¹ ã¢ã«ãŠã³ããã¢ã¯ã»ã¹ã§ãããã¹ãŠã®ãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹æš©ããŠãŒã¶ãŒãç²åŸã§ããå¯èœæ§ãããããšãæå³ããŸãã
ãã®ãããªéå°ãªæš©éã®ä»äžãåé¿ãããããGoogle Cloud ãããžã§ã¯ã ã¬ãã«ãŸãã¯ãã©ã«ãã¬ãã«ã§ã¯ãµãŒãã¹ ã¢ã«ãŠã³ãã«å¯Ÿããã¢ã¯ã»ã¹æš©ã管çããªãã§ãã ããã代ããã«ããµãŒãã¹ ã¢ã«ãŠã³ãããšã«åå¥ã«ã¢ã¯ã»ã¹æš©ã管çããŠãã ããã
ç¹æš©ãµãŒãã¹ ã¢ã«ãŠã³ããå²ãåœãŠãããŠããã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã«å¯ŸããŠã¯ãã»ãã¥ãªãã£ä¿è·ã®çšåºŠãäœããœãŒã¹ããã³ãŒããå®è¡ããªã
VM ã€ã³ã¹ã¿ã³ã¹ãªã©ã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã«ãµãŒãã¹ ã¢ã«ãŠã³ããæ¥ç¶ãããšããã®ãªãœãŒã¹ã§å®è¡äžã®ããã»ã¹ãã¡ã¿ããŒã¿ ãµãŒããŒã䜿çšããŠãã¢ã¯ã»ã¹ ããŒã¯ã³ãš ID ããŒã¯ã³ããªã¯ãšã¹ãã§ããŸãããããã®ããŒã¯ã³ã«ãããããã»ã¹ã¯ãµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒãããããã»ã¹ã«ä»£ãã£ãŠãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã
ããã©ã«ãã§ã¯ãã¡ã¿ããŒã¿ ãµãŒããŒãžã®ã¢ã¯ã»ã¹ã¯ãç¹å®ã®ããã»ã¹ããŠãŒã¶ãŒã«å¶éãããŸãããã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã«å¯ŸããŠå®è¡ãããã³ãŒãã¯ãã¡ã¿ããŒã¿ ãµãŒããŒã«ã¢ã¯ã»ã¹ããŠã¢ã¯ã»ã¹ ããŒã¯ã³ãååŸã§ããŸãããã®ãããªã³ãŒãã«ã¯ã次ã®ãã®ãå«ãŸããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒãã
- ãšã³ããŠãŒã¶ãŒããéä¿¡ãããã³ãŒãïŒã¢ããªã±ãŒã·ã§ã³ããµãŒããŒåŽã®ã¹ã¯ãªããè©äŸ¡ãèš±å¯ããŠããå ŽåïŒã
- ãªã¢ãŒã ãœãŒã¹ ãªããžããªããèªã¿åã£ãã³ãŒãïŒã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã CI / CD ã·ã¹ãã ã®äžéšã§ããå ŽåïŒã
- Cloud Storage ãã±ããã«ãã£ãŠé ä¿¡ãããèµ·åã¹ã¯ãªãããšã·ã£ããããŠã³ ã¹ã¯ãªããã
- VM Manager ããé ä¿¡ãããã²ã¹ãããªã·ãŒã
ã³ãŒãããŠãŒã¶ãŒããéä¿¡ããããããªã¢ãŒãã®ä¿ç®¡å Žæããèªã¿åãããå Žåã¯ãä¿¡é Œã§ãããŠãŒã¶ãŒãŸãã¯ä¿ç®¡å Žæã§ããããšãšããªã¢ãŒãã®ä¿ç®¡å Žæãå°ãªããšãæ¥ç¶ããããµãŒãã¹ ã¢ã«ãŠã³ããšåçšåºŠã«ã»ãã¥ãªãã£ã§ä¿è·ãããŠããããšã確èªããå¿ èŠããããŸãããªã¢ãŒãã®ä¿ç®¡å ŽæããµãŒãã¹ ã¢ã«ãŠã³ããšåçšåºŠã«ä¿è·ãããŠããªããã°ãäžæ£ãªè¡çºè ãæš©éãææ Œãããå¯èœæ§ããããŸãããã®ææ®µãšããŠãäžæ£ãªè¡çºè ããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éã䜿çšããæªæã®ããã³ãŒããä¿ç®¡å Žæã«æ¿å ¥ããããšãèããããŸãã
ç¹æš©ãµãŒãã¹ ã¢ã«ãŠã³ããæ¥ç¶ãããŠãã VM ãžã®ã·ã§ã«ã¢ã¯ã»ã¹ãå¶éãã
äžéšã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã¯ã€ã³ã¿ã©ã¯ãã£ã ã¢ã¯ã»ã¹ããµããŒãããŠããããŠãŒã¶ãŒã«ããã·ã¹ãã ãžã®ã·ã§ã«ã¢ã¯ã»ã¹æš©ã®ååŸãèš±å¯ããŸããæ¬¡ã«äŸã瀺ããŸãã
- Compute Engine ã§ã¯ãSSH ãŸã㯠RDP ã䜿çšã㊠VM ã€ã³ã¹ã¿ã³ã¹ã«ãã°ã€ã³ã§ããŸãã
- Google Kubernetes Engine ã§ã¯ãkubectl exec ã䜿çšããŠãKubernetes ã³ã³ããã§ã³ãã³ããå®è¡ããããã·ã§ã«ãèµ·åãããã§ããŸãã
VM ã€ã³ã¹ã¿ã³ã¹ã«ç¹æš©ãµãŒãã¹ ã¢ã«ãŠã³ããæ¥ç¶ãããŠããå Žåãã·ã¹ãã ãžã®ã·ã§ã«ã¢ã¯ã»ã¹æš©ãæã€ãã¹ãŠã®ãŠãŒã¶ãŒãããµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒããããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããŸãããŠãŒã¶ãŒããã®æš©éãäžæ£äœ¿çšããŠèªèº«ã®æš©éãææ Œã§ããªãããã«ããã«ã¯ãå°ãªããšãæ¥ç¶ããããµãŒãã¹ ã¢ã«ãŠã³ããšåçšåºŠã«ãã·ã§ã«ã¢ã¯ã»ã¹æš©ãä¿è·ããå¿ èŠããããŸãã
Linux ã€ã³ã¹ã¿ã³ã¹ã®å Žåã¯ãOS Login ã䜿çšããŠãæ¥ç¶ãããŠãããµãŒãã¹ ã¢ã«ãŠã³ããžã®ã¢ã¯ã»ã¹ããã SSH ã¢ã¯ã»ã¹ã«å¯Ÿããå¶éã匷åã§ããŸããOS Login ãæå¹ã«ãªã£ãŠãã VM ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããã«ã¯ããŠãŒã¶ãŒã¯ OS Login ã®äœ¿çšãèš±å¯ãããŠããããšã«å ããæ¥ç¶ãããŠãããµãŒãã¹ ã¢ã«ãŠã³ãã«å¯Ÿãã iam.serviceAccounts.actAs
æš©éãä»äžãããŠããå¿
èŠããããŸãã
åãã¬ãã«ã®ã¢ã¯ã»ã¹å¶åŸ¡ã¯ãã¡ã¿ããŒã¿ ããŒã¹ã®éµã䜿çšãã VM ã€ã³ã¹ã¿ã³ã¹ã«ããWindows ã€ã³ã¹ã¿ã³ã¹ã«ãé©çšãããŸãããã¡ã¿ããŒã¿ã® SSH èªèšŒéµãå
¬éããããWindows èªèšŒæ
å ±ããªã¯ãšã¹ããããããã«ã¯ãVM ã€ã³ã¹ã¿ã³ã¹ã®ã¡ã¿ããŒã¿ãžã®ã¢ã¯ã»ã¹æš©ãšãæ¥ç¶ããããµãŒãã¹ ã¢ã«ãŠã³ãã«å¯Ÿãã iam.serviceAccounts.actAs
æš©éãå¿
èŠã§ãããã ããSSH èªèšŒéµã®å
¬éåŸãŸã㯠Windows èªèšŒæ
å ±ã®ååŸåŸã¯ã以éã®ãã°ã€ã³ã« IAM æš©éãã§ãã¯ãé©çšãããããšã¯äžåãããŸããã
åæ§ã«ãVM ã€ã³ã¹ã¿ã³ã¹ã§èªèšŒã«ã«ã¹ã¿ã ã® Linux ãã©ã°ã€ã³å¯Ÿå¿èªèšŒã¢ãžã¥ãŒã«ã䜿çšããŠããå ŽåããVM ã€ã³ã¹ã¿ã³ã¹ã Active Directory ãã¡ã€ã³ã®ã¡ã³ããŒã§ããå Žåãæ¬æ¥ã¯ãµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒãããªããŠãŒã¶ãŒããã°ã€ã³ã§ããŠããŸããŸãã詳现ã«ã€ããŠã¯ãGoogle Cloudã§ Active Directory ãå®è¡ããããã®ãã¹ã ãã©ã¯ãã£ã¹ãã芧ãã ããã
OS Login ã䜿çšããªã VM ã€ã³ã¹ã¿ã³ã¹ã§ã¯ç¹ã«ãIdentity-Aware Proxy ã«ããã·ã§ã«ã¢ã¯ã»ã¹æš©ã®ä»äžãæ€èšããŠãã ãããVM ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããããµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒãããå¿
èŠããããŠãŒã¶ãŒã«ã®ã¿ãIAP ã§ä¿è·ããããã³ãã« ãŠãŒã¶ãŒïŒroles/iap.tunnelResourceAccessor
ïŒããŒã«ãä»äžããŸãã
ã¡ã¿ããŒã¿ ãµãŒããŒã«ããã¢ã¯ã»ã¹ãéžæãããŠãŒã¶ãŒãšããã»ã¹ã«å¶éãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã VM ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ãããšããã® VM ã«ãããã€ãããã¯ãŒã¯ããŒããã¡ã¿ããŒã¿ ãµãŒããŒã«ã¢ã¯ã»ã¹ãããµãŒãã¹ ã¢ã«ãŠã³ãã®ããŒã¯ã³ããªã¯ãšã¹ãã§ããŸããããã©ã«ãã§ã¯ãã¡ã¿ããŒã¿ ãµãŒããŒãžã®ã¢ã¯ã»ã¹ã¯ãVM äžã®ç¹å®ã®ããã»ã¹ããŠãŒã¶ãŒã«å¶éãããŸãããLinux ã® nobody
ã Windows äžã® LocalService
ãªã©ãæš©éã®äœããŠãŒã¶ãŒãšããŠå®è¡ãããŠããããã»ã¹ã§ããã¡ã¿ããŒã¿ ãµãŒããŒãžã®å®å
šã¢ã¯ã»ã¹æš©ã䜿çšããŠããµãŒãã¹ ã¢ã«ãŠã³ãã®ããŒã¯ã³ãååŸã§ããŸãã
ã¡ã¿ããŒã¿ ãµãŒããŒãžã®ã¢ã¯ã»ã¹ãç¹å®ã®ãŠãŒã¶ãŒã«å¶éããã«ã¯ãã²ã¹ã ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ãã¹ã ãã¡ã€ã¢ãŠã©ãŒã«ãæ§æããŠããããã®ãŠãŒã¶ãŒã®ã¿ãã¡ã¿ããŒã¿ ãµãŒããŒã«å¯Ÿããã¢ãŠãããŠã³ãæ¥ç¶ãéãããšãã§ããããã«ããŸãã
Linux ã§ã¯ã--uid-owner
ãªãã·ã§ã³ãš --gid-owner
ãªãã·ã§ã³ã䜿çšããŠãç¹å®ã®ãŠãŒã¶ãŒãŸãã¯ã°ã«ãŒãã«ã®ã¿é©çšããã iptables
ã«ãŒã«ãèšå®ã§ããŸããWindows ã§ã¯ãSet-NetFirewallSecurityFilter
ã³ãã³ãã䜿çšããŠãéžæãããŠãŒã¶ãŒãŸãã¯ã°ã«ãŒãã«é©çšãããããã«ãã¡ã€ã¢ãŠã©ãŒã« ã«ãŒã«ãã«ã¹ã¿ãã€ãºã§ããŸãã
æ å ±é瀺ã®è åšããã®ä¿è·
ãã¹ã ãã©ã¯ãã£ã¹:
ãµãŒãã¹ ã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹ã§æ©å¯æ å ±ãé瀺ããªãããµãŒãã¹ ã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹ã§æ©å¯æ å ±ãé瀺ããªã
å¥ã® Google Cloud ãããžã§ã¯ãå ã®ãªãœãŒã¹ã«ãµãŒãã¹ ã¢ã«ãŠã³ããžã®ã¢ã¯ã»ã¹æš©ãä»äžããã«ã¯ããªãœãŒã¹ã®èš±å¯ããªã·ãŒã«ããŒã« ãã€ã³ãã£ã³ã°ã远å ããŸãããªãœãŒã¹èªäœãšåæ§ã«ãèš±å¯ããªã·ãŒã¯å¥ã® Google Cloud ãããžã§ã¯ãã®äžéšã§ãããèš±å¯ããªã·ãŒã®å¯èŠæ§ãããã®å¥ã® Google Cloud ãããžã§ã¯ãã«ãã£ãŠç®¡çãããŸãã
èš±å¯ããªã·ãŒã®è¡šç€ºã¯ãéåžžã¯ç¹æš©æäœãšã¿ãªãããŸããããã®æäœã«å¿
èŠãª *.getIamPolicy
æš©éã¯ãåºæ¬çãªé²èЧè
ã®ããŒã«ãã¯ãããå€ãã®ããŒã«ã«å«ãŸããŠããŸãã
èš±å¯ããªã·ãŒã衚瀺ã§ãããŠãŒã¶ãŒã¯ããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããŠããããªã³ã·ãã«ã®ã¡ãŒã«ã¢ãã¬ã¹ã衚瀺ã§ããŸãããµãŒãã¹ ã¢ã«ãŠã³ãã®å Žåãã¡ãŒã«ã¢ãã¬ã¹ãäžæ£ãªè¡çºè ã«ãã³ããäžããå¯èœæ§ããããŸãã
ããšãã°ãèš±å¯ããªã·ãŒã«ãã¡ãŒã«ã¢ãã¬ã¹ãšã㊠jenkins@deployment-project-123.iam.gserviceaccount.com
ãèšå®ããããµãŒãã¹ ã¢ã«ãŠã³ãã®ãã€ã³ãã£ã³ã°ãå«ãŸããŠãããšããŸããäžæ£ãªè¡çºè
ã«ãšã£ãŠããã®ã¡ãŒã«ã¢ãã¬ã¹ã¯ ID ã deployment-project-123
ã® Google Cloud ãããžã§ã¯ããããããšã ãã§ãªãããã® Google Cloud ãããžã§ã¯ãã Jenkins ãµãŒããŒãå®è¡ããããšãæãããŠããŸããdeployer@deployment-project-123.iam.gserviceaccount.com
ãªã©ã®äžè¬çãªååãéžæãããšãdeployment-project-123
ã§å®è¡ããŠãããœãããŠã§ã¢ã®çš®é¡ã«é¢ããæ
å ±ã®é瀺ãé¿ããããšãã§ããŸãã
ã¢ã¯ã»ã¹ã®å¶åŸ¡ãè匱㪠Google Cloud ãããžã§ã¯ãå ã®ãªãœãŒã¹ïŒãµã³ãããã¯ã¹ãéçºç°å¢ã®Google Cloud ãããžã§ã¯ããªã©ïŒãžã®ã¢ã¯ã»ã¹æš©ããµãŒãã¹ ã¢ã«ãŠã³ãã«ä»äžããå Žåã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹ã«ãã£ãŠæ å ±ãé瀺ãããªãããã«ããŠãã ãããç¹ã«ãæ©å¯æ§ã®é«ãæ å ±ãæ»æè ã«ãã³ããäžããå¯èœæ§ã®ããæ å ±ã¯é瀺ããªãã§ãã ããã
åŠèªé²æ¢ã®è åšããã®ä¿è·
Google Cloudäžã®ãªãœãŒã¹ã«åœ±é¿ããäžå¯©ãªã¢ã¯ãã£ããã£ã倿ããå ŽåãCloud Audit Logs ã¯åžžã«ãã¢ã¯ãã£ããã£ã®çºçæå»ãšé¢äžãããŠãŒã¶ãŒãç¹å®ããããã®éèŠãªæ å ±æºã«ãªããŸãã
Cloud Audit Logs ã«ãµãŒãã¹ ã¢ã«ãŠã³ãã«ãã£ãŠã¢ã¯ãã£ããã£ãå®è¡ããããšã瀺ãããŠããå Žåããã®æ å ±ã ãã§åžžã«äžé£ã®ã€ãã³ãã®ãã¹ãŠãåæ§ç¯ã§ãããšã¯éããŸããããã®å ŽåããµãŒãã¹ ã¢ã«ãŠã³ãããã®ã¢ã¯ãã£ããã£ãå®è¡ããçºç«¯ãšãªã£ããŠãŒã¶ãŒãŸãã¯ã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠãç¹å®ã§ããå¿ èŠããããŸãã
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãåŠèªé²æ¢ã«é¢ããç£æ»èšŒè·¡ãä¿æããããã§æçšãªãã¹ã ãã©ã¯ãã£ã¹ã«ã€ããŠèª¬æããŸãã
ãã¹ã ãã©ã¯ãã£ã¹:
ä»ã«æå¹ãªæ¹æ³ããªãå Žåã«ã®ã¿ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã䜿çšãããIAM API ã®ããŒã¿ã¢ã¯ã»ã¹ ãã°ãæå¹ã«ããã
CI / CD ã®å±¥æŽã Cloud Audit Logs ã«é¢é£ä»ãã§ããããã«ããã
ã¢ããªã±ãŒã·ã§ã³ã®åã ã®ãŠãŒã¶ãŒã®ã«ã¹ã¿ã ãã°ãšã³ããªãäœæããã
ä»ã«æå¹ãªæ¹æ³ããªãå Žåã«ã®ã¿ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã䜿çšãã
ããå®å šãªèªèšŒæ¹æ³ã䜿çšã§ããªãå Žåã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã®äœæãå¿ èŠã«ãªãå ŽåããããŸãããã ãããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã«ããèªèšŒã§ã¯ãåŠèªé²æ¢ã®è åšãçºçããŸããCloud Audit Logs ã¯ããµãŒãã¹ ã¢ã«ãŠã³ãããªãœãŒã¹ã倿Žãããšãã«ãã°ãäœæããŸããããµãŒãã¹ ã¢ã«ãŠã³ãããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã§èªèšŒãããŠããå Žåã誰ãéµã䜿çšãããã確èªããä¿¡é Œã§ããæ¹æ³ã¯ãããŸãããããã«å¯ŸããŠããŠãŒã¶ãŒèªèšŒæ å ±ã䜿çšããŠãµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éãåçšããããšã§ãµãŒãã¹ ã¢ã«ãŠã³ããšããŠèªèšŒãããšããµãŒãã¹ ã¢ã«ãŠã³ããšããŠåäœããããªã³ã·ãã«ããã°ã«èšé²ãããŸãã
Google Cloud ãããžã§ã¯ããŸãã¯ããã«å«ãŸãããã©ã«ãã«ããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã®äœæãç¡å¹ã«ããçµç¹ã®ããªã·ãŒã®å¶çŽãé©çšããŠããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã®äœæãé²ãããšãããããããŸããæšå¥šããä»£æ¿ææ®µã§å¯Ÿå¿ã§ããªãã·ããªãªã§ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã䜿çšããå¿ èŠãããå Žåã¯ãããªã·ãŒå¶çŽã«å¯èœãªéãçãäŸå€ãé©çšãããµãŒãã¹ ã¢ã«ãŠã³ã ããŒã管çããããã®ãã¹ã ãã©ã¯ãã£ã¹ã確èªããŠãã ããã
IAM API ã®ããŒã¿ã¢ã¯ã»ã¹ ãã°ãæå¹ã«ãã
Compute Engine ãªã©ã®ãµãŒãã¹ã§ã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã®æš©éåçšãèå¥ããŠææ¡ã§ããããã«ãCloud Audit Logs ã« serviceAccountDelegationInfo
ã»ã¯ã·ã§ã³ã远å ããŠããŸãããã®ã»ã¯ã·ã§ã³ã«ã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã®ãªãããŸããè¡ãããŠãããã©ãããè¡ãããŠããå Žåã¯ã©ã®ãŠãŒã¶ãŒããªãããŸããŠãããã瀺ãããŸãã
ãã¹ãŠã®ãµãŒãã¹ã§ãCloud Audit Logs ã«ãªãããŸãã®è©³çްãèšé²ããããã§ã¯ãããŸããããã¹ãŠã®ãªãããŸãã®ã€ãã³ããèšé²ããã«ã¯ã次㮠API ã«å¯ŸããŠããŒã¿ã¢ã¯ã»ã¹ ãã°ãæå¹åããå¿ èŠããããŸãã
- ãµãŒãã¹ ã¢ã«ãŠã³ããå«ããã¹ãŠã®Google Cloud ãããžã§ã¯ãã® Identity and Access ManagementïŒIAMïŒAPI
- Workload Identity ããŒã«ãå«ãŸãããã¹ãŠã® Google Cloud ãããžã§ã¯ãã® Security Token Service API
ãããã®ãã°ãæå¹ã«ããããšã§ããŠãŒã¶ãŒããµãŒãã¹ ã¢ã«ãŠã³ãã®ã¢ã¯ã»ã¹ ããŒã¯ã³ãŸã㯠ID ããŒã¯ã³ããªã¯ãšã¹ããããã³ã«ããã®ãšã³ããªã Cloud Audit Logs ã«è¿œå ãããŸãã
CI / CD ã®å±¥æŽã Cloud Audit Logs ã«é¢é£ä»ãã§ããããã«ãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã¯äžè¬ã«ãã³ãŒã倿Žã®æ€èšŒãšãããã€ã®æ¿èªãå®äºããåŸã«ãCI / CD ã·ã¹ãã ã§ãããã€ãå®è¡ããããã«äœ¿çšãããŸããéåžžãCI / CD ã·ã¹ãã ã¯ããããã€ã«ã€ãªãã£ãã€ãã³ãã®å±¥æŽãä¿æããŸãããã®å±¥æŽã«ã¯ã察å¿ããã³ãŒãã¬ãã¥ãŒãcommitããã€ãã©ã€ã³å®è¡ã® IDããããã€ã®æ¿èªè ã«é¢ããæ å ±ãå«ãŸããå ŽåããããŸãã
ãããã€ã«ãã£ãŠ Google Cloudäžã®ãªãœãŒã¹ã倿Žããããšã該åœãããªãœãŒã¹ã® Cloud Audit Logs ã§ãããã®å€æŽã远跡ãããŸããCloud Audit Logs ã«ã¯ã倿Žãéå§ãããŠãŒã¶ãŒãŸãã¯ãµãŒãã¹ ã¢ã«ãŠã³ãã«é¢ããæ å ±ãèšé²ãããŸãããã ããCI / CD ã·ã¹ãã ã«ãã£ãŠããªã¬ãŒããããããã€ã§ã¯ãå€ãã®å ŽåããµãŒãã¹ ã¢ã«ãŠã³ãèªäœã®æ å ±ã ãã§ã¯å€æŽã®åå ãšãªã£ãäžé£ã®ã€ãã³ãããã¹ãŠåæ§ç¯ã§ããŸããã
CI / CD ã·ã¹ãã ãš Google Cloudã§äžè²«ããç£æ»èšŒè·¡ã確ç«ããã«ã¯ãCloud Audit Logs ã®ã¬ã³ãŒãã CI / CD ã·ã¹ãã ã®å±¥æŽã§ã€ãã³ãã«é¢é£ä»ãã§ããããã«ããå¿ èŠããããŸããCloud Audit Logs ã§äºæããªãã€ãã³ããçºçããå Žåã¯ããã®é¢é£ä»ãã䜿çšããŠã倿Žãå®éã« CI / CD ã·ã¹ãã ã«ãã£ãŠè¡ããããåŠããå®è¡ãããçç±ãæ¿èªè ã«ã€ããŠç¢ºèªã§ããŸãã
CI / CD ã·ã¹ãã ã®å±¥æŽã§ Cloud Audit Logs ã®ã¬ã³ãŒããšã€ãã³ããé¢é£ä»ããã«ã¯ã以äžã®æ¹æ³ããããŸãã
- CI / CD ãã€ãã©ã€ã³ãå®è¡ããããã³ã«ããã° API ãªã¯ãšã¹ããå®è¡ããã
- API ããªãã¬ãŒã·ã§ã³ ID ãè¿ããã³ã«ãCI / CD ã·ã¹ãã ã®ãã°ã« ID ãèšé²ããã
API ãªã¯ãšã¹ãã«
X-Goog-Request-Reason
HTTP ããããŒã远å ããCI / CD ãã€ãã©ã€ã³å®è¡ã® ID ãæž¡ãããªã¯ãšã¹ãã®çç±ãæå®ãããšãTerraform ããã®ããããŒãèªåçã«è¿œå ã§ããŸãããããã¯ã
User-Agent
ããããŒã«æ å ±ãåã蟌ãã§ Cloud Audit Logs ã«åã蟌ãããã«ããã
åŠèªé²æ¢ã確ç«ããããã«ããã°ãã¡ã€ã«ãš commit å±¥æŽã倿Žäžå¯ã§ãããäžæ£ãªè¡çºè ããã¬ãŒã¹ãé¡åçã«é èœã§ããªãããã«æ§æããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®åã ã®ãŠãŒã¶ãŒã«ã«ã¹ã¿ã ãã°ãšã³ããªãäœæãã
ãµãŒãã¹ ã¢ã«ãŠã³ãã¯ããŠãŒã¶ãŒãã«ã¹ã¿ã èªèšŒã¹ããŒã ã§èªèšŒãè¡ãã Google CloudãªãœãŒã¹ã«éæ¥çã«ã¢ã¯ã»ã¹ããã¢ããªã±ãŒã·ã§ã³ã«ã圹ç«ã¡ãŸãããããã®ã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒãèªèšŒããã³æ¿èªããããµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšã㊠Google CloudãµãŒãã¹ã®èªèšŒãè¡ãããªãœãŒã¹ã«ã¢ã¯ã»ã¹ããŠããããšã確èªã§ããŸãããã ããCloud Audit Logs ã¯ãã©ã®ãŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ã䜿çšãããã§ã¯ãªãããµãŒãã¹ ã¢ã«ãŠã³ãããªãœãŒã¹ã«ã¢ã¯ã»ã¹ããããšããã°ã«èšé²ããŸãã
ã¢ã¯ã»ã¹ãããŠãŒã¶ãŒã远跡ããã«ã¯ããŠãŒã¶ãŒããªãœãŒã¹ã«ã¢ã¯ã»ã¹ãããã³ã«ã«ã¹ã¿ã ãã°ãšã³ããªãæžã蟌ãããã«ã¢ããªã±ãŒã·ã§ã³ ããžãã¯ãèšèšããã«ã¹ã¿ã ãã°ãšã³ããªãš Cloud Audit Logs ãé¢é£ä»ããŸãã
次ã®ã¹ããã
- ãµãŒãã¹ ã¢ã«ãŠã³ã ããŒã®ç®¡çã«é¢ãããã¹ã ãã©ã¯ãã£ã¹ãçè§£ããã
- ããã〠ãã€ãã©ã€ã³ã§ãµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããããã®ãã¹ã ãã©ã¯ãã£ã¹ã確èªããã
- Workload Identity 飿ºã®äœ¿çšã«é¢ãããã¹ã ãã©ã¯ãã£ã¹ã確èªããã