
- TOP
- ã¿ã°äžèЧ
- ããã°ã©ãã³ã°
ããã°ã©ãã³ã°
ã€ãã³ã
ãã¬ãžã³
æè¡ããã°
ã¯ããã« ããã«ã¡ã¯ïŒäž¹çŸœãšç³ããŸãã åããŠã®ããã°æçš¿ã§ãããããããé¡ãããŸãã ä»åã¯ç§ããµã€ãªã¹ãã¯ãããžãŒã«å
¥ç€ŸããŠ1幎éã§èªãã æžç±ãã玹ä»ããŸãã ãããªæ¹ãžãããã å
¥ç€Ÿ1幎ç®ã®æ°å
¥ç€Ÿå¡ã»æ°äººãšã³ãžãã¢ã®æ¹ ITæ¥çãžã®å°±è·ã決ãŸã£ã倧åŠ4幎çã®æ¹ ãä»äºã®é²ãæ¹ãããæç« åãã«èª²é¡ãæããŠããæ¹ ããžãã¹æžç± å
¥ç€Ÿ1幎ç®ã®æç§æž ã¯ãŒã¯ãã㯠ãã®åã®éããå
¥ç€Ÿ1幎ç®ã®æ°å
¥ç€Ÿå¡ã«åããããžãã¹æžã§ãã ãåªç§ãªæ°äººãããã¢ãããŒã·ã§ã³ã®é«ãæ°äººããç®æããã®ã§ã¯ãªããããžãã¹ããŒãœã³ãšããŠæãéèŠãªãä¿¡é ŒããåŸãããšãç®æããŸãã æœè±¡çãªããšã§ã¯ãªããä»äºãããäžã§ã®å
·äœçãªä»äºè¡ãæžããŠãããŸãã ãã®æ¬ããèªãããèªãŸãªããã§ã¯ä»äºã«é©å¿ããé床ãå€ãããšæããŸãã ITãšã³ãžãã¢1幎ç®ã®æç§æž æ°äººãšã³ãžãã¢ãä»äºã§æåäœéšãç©ã¿éããèªåã§èªä¿¡ãè²ãŠãããããã«ããåªç§ãªè¥æãšã³ãžãã¢ãèªç¶ãšãã£ãŠããããšããèšèªåããæ¬ã§ãã æ§æã¯ããã¯ãã«ã«ã¹ãã«(第1éš)ããã¥ãŒãã³ã¹ãã«(第2éš)ãèªå·±æè³ã¹ãã«(第3éš)ãšãªã£ãŠãããã¹ãã«ããšã«ãŸãšãŸã£ãŠããã®ã§èªã¿ãããã§ãã äœåãèªã¿çŽããŠããæ¬ã®1ã€ã§ãã ã³ã³ãµã«äžå¹Žç®ãåŠã¶ããš ããŒãããã³ã³ãµã«äžå¹Žç®ãåŠã¶ããšãã§ãããè·æ¥ãæ¥çãåããã15幎ã20幎ãšãã£ãšåœ¹ç«ã€æ®éçãªã¹ãã«ããåºç€çãªã¬ãã«ããåŠã¹ãæ¬ã§ãã 4ç« æ§æã§ãããããã話ãæè¡(第1ç« )ãæèè¡(第2ç« )ããã¹ã¯ã¯ãŒã¯è¡(第3ç« )ãããžãã¹ãã€ã³ã(第4ç« )ãšãªã£ãŠããŸãã ç¹ã«ç¬¬1ç« ã®ããçžæã®æåŸ
å€ãææ¡ããããäžåžã®æåŸ
å€ãè¶
ããããšããç¯ã¯ã瀟äŒäºº1幎ç®ãããã£ãšå¿ãããããšã®1ã€ã ãšæããŸããã äŒç€Ÿã§ã¯æããŠããããªã äžã«è¡ã人ã®å ±é£çžã®ããã³ ãå ±é£çžãã«çŠç¹ãåœãŠãããã¡ããšä»äºãããªããŠããã®ã«è©äŸ¡ãããªãããä»äºãæãããã«é²ãŸãªãããšæ©ãã§ããæ°å
¥ç€Ÿå¡å«ãè¥æã®ããžãã¹ããŒãœã³åãã®æ¬ã§ãã åºæ¬çã«ä»äºã¯äžäººã§ãããã®ã§ã¯ãªããèªåã«å¯ŸããŠæ¥åã®æç€ºãšç®¡çãããäžåžããä»äºã®ææã®äž»ãªè©äŸ¡è
ã§ãããã®äžåžã«å¯ŸããŠãå ±é£çžããããã¿ã€ãã³ã°ã察å¿ã®åªå
é äœãäžããŠãããæ¹æ³ãªã©ãããã«ã§ãå®è·µã§ããå
·äœçãªããŠããŒãæžããŠãããŸãã ãå ±é£çžãã¯ç€ŸäŒäººã«ãããŠå¿
é ã¹ãã«ãªã®ã§ãä»å玹ä»ããããžãã¹æžç±ã®äžã§ãæããããããããæžç±ã®1ã€ã§ãã ToDoãªã¹ãã§ãã䜿ããªãã£ãåãèŠã€ãããããä»äºè¡ ãToDoãªã¹ãã§ã¿ã¹ã¯ã管çããããææŽ»ã§æéãæå¹æŽ»çšããããããæãåã身ã«ä»ããããªã©ãããžãã¹æžã«æžãããŠãããããªãä»äºè¡ããã§ããªãã£ãããŸãã¯é£ããæ¹åãã®æ¬ã§ãã äœå人ãã®éšäžãèŠãŠããäžåžã«ãä»ãŸã§ã§äžçªä»äºãã§ããªãããšèšãããçè
ãã倿³šããã2000äžåããããšèšãããŠããäœæ¥ã1人ã§ããããä»äºãã§ããããšèªããããããã«ãªããŸã§ã«ç·šã¿åºããä»äºè¡ãæžãããŠããŸãããã®ä»äºè¡ãšã¯ããèªåã®æå¿ãããé 匵ããã«é Œãããæå¿åãŒãã§ãåããä»çµã¿ããã€ãããã®ã§ãã ãé 匵ãããšããŠãé 匵ããªãããé 匵ã£ãŠããã®ã«ãã¹ãããŠããŸãããšãã£ãæ¹ã«ããããã§ãã è¶
èš³ ã«ãŒãã®ãŒ 人ãåãã ãšãã»ã³ã·ã£ã«ç æ¬æžã¯ãè¶
èš³ ã«ãŒãã®ãŒ 人ãåããããæåº«ãšãã»ã³ã·ã£ã«çãšããŠå çèšæ£ãå ããŠåç·šéãããã®ã§ãè·å ŽãåŠæ ¡ãå®¶åºã§åæºãªäººéé¢ä¿ãç¯ãã倧ããªææãåºãããã®ã人éé¢ä¿ã®ååãæžãããæ¬ã§ããå
šéšã§é
ç®ã181åãããŸãããå
šãŠ1ããŒãžïœ2ããŒãžã§æžããããã®ãªã®ã§ãµã¯ãµã¯èªããŸãã ã181åãèŠããããšãããã®ãããšæããããããããŸããããããŒããå€ããã ãã§è¶£æšãéè€ããŠãããã®ãå€ãã®ã§ãèªããã¡ã«çè
ãäŒãããããšãããããšæããŸãã äœåããªã人ã®ä»äºã®æŠç¥ äœåããªãäººãæ ¹æ§è«ã«é Œãããéããããšãã«ã®ãŒã§ææãåºããçè²»ã®è¯ãåãæ¹ããæžãããŠããæ¬ã§ããä»äºãããäžã§ãä»ããã©ã¯ãªæ¹æ³ãæ¢ããéèŠæ§ã説ããŠããŸãã ç¹ã«çé¢ç®ã§ãã€ãå
šåã§é 匵ã£ãŠããŸãæ¹ãé 匵ããããŠã¬ã¹æ¬ ãèµ·ãããããšãããæ¹ã«ããããã§ãã äŒããæç« ããéãããæãéããã«æžãã87ã®æ³å åãããããèšèã§ãäŒããæç« ãã®æžãæ¹ã87é
ç®ã«ããã£ãŠæžãããæ¬ã§ãã æ¬æžã®ããŠããŠã¯ãäŒç»æžã»å ±åæžã»æ¥å ±ã®äœæãããè«æãã¬ããŒãããã©ã€ããŒãã®ãã£ããã®ãããšããããã°ãSNSã®æçš¿èšäºãŸã§ããããæç« ã«å¿çšã§ããŸãã ç§ã¯ä»äºäžäœ¿çšãããã£ããããŒã«ã®æç« ãäžæãäŒãããæ©ãã§ããŸãããããã®æ¬ããšãŠãåèã«ãªããŸããã ãšã³ãžãã¢ã®ããã®æç« è¡åå
¥éè¬åº§ æ°ç ITãšã³ãžãã¢ãæ¥åã§å¿
èŠãªææžã»æç« ãæžãããã«ãæäœéå¿
èŠãªç¥èãããŠããŠãã³ãããæŽçããæ¬ã§ãã æç« ã®æžãæ¹ã®åºç€æè¡ããã瀟å
ãžã®å ±åã瀟å€ãžã®äŸé Œã®æžãæ¹ãçžæã«é
æ
®ããåæ»ãªç€Ÿå
ã³ãã¥ãã±ãŒã·ã§ã³ã®æ¹æ³ãªã©ãæžãããŠããŸãã è²ã
ãªæ¹æ³ãæžãããŠããŸããã瀟å
ã§ã®æžãæ¹ããããšæãã®ã§ããã®æ¬ãšäœµããŠæ®æ®µã®ãã£ãããã¡ãŒã«ãããå
èŒ©ã®æžãæ¹ãå匷ããããšã倧åã ãšæããŸããã ITä»äºå³é æ¬æžã¯ãããããITæ¥çãšã¯äœãããå§ãŸããITæ¥çã§ã®åãæ¹ãITä»äºã®åºç€ç¥èãITè·çš®ã®èª¬æãæžãããæ¬ã§ããæ²èŒãããŠããè·çš®ã¯64çš®é¡ãšåºç¯å²ãã«ããŒããŠããããã®æ¬ã«èŒã£ãŠããªãITè·çš®ã¯ã»ãŒç¡ããšæããŸãã ITã«ã€ããŠç¶²çŸ
çã«æžãããŠããã®ã§ãäœè£ãããã°æå
ã«çœ®ããŠãããŠããããšæããŸãã æè¡æžç± ãªãŒããã«ã³ãŒã ãšãŠãæåãªããçè§£ãããããïŒãåªãããããã°ã©ã ã³ãŒããæžãããã®æ¬ã§ãã æåã«æªãäŸãåºããããã®åŸæ¹åäŸãåºãããã®ã§çè§£ããããã§ãã å人çã«ç¹ã«å°è±¡ã«æ®ã£ãã®ããæ¡ä»¶åŒã«ã¯åºæ¬çã«if/elseã䜿ããäžé
æŒç®åã䜿ããªãããšããé
ã§ãã AIã«ã³ãŒããæžããŠããããšã1è¡ã§æžããæ¡ä»¶åŒã¯äžé
æŒç®åã«ãªãããšãå€ãã§ããç°¡æœãªæ¡ä»¶åŒãªãçè§£ããããã®ã§ãããè€éãªæ¡ä»¶åŒã ãšé端ã«çè§£ã«æéãããããŸãã 以åSNSã§ãäžé
æŒç®åã䜿ããããã«ãªã£ããäžçŽè
ããäžé
æŒç®åã䜿ãã®ãã¹ããŒããªæžãæ¹ã§ããããšããæèšãèŠãããŠããäžé
æŒç®åã«æ
£ãããèªã¿ããããªãã ããããã³ãŒãã®è¡æ°ã¯å°ãªããã°å°ãªãã»ã©ããã®ã ããããšæã£ãŠããŸããã ãªã®ã§ãäžèšã®é
ã¯ç®ããé±ã§ããããSNSã®æçš¿ãšã¯éãå®äŸãèŒã£ãŠããã®ã§ã説åŸåããããŸãããSNSã®æ
å ±ãä¿¡ããããããæè¡æžã«èŒã£ãŠããæ
å ±ãä¿¡ããæ¹ãããããšããæèšã«ããªããŸããã ããã°ã©ã ã®åºæ¬çãªææ³ãäžéãèŠããæ¹ã«ããããã§ãã ããã°ã©ããŒè³ æ¬æžã¯ãã³ãŒããªãŒãã£ã³ã°ãã³ãŒãã£ã³ã°æã®è³ã®åããçè§£ããããšã§ãããã°ã©ããŒãšããŠã®ã¹ãã«ãç¿æ
£ãåäžãããæ¬ã§ãã ã³ãŒããªãŒãã£ã³ã°ãã³ãŒãã£ã³ã°æã¯ãè³ã®ã©ã®æ©èœãšé¢é£ããŠãããããã®è³ã®æ©èœãã©ãè£ããã«ã€ããŠæžãããŠããŸãã ã³ãŒããªãŒãã£ã³ã°ãã³ãŒãã£ã³ã°ã®å¹çãäžãããæ¹ã«ããããã§ãã Webãæ¯ããæè¡ æ¬æžã¯ãHTTPãURIãHTMLãªã©ãWebãæ¯ããæ ¹æ¬çãªæè¡ãåŠã¹ãæ¬ã§ãã ãã¯ããã«ãã®éšåã§å¯Ÿè±¡èªè
ã¯ãWebæè¡ã䜿ã£ãã·ã¹ãã éçºã®çµéšããã人ããšèšèŒããããŸãããçè§£ã«ç¹å¥ç¥èãçµéšãèŠããã®ã§ã¯ãªãã§ãã ãŸãå·»æ«ã«ä»é²ãšããŠã¹ããŒã¿ã¹ã³ãŒã(404 Not Foundãªã©)ã®äžèЧããããŸãã ãã®æ¬ãèªãåã¯ãåºãŠããã¹ããŒã¿ã¹ã³ãŒãã®æå³ããã®éœåºŠèª¿ã¹ãŠããã®ã§ããããã®æ¬ã§åŠãã åŸã¯èª¿ã¹ãããšã¯ã»ãŒç¡ããªããŸããã ITæ¥çã«å°±è·äºå®ã®æ¹ããæ°äººãšã³ãžãã¢ã®æ¹ã«ããããã§ãã ãœãããŠã§ã¢ãã¹ãã®æç§æž æ¬æžã¯ããœãããŠã§ã¢ãã¹ãããå®è·µçã§ããããããããã解説ããæ¬ã§ãã å®éã«ãã¹ãã§ãã°ãèŠã€ãããããç®æããããã¹ãããã¥ã¡ã³ãã®æžãæ¹ãŸã§å¹
åºãæžãããŠããŸãã ãã¹ãæ¥åãïŒåã§ããã£ãããšããããšã³ãžãã¢ã®æ¹ã«ããããã§ãã Python ãŒãããã¯ãããããã°ã©ãã³ã° æ¬æžã¯ãPythonãåŠç¿ããŠäœ¿ããããã«ãªãããšã«å ããŠãããã°ã©ãã³ã°ã®åºç€ãç¿åŸããããšã«ãéç¹ã眮ããæ¬ã§ãã Pythonã®åºç€ã ãã§ãªãããããã°ã©ã ãšã¯äœãããšããããšãŸã§è§£èª¬ããŠãããŸãã ããŒãžæ°ãå°ãªããç°¡æœã«ããããããæžãããŠããã®ã§èªã¿ãããã§ãã ãã ãä»åŸè²ããªèšèªãåŠç¿ããŠãããšãããšãåããŠåŠã¶ããã°ã©ãã³ã°èšèªã¯Python以å€ãå人çã«ã¯ããããã§ãã ãªã®ã§ãä»ã®ããã°ã©ãã³ã°èšèªãåŠç¿æžã§ãPythonã®åºç€ãåŠã³ããæ¹ã«ããããã§ãã ãŸãšã ä»åã¯ãç§ããµã€ãªã¹ãã¯ãããžãŒã«å
¥ç€ŸããŠ1幎éã§èªãã æžç±ãããžãã¹æžã»æè¡æžåããã玹ä»ããŸããã äœã1åã§ãåèã«ãªãã°å¹žãã§ãã ã芧ããã ãããããšãããããŸãïŒ ãã®æçš¿ã¯ã圹ã«ç«ã¡ãŸãããïŒ åœ¹ã«ç«ã£ã 圹ã«ç«ããªãã£ã 1人ããã®æçš¿ã¯åœ¹ã«ç«ã£ããšèšã£ãŠããŸãã The post ãšã³ãžãã¢1幎ç®ã«èªãã æžç±ããŸãšããŠã¿ã first appeared on SIOS Tech Lab .
æ¬ããã°ã¯ 2025 幎 10 æ 17 æ¥ã«å
¬éããã AWS Blog â Securing Amazon Bedrock API keys: Best practices for implementation and management â ã翻蚳ãããã®ã§ãã 2026 幎 7 æ 1 æ¥ : ãã®èšäºãæŽæ°ããMantle ãšã³ããã€ã³ãã§ Amazon Bedrock ã䜿çšããããã®ã¬ã€ãã³ã¹ã远å ããŸããã AWS ã§ã¯ã Amazon Bedrock API ãåŒã³åºãããã® Amazon Bedrock API ã㌠ãå©çšå¯èœã§ãããã®èšäºã§ã¯ãAmazon Bedrock ãžã®ãã®ã¢ã¯ã»ã¹æ¹æ³ã广çã«å®è£
ãç£èŠã管çããããã®å®è·µçãªã»ãã¥ãªãã£ã¬ã€ãã³ã¹ã玹ä»ããAPI ããŒãä¿è·ããå
æ¬çãªæŠç¥ã®æ§ç¯ãæ¯æŽããŸãããŸãã ãµãŒãã¹åºæã®èªèšŒæ
å ± å
šè¬ã«ã€ããŠã解説ããŸããããã«ãããå¿
èŠã«å¿ã㊠AWS CodeCommit ã Amazon Keyspaces (Apache Cassandra åã) ã®å®è£
ã匷åã§ããŸãã æ³š : 以éããã®èšäºã§ã¯ ãµãŒãã¹åºæã®èªèšŒæ
å ± ãš API ã㌠ãåãæå³ã§äœ¿çšããŸãã Amazon Bedrock ãžã®ã¢ã¯ã»ã¹ã«æé©ãªä»çµã¿ã®éžæ AWS ã§ã¯ãå¯èœãªéã AWS Security Token Service (AWS STS) ãæäŸããäžæçãªã»ãã¥ãªãã£èªèšŒæ
å ±ãèªèšŒæ¹æ³ãšããŠåªå
çã«äœ¿çšããããšããå§ãããŸãã ãŠãŒã¹ã±ãŒã¹ã®éœåã§äžæç㪠AWS STS èªèšŒæ
å ±ã䜿çšã§ããªãå Žåã¯ãAPI ããŒã䜿çšã§ããŸãã代衚çãªäŸãšããŠãHTTP ãã¢ã©ãŒããŒã¯ã³ã«ãã API ããŒèªèšŒãå¿
é ãšãã äžæç㪠AWS STS èªèšŒæ
å ±ã«ãã SigV4 眲å ã䜿çšããããèšå®ã§ããªããµãŒãããŒãã£è£œãœãããŠã§ã¢ãããã±ãŒãžãœãããŠã§ã¢ã䜿çšããå ŽåãæããããŸãã API ããŒã䜿çšããå¿
èŠããªããšå€æããå Žåã¯ã ãµãŒãã¹ã³ã³ãããŒã«ããªã·ãŒ (SCP) ã䜿çšããŠãAPI ããŒã®äœæãšäœ¿çšãæåŠããããšãæ€èšããŠãã ããã ãŠãŒã¹ã±ãŒã¹äž API ããŒãå¿
èŠã ãšå€æããå Žåã¯ã次㮠2 çš®é¡ã® API ããŒã®ã©ã¡ãã䜿çšãããæ€èšããŠãã ããã çæ API ã㌠: AWS STS èªèšŒæ
å ±ã䜿çšã§ããªãå Žåã¯ãçæ API ããŒã®äœ¿çšãæ€èšããŠãã ãããçæ API ããŒã«ã¯æå¹æéã®ä»çµã¿ãçµã¿èŸŒãŸããŠãããæå®ããæéãçµéãããšèªåçã«å€±å¹ããŸãããã®ãããæŒæŽ©ããå Žåã§ãèªèšŒæ
å ±ãç¡æéã«äœ¿çšãããããšãé²ããŸãã é·æ API ã㌠: é·æ API ããŒã¯ãAWS STS èªèšŒæ
å ±ãçæã®èªèšŒæ
å ±ã䜿çšã§ããªãå Žåã«ã®ã¿äœ¿çšããŠãã ãããäŸãã°ãé·æéæå¹ãªéç API ããŒãåæãšããŠããã倿Žã§ããªãããã±ãŒãžãœãããŠã§ã¢ã SDK ã䜿çšããå Žåãªã©ã§ãã ãã®èšäºã§ç޹ä»ããã³ã³ãããŒã«ãå®è£
ããã°ãAPI ããŒã«é¢ããã»ãã¥ãªãã£äžã®æžå¿µã®ã»ãšãã©ã«å¯ŸåŠã§ããŸãããã ããã»ãã¥ãªãã£ã¯ç¶ç¶çãªããã»ã¹ã§ããããšãå¿ããªãã§ãã ãããå
æ¬çãªã»ãã¥ãªãã£æŠç¥ã®äžç°ãšããŠãåŒãç¶ã AWS ã®ã»ãã¥ãªãã£ã«é¢ãããã¹ããã©ã¯ãã£ã¹ã«åŸããã»ãã¥ãªãã£ãã¹ãã£ã宿çã«èŠçŽããŠãã ããã ãµãŒãã¹åºæã®èªèšŒæ
å ±ã«ã€ã㊠ãµãŒãã¹åºæã®èªèšŒæ
å ±ã¯ãç¹å®ã® AWS ãµãŒãã¹ãžã®çŽæ¥ã¢ã¯ã»ã¹ãæäŸããå°çšã®èªèšŒæ
å ±ã§ããä»ã® AWS ã»ãã¥ãªãã£èªèšŒæ
å ± (ã¢ã¯ã»ã¹ããŒãã·ãŒã¯ã¬ããã¢ã¯ã»ã¹ããŒãã»ãã·ã§ã³ããŒã¯ã³ãªã©) ãšã¯ç°ãªããç¹å®ã® AWS ãµãŒãã¹ã§äœ¿çšããããã«èšèšãããŠããŸãã ãµãŒãã¹åºæã®èªèšŒæ
å ±ã®äž»ãªç¹åŸŽã¯æ¬¡ã®ãšããã§ãã åèªèšŒæ
å ±ã¯ç¹å®ã® AWS ãµãŒãã¹ã«é¢é£ä»ããããŠããŸã AWS Identity and Access Management (IAM) ããªã³ã·ãã«ã«é¢é£ä»ããããŠããŸã AWS ãããžã¡ã³ãã³ã³ãœãŒã«ãš AWS ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ (AWS CLI) ã®äž¡æ¹ã§ç®¡çã§ããŸã AWS CloudTrail ã§ç£èŠã§ããŸã ãµãŒãã¹åºæã®èªèšŒæ
å ± ID ã® ãã¬ãã£ãã¯ã¹ 㯠ACCA ã§ã çµç¹ã¯ SCP ã䜿çšããŠããµãŒãã¹åºæã®èªèšŒæ
å ±ã®äœæãšäœ¿çšãå¶åŸ¡ã§ããŸã ããã§ã¯ããµãŒãã¹åºæã®èªèšŒæ
å ±ãšãããã Amazon Bedrock ã§äœ¿çšããæ¹æ³ã«ã€ããŠè©³ããèŠãŠãããŸãããã Amazon Bedrock API ã㌠Amazon Bedrock API ã㌠ã¯ãAmazon Bedrock ãžã®çŽæ¥ã¢ã¯ã»ã¹ãæäŸãããµãŒãã¹åºæã®èªèšŒæ
å ±ã§ãã ã¢ã¯ã»ã¹èš±å¯ bedrock:CallWithBearerToken ãä»äžãããšããããã®ããŒã¯ã³ã䜿çšã㊠Amazon Bedrock API ã¢ã¯ã·ã§ã³ãå®è¡ã§ããããã«ãªããŸããåæ§ã«ã ã¢ã¯ã»ã¹èš±å¯ bedrock-mantle:CallWithBearerToken ãä»äžãããšããããã®ããŒã¯ã³ã䜿çšã㊠Amazon Bedrock Powered by AWS Mantle API ã¢ã¯ã·ã§ã³ãå®è¡ã§ããããã«ãªããŸãã ããŒã®çš®é¡ãšç¹åŸŽ API ããŒã«ã¯ 2 çš®é¡ãããããããæ¬¡ã®ç¹åŸŽããããŸãã çæ API ã㌠äºå眲åããã SigV4 èªèšŒã䜿çšããŸã ã¯ã©ã€ã¢ã³ãåŽã§çæããããããçæ API ããŒã®äœæã¯ CloudTrail ã«èšé²ãããŸãã èªèšŒæ
å ±ã¬ããŒãã AWS CLI ã®åŒã³åºãã§ã¯ååŸã§ããŸãã æå¹æéã¯ãAPI ããŒãçæãã IAM ã»ãã·ã§ã³ã®æå¹æéãš 12 æéã®ãã¡ãçãæ¹ã§ã ããŒã®çæã«äœ¿çšããããŒã«ãšåãã¢ã¯ã»ã¹èš±å¯ãæã¡ãŸã ãã¿ãŒã³: bedrock-api-key-YmVkcm9jay5hbWF6b25hd3MuY29tLz9BY3Rpb249Q2FsbFdpdGhCZWFyZXJUb2tlbiZYLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsP[A-Za-Z0-9\\]+={0,2} é·æ API ã㌠Amazon Bedrock ã³ã³ãœãŒã«ãã Amazon Bedrock ã®é·æ API ããŒãäœæãããšãAWS 㯠BedrockAPIKey-xxx ãšããåœåèŠåã®å°çš IAM ãŠãŒã¶ãŒãèªåçã«äœæãããããŒãžãããªã·ãŒ AmazonBedrockLimitedAccess ãã¢ã¿ããããŸã Amazon Bedrock ã³ã³ãœãŒã«ããäœæããã IAM ãŠãŒã¶ãŒã§ã¯ãã³ã³ãœãŒã«ã¢ã¯ã»ã¹ãã³ã³ãœãŒã«ãã¹ã¯ãŒããã¢ã¯ã»ã¹ããŒãå€èŠçŽ èªèšŒ (MFA) ã®ããããæå¹åãŸãã¯èšå®ãããŠããŸãã äžæ¹ãIAM ã³ã³ãœãŒã«ãã Amazon Bedrock ã®é·æ API ããŒãäœæããå Žåã¯ãAmazon Bedrock ã®ãµãŒãã¹åºæã®èªèšŒæ
å ±ãæ¢åã® IAM ãŠãŒã¶ãŒã«çŽæ¥é¢é£ä»ããããšãã§ããŸã å IAM ãŠãŒã¶ãŒã¯æå€§ 2 ã€ã®é·æ API ããŒãæã€ããšãã§ããŸã æå¹æé㯠1 æ¥ããç¡æéãŸã§ã®ç¯å²ã§èšå®ã§ããŸã æå¹æéã¯ã Amazon Bedrock ã® API ããŒã管çããããã®æ°ããæ¡ä»¶ã㌠㮠1 ã€ã§ãã iam:ServiceSpecificCredentialAgeDays ã䜿çšããŠå¶åŸ¡ã§ããŸãã SCP ã®äŸ ãåç
§ããŠãã ããã ãã¿ãŒã³: ABSKQmVkcm9ja0FQSUtleS[A-Za-z0-9+\/]+={0,2} é·æ API ããŒãäœæããããšã次ã®äŸã®ããã« CloudTrail ã«ã€ãã³ããèšé²ãããŸããAWS CLI ã䜿çšããŠé·æ API ããŒãç¹å®ããããšãã§ããŸãã { "eventTime": "2025-07-23T17:39:08Z", "eventSource": "iam.amazonaws.com", "eventName": "CreateServiceSpecificCredential", "awsRegion": "us-east-1", "sourceIPAddress": "203.0.113.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:139.0) Gecko/20100101 Firefox/139.0", "requestParameters": { "userName": "BedrockAPIKey-0g21", "serviceName": "bedrock.amazonaws.com", "credentialAgeDays": 36500 }, "responseElements": { "serviceSpecificCredential": { "createDate": "Jul 23, 2025, 5:39:08 PM", "expirationDate": "Oct 7, 2125, 5:39:08 PM", "serviceName": "bedrock.amazonaws.com", "serviceCredentialAlias": "BedrockAPIKey-1234-56-EXAMPLE", "serviceCredentialId": "ACCA123456789EXAMPLE", "userName": "BedrockAPIKey-0g21", "status": "Active" } } } èå¥ API ããŒãæ±ãéã«çè§£ããŠããã¹ãéèŠãªç¹ãããã€ããããŸããçæ API ããŒã¯ã¯ã©ã€ã¢ã³ãåŽã§çæãããããã ListServiceSpecificCredentials ãªã©ã® AWS API ã§æ¢åã®èªèšŒæ
å ±ãäžèŠ§è¡šç€ºããŠããçæ API ããŒã¯å«ãŸããŸããã é·æ API ããŒã¯çæ API ããŒããå¯èŠæ§ãé«ããè€æ°ã®æ¹æ³ã§ç®¡çã§ããŸããé·æ API ããŒãé¢é£ä»ããããŠããããªã³ã·ãã«ã¯ã Amazon Bedrock ã³ã³ãœãŒã« ãŸã㯠IAM ã³ã³ãœãŒã« ã§ç¹å®ã§ããŸãããŸãã AWS CLI ã³ãã³ããŸã㯠AWS SDK ã䜿çšãããšãæå®ãããŠãŒã¶ãŒã®ãµãŒãã¹åºæã®èªèšŒæ
å ±ãäžèŠ§è¡šç€ºã§ããŸãã é²åŸ¡ Amazon Bedrock ã§ã¯ãAWS ç°å¢ã«ããã API ããŒã®äœ¿çšãããé©åã«å¶åŸ¡ãä¿è·ããããã® 4 ã€ã®æ¡ä»¶ã㌠ãå°å
¥ãããŸããã æ¡ä»¶ã㌠iam:ServiceSpecificCredentialServiceName ã䜿çšãããšãããªã³ã·ãã«ã«ãããµãŒãã¹åºæã®èªèšŒæ
å ±ã®äœæãèš±å¯ãã AWS ãµãŒãã¹ãæå®ã§ããŸãã æ¡ä»¶ã㌠iam:ServiceSpecificCredentialAgeDays ã䜿çšãããšãé·æ API ããŒã®äœææã«æå€§æå¹æéãèšå®ããŠãã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ãé©çšã§ããŸãã æ¡ä»¶ã㌠bedrock:BearerTokenType ã䜿çšãããšãAmazon Bedrock ã§ãç¹å®ã®çš®é¡ (çæãŸãã¯é·æ) ã® API ããŒã®äœ¿çšãæåŠãŸãã¯èš±å¯ã§ããŸãã æ¡ä»¶ã㌠bedrock-mantle:BearerTokenType ã䜿çšãããšãåæ§ã« Amazon Bedrock Powered by AWS Mantle ã§ãç¹å®ã®çš®é¡ (çæãŸãã¯é·æ) ã® API ããŒã®äœ¿çšãæåŠãŸãã¯èš±å¯ã§ããŸãã ãããã®æ¡ä»¶ããŒã¯ãçæ API ããŒãšé·æ API ããŒããããã®ã»ãã¥ãªãã£ç¹æ§ã®éãã管çããããã§éèŠãªåœ¹å²ãæãããŸããã»ãã¥ãªãã£ããŒã ã¯ããããå©çšããŠãAWS Organizations ã¬ãã«ã® SCP ã§çµç¹ã®ããªã·ãŒãšã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ãé©çšã§ããŸãã詳现ã«ã€ããŠã¯ããããã® SCP ã®é©çšäŸã玹ä»ããŠãã GitHub ãªããžã㪠ãåç
§ããŠãã ããã çæ API ããŒã«ã¯æå¹æéãçµã¿èŸŒãŸããŠãããããæœåšçãªã»ãã¥ãªãã£ãªã¹ã¯ã«ãããããæéãæããããŸãããã ãããããã®ããŒã¯çœ²åã«äœ¿çšããããªã³ã·ãã«ã®ã¢ã¯ã»ã¹èš±å¯ãç¶æ¿ãããããAmazon Bedrock 以å€ã®ã¢ã¯ã»ã¹èš±å¯ãå«ãŸããå Žåãããç¹ã«æ³šæããŠãã ãããå
æ¬çãªç£èŠã¯ã ãæ€ç¥ã ã»ã¯ã·ã§ã³ã§èª¬æããæ¹æ³ã§å®è£
ã§ããŸãã é·æ API ããŒã¯æå¹æéãé·ãèšå®ã§ãããããé·æéå®è¡ãããã¢ããªã±ãŒã·ã§ã³ã«ã¯äŸ¿å©ã§ãããã ããèªèšŒæ
å ±ãæªçšããããæéãé·ããªãåããããè£ãããã®ã³ã³ãããŒã«ãšç£èŠã®ä»çµã¿ã«ç¹ã«æ³šæãæãå¿
èŠããããŸãã çµç¹ã®ç°å¢ã§ Amazon Bedrock API ããŒãäžèŠãšå€æããå Žåã¯ãSCP ãå®è£
ããŠããµãŒãã¹åºæã®èªèšŒæ
å ±ã®äœæ ( iam:CreateServiceSpecificCredential ) ãšãAmazon Bedrock ã§ã®ãã¢ã©ãŒããŒã¯ã³ã®äœ¿çš ( bedrock:CallWithBearerToken ããã³ bedrock-mantle:CallWithBearerToken ) ããããã¯ã§ããŸãã æ³š: IAM ããªã·ãŒã§æ¡ä»¶ iam:ServiceSpecificCredentialServiceName ã䜿çšããã« iam:CreateServiceSpecificCredential ãæåŠãããšã AWS CodeCommit ã Amazon Keyspaces (Apache Cassandra åã) ãªã©ãä»ã®ãµãŒãã¹ã® API ããŒã®äœæãæåŠãããŸãã ãã¡ãã® SCP ã®äŸ ã§ã¯ãAmazon Bedrock ã®ãµãŒãã¹åºæã®èªèšŒæ
å ±ã®äœæãšãAmazon Bedrock ã§ã® API ããŒã®äœ¿çšãæåŠããŠããŸããããã«ãããçµç¹å
ã®ãã«ããŒãæ°ãã API ããŒãäœæã§ããªããªããäžæ£ãªããŒäœæã®ãªã¹ã¯ã軜æžã§ããŸãããã®ã¢ãããŒãã¯ãèªèšŒæ¹æ³ã峿 Œã«ç®¡çãããçµç¹ãããµãŒãã¹åºæã®èªèšŒæ
å ±ãå¿
èŠãšããããžãã¹äžã®çç±ããªãçµç¹ã«æå¹ã§ãããŸãã aws:PrincipalArn ã«æå®ããããªã³ã·ãã«ã察象ãšããæ¡ä»¶ ArnNotLikeIfExists ã SCP ã«è¿œå ããã°ãç¹å®ã®ããŒã«ãèš±å¯ãªã¹ãã«ç»é²ããŠããµãŒãã¹åºæã®èªèšŒæ
å ±ãäœæã§ããããã«ããããšãã§ããŸãã API ããŒä¿è·ã®äžç°ãšããŠãæå°æš©éã®ååã«æ²¿ã£ãŠã¢ã¯ã»ã¹èš±å¯ã宿çã«èŠçŽãã調æŽããŠãã ãããAmazon Bedrock ã³ã³ãœãŒã«ããé·æ API ããŒãäœæãããšãAWS ã¯ãããŒãžãããªã·ãŒ AmazonBedrockLimitedAccess ãã¢ã¿ããããã IAM ãŠãŒã¶ãŒãèªåçã«äœæããŸãããã®ããªã·ãŒã¯ãAmazon Bedrockã AWS Key Management Service (AWS KMS) ãIAMã Amazon Elastic Compute Cloud (Amazon EC2) ãAWS Marketplace ã®ããŸããŸãªã¢ã¯ã·ã§ã³ãžã®ã¢ã¯ã»ã¹ãèš±å¯ããŸããé·æ API ããŒãšçæ API ããŒã®ã©ã¡ãã«ã€ããŠããããªã³ã·ãã«ããŠãŒã¹ã±ãŒã¹ã«å¿
èŠãªç¯å²ãè¶
ããã¢ã¯ã»ã¹èš±å¯ãæã£ãŠããªããè©äŸ¡ããŠãã ãããéå°ãªã¢ã¯ã»ã¹èš±å¯ãèŠã€ãã£ãå Žåã¯ãããªã·ãŒ AmazonBedrockLimitedAccess ããã¢ã¯ã»ã¹èš±å¯ã®ç¯å²ãçµã蟌ãã ã«ã¹ã¿ã ããªã·ãŒã« 眮ãæã ãŠãã ããã æ€ç¥ API ããŒã«ã¯ãçš®é¡ã«å¿ããŠç°ãªãç£èŠã¢ãããŒããå¿
èŠã§ããçæ API ããŒã¯ã¯ã©ã€ã¢ã³ãåŽã§çæãããããäœæãæ€ç¥ã§ããŸããããé·æ API ããŒã®äœæã¯ CloudTrail ã€ãã³ãã§ç£èŠã§ããŸãã Converse ã ConverseStream ã InvokeModel ã InvokeModelWithResponseStream ãžã®æšè«åŒã³åºãã¯ã管çã€ãã³ããšã㊠CloudTrail ã«èšé²ãããŸããCloudTrail ã«èšé²ããããããã®ã€ãã³ããéããŠãçæ API ããŒãšé·æ API ããŒã®ã©ã¡ãã«ã€ããŠãããã® äœ¿çš ãæ€ç¥ã§ããŸããé·æ API ããŒã¯æå¹æéãé·ãããäžæ£äœ¿çšããããããå
æ¬çãªç£èŠãäžå¯æ¬ ã§ããçµç¹ã¯ã次ã®ãããªå³æ Œãªç£èŠã³ã³ãããŒã«ãå®è£
ããå¿
èŠããããŸãã CreateUser ã€ãã³ãã®ãã¡ããŠãŒã¶ãŒåã« BedrockAPIKey- ãã¬ãã£ãã¯ã¹ãä»ããŠãããã®ãç£èŠããŸããAmazon Bedrock ã³ã³ãœãŒã«ãããŠãŒã¶ãŒãäœæãããå Žåãã€ãã³ãã¯æ¬¡ã®ããã«ãªããŸãã { "eventTime": "2025-07-23T17:39:08Z", "eventSource": "iam.amazonaws.com", "eventName": "CreateUser", "awsRegion": "us-east-1", "sourceIPAddress": "203.0.113.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:139.0) Gecko/20100101 Firefox/139.0", "requestParameters": { "userName": "BedrockAPIKey-0g21" }, "responseElements": { "user": { "path": "/", "userName": "BedrockAPIKey-0g21", "userId": " AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:user/BedrockAPIKey-0g21", "createDate": "Jul 23, 2025, 5:39:08 PM" } } } CreateServiceSpecificCredential ã€ãã³ãã®ãã¡ã requestParameters.serviceName = bedrock.amazonaws.com ãæºãããã®ã远跡ããŸã API ããŒãã¢ã¯ãã£ãã«äœ¿çšãããŠããããšãç€ºãæ¬¡ã®ææšãç£èŠããŸã additionalEventData.callWithBearerToken = true eventSource = bedrock.amazonaws.com { "eventVersion": "1.11", "userIdentity": { "type": "IAMUser", "principalId": " AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::user/BedrockAPIKey-0g21", "accountId": "", "userName": "BedrockAPIKey-0g21" }, "eventTime": "2025-07-23T17:39:37Z", "eventSource": "bedrock.amazonaws.com", "eventName": "Converse", "awsRegion": "us-east-1", "sourceIPAddress": "", "userAgent": "curl/8.11.1", "requestParameters": { "modelId": "us.anthropic.claude-3-5-haiku-20241022-v1:0" }, "responseElements": null, "additionalEventData": { "callWithBearerToken": true, "inferenceRegion": "us-west-2" } } ç£èŠãã¹ãã€ãã³ãã®äžèЧã«ã€ããŠã¯ãã Security Playbook for Responding to Amazon Bedrock Security Events ããåç
§ããŠãã ããã Amazon EventBridge ã«ãŒã« Amazon EventBridge ã«ãŒã«ãå®è£
ãããšãCreateServiceSpecificCredential ãªã©ã® Amazon Bedrock API ããŒã®ã©ã€ããµã€ã¯ã«ã€ãã³ããæ€ç¥ããŠã¢ã©ãŒããéä¿¡ã§ãããããã»ãã¥ãªãã£ç£èŠã匷åã§ããŸãã EventBridge ã«ãŒã«ã䜿çšããç£èŠã¯ã次㮠4 ã€ã®ã³ã³ããŒãã³ãã§æ§æãããŸãã EventBridge ã«ãŒã« : CreateServiceSpecificCredentialRule ãš BearerTokenUsageRule ããèªèšŒæ
å ±ã®äœæãšãã¢ã©ãŒããŒã¯ã³ã®äœ¿çšã CloudTrail ã§ç£èŠããŸã SNS ããã㯠: BedrockAlertsTopic ããæå·åãããã»ãã¥ãªãã£ã¢ã©ãŒãã E ã¡ãŒã«ã§é
ä¿¡ããŸã KMS ã㌠: SNSEncryptionKey ã SNS ã¡ãã»ãŒãžãæå·åããŸã IAM ããŒã«: ãµãŒãã¹ã®éçšã«å¿
èŠãªã¢ã¯ã»ã¹ãæäŸããŸã åè¿°ã® EventBridge ã«ãŒã«ã¯ã eventName (å®è¡ãããŠããã¢ã¯ã·ã§ã³)ã eventSource (ã¢ã¯ã·ã§ã³ã®å®è¡äž»äœãŸãã¯å¯Ÿè±¡ãšãªããµãŒãã¹)ã additionalEventData (ã¬ã¹ãã³ã¹ã®è©³çްãå«ããããã¯) ãããŒãšããŠãCloudTrail ãã°å
ã®ç¹å®ã®ãã¿ãŒã³ãç£èŠããŸãã æ¬¡ã®ã«ãŒã«ã¯ãCloudTrail ã€ãã³ã CreateServiceSpecificCredential ããã§ãã¯ããŸãã source: - aws.iam detail-type: - AWS API Call via CloudTrail detail: eventSource: - iam.amazonaws.com eventName: - CreateServiceSpecificCredential API ããŒã䜿çšããŠå®è¡ãããã¢ã¯ã·ã§ã³ ( BearerToken = true ) ãæ€çŽ¢ããã«ã¯ã次ã®ã«ãŒã«ã䜿çšããŸãã detail-type: - AWS API Call via CloudTrail detail: additionalEventData: callWithBearerToken: - true EventBridge ã«ãŒã«ã®ããã〠CloudFormation ãã³ãã¬ãŒã ã䜿çšãããšããµãŒãã¹åºæã®èªèšŒæ
å ±ã®äœæãšãã®åŸã®äœ¿çšã®äž¡æ¹ãèªåã§ç£èŠããããèšå®ã§ããŸãããã®ãã³ãã¬ãŒãã¯ãåè¿°ã® CloudTrail ã€ãã³ããæ€ç¥ããããšãã« E ã¡ãŒã«éç¥ãéä¿¡ãããã EventBridge ãèšå®ãããããç°å¢å
ã® API ããŒæäœããªã¢ã«ã¿ã€ã ã§ææ¡ã§ããŸãã詳现ã«ã€ããŠã¯ãGitHub ãªããžããªã«ãããã®ãœãªã¥ãŒã·ã§ã³ã® 説æ ãš CloudFormation ãã³ãã¬ãŒã ãåç
§ããŠãã ããã ã³ã³ãã©ã€ã¢ã³ã¹ã®ããã® AWS Config ã«ãŒã« AWS Config ã«ãŒã«ã䜿çšããŠãIAM ãŠãŒã¶ãŒãã¢ã¯ãã£ããªãµãŒãã¹åºæã®èªèšŒæ
å ±ãæã£ãŠããªãããç£èŠããããšã§ãã»ãã¥ãªãã£ããªã·ãŒãžã®æºæ ãç¶æãããããªããŸãã AWS Config ã«ãŒã« ã¯ãæ¬¡ã®æé ãå®è¡ããŸãã AWS Config ã«ãŒã«ã 24 æéããšã« Lambda 颿°ãããªã¬ãŒãããã®é¢æ°ãã¢ã«ãŠã³ãå
ã® IAM ãŠãŒã¶ãŒãåæããŸã 颿°ã¯ããŠãŒã¶ãŒããšã«ã¢ã¯ãã£ããªãµãŒãã¹åºæã®èªèšŒæ
å ±ã®æç¡ã確èªããŸã ãµãŒãã¹åºæã®èªèšŒæ
å ±ãæã€ãŠãŒã¶ãŒã¯ NON_COMPLIANT ãšããŠããŒã¯ãããŸã ã¢ã¯ãã£ããªèªèšŒæ
å ±ãæããªããŠãŒã¶ãŒã¯ COMPLIANT ãšããŠããŒã¯ãããŸã çµæã¯ãã¬ããŒããšå¿
èŠã«å¿ãã修埩ã®ããã« AWS Config ã«éä¿¡ãããŸã AWS Config ã«ãŒã«ã®ããã〠ãã® AWS Config ã«ãŒã«ã¯ã AWS Config RDK ã䜿çšããŠãCloudShell ãŸãã¯ããŒã«ã«ã® CLI ãããããã€ã§ããŸãã git clone https://github.com/awslabs/aws-config-rules.git cd aws-config-rules/python-rdklib git fetch && git checkout IAM_USER_NO_SERVICE_SPECIFIC_CREDENTIALS pip install rdk rdklib rdk deploy IAM_USER_NO_SERVICE_SPECIFIC_CREDENTIALS aws configservice start-config-rules-evaluation --config-rule-names "IAM_USER_NO_SERVICE_SPECIFIC_CREDENTIALS" 察å¿ãšåŸ©æ§ ã€ã³ã·ãã³ã察å¿èšç»ã¯ãããããæºåãã§ãŒãºããå§ãŸããŸããæºåãã§ãŒãºã®äžç°ãšããŠãAPI ããŒã®ææè
ãšäœ¿çšç¶æ³ãæç¢ºã«èšé²ããã©ã®ã¢ããªã±ãŒã·ã§ã³ãããŒã ãã©ã®ããŒã䜿çšããŠããããææžåããŠãã ããããŸããé·æ API ããŒãå¿
èŠãªå Žåã¯ã AWS Secrets Manager ãªã©ã®å®å
šãªã¹ãã¬ãŒãžã®äœ¿çšãæ€èšããŠãã ããã API ããŒã«é¢é£ããã»ãã¥ãªãã£ã€ã³ã·ãã³ããçãããå Žåã¯ãçŽã¡ã«è¡åããããšãéèŠã§ããæåã®ã¹ãããã¯ãCloudTrail ãã°ã確èªã㊠API ããŒã®äœæãšäœ¿çšãæ¿èªæžã¿ã®å€æŽãªã¯ãšã¹ããšç
§åãã䟵害ã®å¯èœæ§ãæ€èšŒããããšã§ããããã«ãããäžæ£ãªããŒã®äœæã䜿çšãç¹å®ã§ããŸããããã«ããããã®ãã°ã«èšé²ãããéä¿¡å
IP ã¢ãã¬ã¹ãšãŠãŒã¶ãŒãšãŒãžã§ã³ãæååãåæããã°ãã¢ã¯ã»ã¹å
ãæ¿èªæžã¿ã®å Žæãã¢ããªã±ãŒã·ã§ã³ãªã®ããæªæã®ããå¯èœæ§ãããéä¿¡å
ãªã®ãã倿ã§ããŸãã ã€ã³ã·ãã³ã察å¿ã®ã¢ãããŒãã¯ãããŒã®çš®é¡ã«ãã£ãŠå€§ããç°ãªããŸããçæ API ããŒã®å Žåãæå¹æéãæå€§ 12 æéã§ããããæœåšçãªè¢«å®³ã¯éå®ãããŸãããæå¹æéåããåŸ
ããã«çŽã¡ã«å¯ŸåŠããããšãéèŠã§ããã»ãã¥ãªãã£ããŒã ã¯ã䟵害ãããçæ API ããŒã䜿çšããŠããã¢ããªã±ãŒã·ã§ã³ãã·ã¹ãã ãç¹å®ããIAM ããŒã«ã»ãã·ã§ã³ã åãæ¶ã ããã¢ã€ãã³ãã£ãã£ã«å¯Ÿã㊠bedrock:CallWithBearerToken ããã³ bedrock-mantle:CallWithBearerToken ã®ã¢ã¯ã»ã¹èš±å¯ãæåŠããå¿
èŠããããŸãã é²è¡äžã®ã»ãã¥ãªãã£ã€ãã³ãã« Amazon Bedrock ã®é·æ API ããŒãé¢äžããŠããå Žåãã»ãã¥ãªãã£ããŒã ã¯ã³ã³ãœãŒã«ãŸã㯠AWS CLI ã䜿çšããŠçŽã¡ã«å¯ŸåŠã§ããŸããã³ã³ãœãŒã«ã§ã¯ãIAM ã³ã³ãœãŒã«ã䜿çšããŠé·æ API ããŒããã°ãã ç¡å¹å ãŸã㯠åé€ ã§ããŸããå¯Ÿå¿æé ãèªååããŠããçµç¹åãã«ã¯ãAWS CLI ã«ããŒç®¡ççšã®ã³ãã³ããçšæãããŠããŸãã AWS CLI ã䜿çšããå¯Ÿå¿ API ããŒã«é¢ããã€ãã³ãã«å¯Ÿå¿ããã«ã¯ãæ¬¡ã®æé ãå®è¡ããŸãã ãµãŒãã¹åºæã®èªèšŒæ
å ±ãç¹å®ããŸãã aws iam list-service-specific-credentials --user-name <user name> --service-name bedrock.amazonaws.com çŽã¡ã«å°ã蟌ããã«ã¯ãåã®æé ã§ååŸããèªèšŒæ
å ± ID ã䜿çšããŠèªèšŒæ
å ±ã ç¡å¹å ããŸãã aws iam update-service-specific-credential --service-specific-credential-id <credential ID> --user-name <user name> --status Inactive ã€ãã³ããè©äŸ¡ããåŸãé¢é£ä»ãããã API ããŒã å®å
šã«åé€ ã§ããŸãã aws iam delete-service-specific-credential --service-specific-credential-id <credential ID> --user-name <user name> 埩æ§ãã§ãŒãºã§ã¯ãé©åãªèšå®ã§å®å
šãªæ°ããããŒãäœæããã¢ããªã±ãŒã·ã§ã³ã®èšå®ãæŽæ°ãããšãšãã«ã圱é¿ãåãããã¹ãŠã®ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ããã³ç¶ç¶çããªããªãŒ (CI/CD) ãã€ãã©ã€ã³ãšéçºããŒã ã«å€æŽã確å®ã«éç¥ããããšã«éç¹ã眮ããŠãã ããã Amazon Bedrock API ããŒã«é¢ãã察çã®æŠèŠ æ¬¡ã®è¡šã¯ãAmazon Bedrock API ããŒã«é¢é£ããããŸããŸãªèŠçŽ ãã NIST CSF 2.0 ã®ã³ã¢æ©èœ ã«å¯Ÿå¿ä»ããŠãŸãšãããã®ã§ãã çš®é¡ èå¥ é²åŸ¡ æ€ç¥ (CloudTrail ã®ã€ãã³ãã䜿çš) å¯Ÿå¿ çæ API ããŒ çæ API ããŒã¯ã¯ã©ã€ã¢ã³ãåŽã§çæããããããAWS API ã§ã¯äžèŠ§è¡šç€ºãããŸããã äœæ : çæ API ããŒã¯ã¯ã©ã€ã¢ã³ãåŽã§çæããããããäœæããããã¯ããããšã¯ã§ããŸããã äœ¿çš : 䜿çšãé²ãã«ã¯ãã¢ã¯ã·ã§ã³ bedrock:CallWithBearerToken ãš bedrock-mantle:CallWithBearerToken ãæåŠããŸãã é·æããã³çæã® Amazon Bedrock API ããŒã®ã¢ã¯ã»ã¹èš±å¯ã倿Žãã äœæ : ã¯ã©ã€ã¢ã³ãåŽã§è¡ããããããCloudTrail ã«ã€ãã³ãã¯èšé²ãããŸããã äœ¿çš : additionalEventData.callWithBearerToken = true ãå«ã CloudTrail ã€ãã³ã API ããŒã®äœ¿çšãæ€ç¥ããŠéç¥ããããã® EventBridge ã«ãŒã«ãš SNS ã IAM ããŒã«ã»ãã·ã§ã³ã® åãæ¶ã ããŸãã¯ã¢ã€ãã³ãã£ãã£ã«å¯Ÿããã¢ã¯ã»ã¹èš±å¯ã®æåŠ é·æ API ã㌠AWS CLI ãŸã㯠SDK ã䜿çšãã IAM ã®ã¢ã¯ã·ã§ã³ ListServiceSpecificCredentials äœæ : ã¢ã¯ã·ã§ã³ iam:CreateServiceSpecificCredential ãæåŠãããšãAmazon Bedrock ãå«ããã¹ãŠã®ãµãŒãã¹ã§ãµãŒãã¹åºæã®èªèšŒæ
å ±ã®äœæããããã¯ã§ããŸãã äœ¿çš : 䜿çšãé²ãã«ã¯ãã¢ã¯ã·ã§ã³ bedrock:CallWithBearerToken ãš bedrock-mantle:CallWithBearerToken ãæåŠããŸãã é·æããã³çæã® Amazon Bedrock API ããŒã®ã¢ã¯ã»ã¹èš±å¯ã倿Žãã äœæ : eventName ã CreateServiceSpecificCredential ã® CloudTrail ã€ãã³ããAmazon Bedrock ã³ã³ãœãŒã«ã䜿çšããå Žåã¯ã CreateUser ã€ãã³ãã察象ã§ãã äœ¿çš : additionalEventData.callWithBearerToken = true ãå«ã CloudTrail ã€ãã³ã API ããŒã®äœæãšäœ¿çšãæ€ç¥ããŠéç¥ããããã® EventBridge ã«ãŒã«ãš SNS ã AWS Config ã«ãŒã« ã³ã³ãœãŒã«ãŸã㯠AWS CLI ã䜿çšããŠãé·æ API ããŒããã°ãã ç¡å¹å ãŸã㯠åé€ ããŸã Amazon Bedrock 以å€ã®ãµãŒãã¹åºæã®èªèšŒæ
å ± Amazon Bedrock ã® API ããŒã®ã»ãã«ããAWS CodeCommit ã Amazon Keyspaces ãªã©ã® AWS ãµãŒãã¹ã ãµãŒãã¹åºæã®èªèšŒæ
å ±ããµããŒã ããŠããŸãã ãã®èšäºã§ç޹ä»ããã»ãã¥ãªãã£å¯Ÿçã¯ããããã®ãµãŒãã¹ã«ãé©çšã§ããŸããæ¬¡ã®è¡šã¯ããããã®ãµãŒãã¹åºæã®èªèšŒæ
å ±ã®äžè¬çãªãŠãŒã¹ã±ãŒã¹ã瀺ããŠããŸãã ãµãŒãã¹ ãŠãŒã¹ã±ãŒã¹ iam:ListServiceSpecificCredentials ã®ã¬ã¹ãã³ã¹ã«å«ãŸãããµãŒãã¹å æšå¥šãããä»£æ¿ææ®µ AWS CodeCommit ã® Git èªèšŒæ
å ± AWS CodeCommit ãªããžããªå
ã®ãã¡ã€ã«ã®ã¢ããããŒãã远å ãç·šéã«äœ¿çš codecommit.amazonaws.com SSH èªèšŒããã§ãã¬ãŒã·ã§ã³èªèšŒãªã©ã®æ¹æ³ããããŸãã詳现ã«ã€ããŠã¯ãã AWS CodeCommit: ä»ã®æ¹æ³ã䜿çšããã»ããã¢ãã ããåç
§ããŠãã ãã Apache Cassandra åãã® Amazon Keyspaces èªèšŒæ
å ± Apache Cassandra äºæã®ã¢ã¯ã»ã¹ã«äœ¿çš cassandra.amazonaws.com SigV4 èªèšŒãã©ã°ã€ã³ãå©çšã§ããŸãããã®ãã©ã°ã€ã³ã¯è€æ°ã®ããã°ã©ãã³ã°èšèªããµããŒãããŠãããIAM ããŒã«ããã§ãã¬ãŒãã£ããã¢ã€ãã³ãã£ãã£ã«ããèªèšŒãå¯èœã«ããŸãã詳现ã«ã€ããŠã¯ãã IAM ããŒã«ãš SigV4 ãã©ã°ã€ã³ã䜿çšã㊠Amazon Keyspaces ã«æ¥ç¶ããããã®äžæçãªèªèšŒæ
å ±ãäœæãã ããåç
§ããŠãã ãã ãŸãšã é·æ API ããŒããããã圱é¿ãšãã®ç®¡çæ¹æ³ãçè§£ããŠãããšãAmazon Bedrock API ããŒã®å®è£
æŠç¥ã«ã€ããŠãååãªæ
å ±ã«åºã¥ãã倿ãäžããŸããéèŠãªã®ã¯ã匷åºãªã»ãã¥ãªãã£ãã¹ãã£ãç¶æããªãããã»ãã¥ãªãã£ã³ã³ãããŒã«ããªã¹ã¯éžå¥œåºŠãšéçšèŠä»¶ã«åãããããšã§ãã AWS ã¯ãå¯èœãªéã AWS STS èªèšŒæ
å ±ãäž»èŠãªèªèšŒæ¹æ³ãšããŠäœ¿çšããããšãåŒ·ãæšå¥šããŠããŸããAWS STS èªèšŒæ
å ±ã䜿çšã§ããªãå Žåã¯ãæå¹æéã®ä»çµã¿ãçµã¿èŸŒãŸããçæ API ããŒãæ€èšããŠãã ãããé·æ API ããŒã¯ãAWS STS èªèšŒæ
å ±ãçæã®èªèšŒæ
å ±ãéžæè¢ã«ãªããªãå Žåã«ã®ã¿å®è£
ããŠãã ãããAPI ããŒãå®è£
ããéã«çµç¹ãšããŠéç¹ã眮ãã¹ãç¹ã¯ã次ã®ãšããã§ããAWS CLI ãš CloudTrail ãã°ã䜿çšã㊠API ããŒãèå¥ããããšãSCP ãªã©ã®äºé²çã³ã³ãããŒã«ã§ API ããŒã®äœæãšäœ¿çšã管çããŠé²åŸ¡ããããšãCloudTrail ã€ãã³ããEventBridgeãAWS Config ã«ãŒã«ã«ããå
æ¬çãªç£èŠã§ API ããŒã®ã¢ã¯ãã£ããã£ãæ€ç¥ããããšããããŠæç¢ºãªã€ã³ã·ãã³ãå¯Ÿå¿æé ãæŽåãã䟵害ãããå¯èœæ§ã®ãã API ããŒã«è¿
éã«å¯Ÿå¿ããããšã§ãã ãã¹ããã©ã¯ãã£ã¹ã¯ãæå°æš©éã®ååã«åºã¥ãé©åãªã¢ã¯ã»ã¹ã³ã³ãããŒã«ãç¶æããªããããããã®ã³ã³ãããŒã«ãå®è£
ããããšã§ãããã®å€å±€çãªã¢ãããŒãã«ãããéçºããŒãºã«åãã㊠API ããŒã广çã«æŽ»çšãã€ã€ã匷åºãªã»ãã¥ãªãã£ãã¹ãã£ãç¶æã§ããŸãã ãã®èšäºã«é¢ããã質åã¯ã AWS ãµããŒãã«ãåãåãã ãã ããã Jennifer Paz Jennifer 㯠10 幎以äžã®çµéšãæã€ Security Engineer ã§ãçŸåšã¯ AWS Customer Incident Response Team (CIRT) ã«æå±ããŠããŸããã客æ§ã®ã»ãã¥ãªãã£èª²é¡ã®è§£æ±ºãæ¯æŽããã»ãã¥ãªãã£ãã¹ãã£ã匷åããããã®è€éãªãœãªã¥ãŒã·ã§ã³ãå®è£
ããããšã«ãããããæããŠããŸããä»äºä»¥å€ã§ã¯ãç±å¿ãªã©ã³ããŒã§ãããããã¯ã«ããŒã«æå¥œå®¶ãæ
è¡å¥œããã°ã«ã¡ã§ããããåžžã«æ°ããé£ã®åéºãæ¢ãæ±ããŠããŸãã Kyle Dickinson ãã€ãŠ Gibson ãæ¢çŽ¢ããŠããç§ã¯ãä»ã§ã¯ã¯ã©ãŠãã»ãã¥ãªãã£ã®å°éå®¶ã§ããAWS ã® Sr. Security Solution Architect ãšããŠããã€ãŠæ¢çŽ¢ããŠããã·ã¹ãã ãä»ã¯å®ã£ãŠããŸããAWS ã®ã客æ§ãå®ã£ãŠããªããšãã¯ãLEGO äœåãçµã¿ç«ãŠããã倧ãããããã«ãã³ã°ããŒãã®è
ãäžããããšå¥®éãããããŠããŸããå®¶åºç掻ã¯ãèªä¿¡ãã£ã·ãã®å°ããªç¬ãšããã€ãç¬ãããŠãããå
æ°ãª 4 æ³ã®åšãäžå¿ã«åã£ãŠããŸãã æ¬ããã°ã¯ Security Solutions Architect ã® äžå³¶ ç« å ã翻蚳ããŸããã
2026 幎 10 æ 12 æ¥ãã³ãŒããã€ãã³ããã³ãã©ãŒã«æžãçŽããã«æšæºã® HTTP ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã Lambda ã§å®è¡ã§ããæ°ãããã©ãŒã ãã¡ã¯ã¿ãŒã§ãã AWS Lambda Web Functions ãçºè¡šããŸãããExpressãHonoãFastifyãNext.jsããŸãã¯ä»»æã® Node.js ãã¬ãŒã ã¯ãŒã¯ã§æ§ç¯ãããæšæºã®ããŒããªã¹ãã³ã°ãµãŒããŒã 1 ã€ã®ã³ãã³ãã§ãããã€ã§ããŸããLambda ã¯ãã¹ã±ãŒãªã³ã°ããã«ããªãŒãžã§ã³ååžãã¢ã¯ãã£ã㪠CPU è«æ±ãèªåçã«åŠçããŸããã¢ããã¿ãŒã管çããã€ã³ãã©ã¹ãã©ã¯ãã£ããã¬ãŒã ã¯ãŒã¯ã®ããã¯ã€ã³ã¯ãããŸããã ä»åã®çºè¡šã«ãããAWS Lambda 㯠3 ã€ã®ç°ãªããã©ãŒã ãã¡ã¯ã¿ãŒãæäŸããããã«ãªããŸãããåãã©ãŒã ãã¡ã¯ã¿ãŒã¯åã Firecracker åé¢ãã¯ãããžãŒã«åºã¥ããŠæ§ç¯ãããç°ãªãããã°ã©ãã³ã°ã¢ãã«åãã«èšèšãããŠããŸãã Lambda Event Functions ã¯ããã§ã« Lambda 颿°ãšããŠç¥ãããŠãããã®ã§ããã€ãã³ãé§ååã®åäžåæãã³ãã©ãŒã¢ãã«ãšãŠã©ãŒã«ã¯ããã¯èª²éæ¹åŒãæ¡çšããŠããŸãããã€ãã³ã颿°ããšããååã¯ããã®ããã°ã©ãã³ã°ã¢ãã«ãã€ãŸã颿°ãã€ãã³ããåãåã£ãŠåŠçããå¿çãè¿ããšããããšã匷調ããããã§ããã€ãã³ãé§ååããã°ã©ãã³ã°ã¢ãã«ã¯ãã€ãã³ãåŠçããã¥ãŒã³ã³ã·ã¥ãŒããŒãããã³ä»ã® AWS ãµãŒãã¹ã«ãã£ãŠããªã¬ãŒãããåŒã³åºãã«æé©ã§ãã Lambda Web Functions ã¯ããã«ãã³ã³ã«ã¬ã³ãå®è¡ãšã¢ã¯ãã£ã CPU 課éãå¯èœãª HTTP ãã€ãã£ãããã°ã©ãã³ã°ã¢ãã«ã䜿çšããŠããŸããã³ãŒãã¯ããŒãã§ãªãã¹ã³ããæšæºã® HTTP ãªã¯ãšã¹ããåŠçããŸãããã®ããã°ã©ãã³ã°ã¢ãã«ã¯ãè€æ°ã®åæãªã¯ãšã¹ããš I/O ã®å€ãåŠçãæšæºãšãªã£ãŠãããŠã§ãã¢ããªã±ãŒã·ã§ã³ãAPI ããã¯ãšã³ããã€ã³ã¿ã©ã¯ãã£ã㪠HTTP ã¯ãŒã¯ããŒãã«æé©ã§ãã Lambda MicroVM㯠ãä¿¡é Œã§ããªãã³ãŒãããŠãŒã¶ãŒãçæããã³ãŒããå®è¡ããããã®é¡§å®¢ç®¡çã®ã©ã€ããµã€ã¯ã«ãåãããåé¢ãããã¹ããŒããã«ãªãµã³ãããã¯ã¹ç°å¢ãæäŸããŸãã ãã®3ã€ã¯äºãã«è£å®ãåã£ãŠããŸããã¢ããªã±ãŒã·ã§ã³ã§ã¯ãéåæããã¯ãšã³ãåŠçã«ã¯ã€ãã³ã颿°ããŠãŒã¶ãŒåã API ãšãµãŒããŒåŽã¬ã³ããªã³ã°ã¬ã€ã€ãŒã«ã¯ Web Functionsãã€ã³ã¿ã©ã¯ãã£ããªã³ãŒãå®è¡æ©èœã«ã¯ MicroVM ã䜿çšããå ŽåããããŸãããããã¯ãã¹ãŠåã AWS ã¢ã«ãŠã³ãå
ã§åãéçšã¢ãã«ãå
±æããŸãã ãªããŠã§ããã¡ã³ã¯ã·ã§ã³ãªã®ã ææ°ã®ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã§ã¯ãéçºè
ãæšæºãã¬ãŒã ã¯ãŒã¯ãèªç±ã«äœ¿çšããŠè¿
éã«å埩ã§ããããã«ããªãããé«éã§äžè²«ããå¿çæéã§äžçäžã®ãŠãŒã¶ãŒã«ãµãŒãã¹ãæäŸããå¿
èŠããããŸãã仿¥ãããæ§ç¯ããã«ã¯ãéåžžãè€æ°ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã³ã³ããŒãã³ããçµã¿ç«ãŠããã«ããªãŒãžã§ã³å±éãæ§æããã¬ã€ãã³ã·ãŒããŒã¹ã®ã«ãŒãã£ã³ã°ãèšå®ããI/OåŸ
æ©ã«ããæ¯æããåé¿ããããã®è«æ±ã¢ãã«ã®ãã¥ãŒãã³ã°ãå¿
èŠã§ããéçºè
ã¯ããã§ã«ææããŠããHTTPãµãŒããŒããããã€ããã®ã§ã¯ãªããç¹å®ã®ã³ã³ãã¥ãŒãã£ã³ã°ã¢ãã«ã«åãããŠã¢ããªã±ãŒã·ã§ã³ã³ãŒãã調æŽããŠããããšã«æ°ä»ãããšããããããŸãã Lambda ãŠã§ã颿°ã¯ãã®è€éããè§£æ¶ããŸããåå®è¡ç°å¢ã¯è€æ°ã®ãªã¯ãšã¹ããåæã«åŠçããŸãïŒç°å¢ããšã«æå€§128ã®åæãªã¯ãšã¹ãïŒãã€ãŸããåãªã¯ãšã¹ããæ°ãããªã¯ãšã¹ãã«ãããã³ã°ãã代ããã«ã倧éã®åä¿¡ãã©ãã£ãã¯ããŠã©ãŒã ç°å¢ãå
±æã§ããŸããWeb Functions ã¯ã³ãŒãã䜿çšãã CPU æéãèšæž¬ãããããããŒã¿ããŒã¹ã¯ãšãªã API åŒã³åºãã®åŸ
æ©æéã CPU ãã»ãšãã©æ¶è²»ããŸãããã¡ã¢ãªã¯ãå®è¡ç°å¢ãååšããéãèšæž¬ãããŸãããµãŒããŒãµã€ãã¬ã³ããªã³ã°ãAPI ããã¯ãšã³ããããŒã¯ã³å¿çãã¹ããªãŒãã³ã°ãã AI æšè«ãšã³ããã€ã³ããªã©ãI/O ã®å€ããŠã§ãã¯ãŒã¯ããŒãã§ã¯ãããã«ããã³ã³ãã¥ãŒãã£ã³ã°ã³ã¹ããåæžã§ããŸãã 詊ããŠã¿ãŸããã ã¯ããã«ãåçŽãª Express.js ãµãŒããŒãäœæããŸããããã㯠node index.js ã䜿çšããŠããŒã«ã«ã§å®è¡ããã®ãšåãã³ãŒãã§ ãLambda åºæã®ã¢ããã¿ãŒãã©ãããŒã¯å¿
èŠãããŸããã ããšã¯ã¹ãã¬ã¹ããããšã¯ã¹ãã¬ã¹ãã€ã³ããŒã; const ã¢ã㪠= ãšã¯ã¹ãã¬ã¹ (); const [ãã¹ã, ããŒã] = process.env.aws_lambda_http_Endpoint.split (':'); app.get ('/', (req, res) => { res.json ({ã¡ãã»ãŒãž:'ã©ã ããŠã§ã颿°ããããã«ã¡ã¯!'}); }); app.listen (ããŒãããã¹ãã() => { console.log(`Server running on port ${port}`); }); ããŒã«ã«ã§ã®å®è¡ãšã®å¯äžã®éãã¯ã AWS_LAMBDA_HTTP_ENDPOINT ç°å¢å€æ°ã§ããLambda ã¯ãã®å€æ°ãããµãŒããŒããªãã¹ã³ããå¿
èŠããããã¹ããšããŒãã«èšå®ããŸããããŒã«ã«ã§å®è¡ããã«ã¯ãèªåã§èšå®ããŸããããšãã°ã AWS_LAMBDA_HTTP_ENDPOINT=127.0.0.1:3000 node index.js ã®ããã«èšå®ããŸãã ã³ãŒãã®æºåãã§ãããã AWS ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ (AWS CLI) ã䜿çšããŠãããã€ããŸããã aws lambda-web deploy --name my-web-app --code ./my-app 1 ã€ã®ã³ãã³ããäºåã®ãªãœãŒã¹èšå®ã¯ãããŸãããCLIã¯ãœãŒã¹ããã³ãã«ããWebãã¡ã³ã¯ã·ã§ã³ãäœæããæåã®ãªããžã§ã³ãå
¬éããWebãã¡ã³ã¯ã·ã§ã³ãšã³ããã€ã³ããã¢ã¿ããããŠã1å以å
ã«ã©ã€ãHTTPSURLãè¿ããŸããã ãªããžã§ã³ã¯ããããã€ããã³ãŒãã®äžå€ã®ã¹ãããã·ã§ããã§ãããšã³ããã€ã³ãã¯ããã©ãã£ãã¯ããªããžã§ã³ã«ã«ãŒãã£ã³ã°ãããããã©ãã£ãã¯ããªããžã§ã³éã§åå²ããããã HTTPS URL ã§ãããããã¯ãååŸ©äœæ¥ãè¡ããæ°ããã³ãŒããžãã©ãã£ãã¯ãã©ã®ããã«ç§»è¡ãããããå¶åŸ¡ããããã«äœ¿çšãããªãœãŒã¹ã§ãã ç§ã¯ããã«ããããã¹ãããŸããïŒ <shard-id>$ curl https://<domain-id>. .lambda-web.us-east-1.on.aws/ {ãã¡ãã»ãŒãžã:ãLambda Web Functionsããããã«ã¡ã¯!ã} 次ã«ãèªåã®ã¢ããªã±ãŒã·ã§ã³ããšãŒããããšã¢ãžã¢ã®ãŠãŒã¶ãŒã«äœã¬ã€ãã³ã·ãŒã§ãµãŒãã¹ãæäŸã§ããããã«ãããã£ãã®ã§ããè€æ°ã®ãªãŒãžã§ã³ã§åãããã€ããŸããã aws lambda-web deploy --name my-web-app --code ./my-app \ --regions us-east-1,eu-west-1,ap-northeast-1 Lambda Web Functions ã¯ç§ã®ã³ãŒãã 3 ã€ã®ãªãŒãžã§ã³ãã¹ãŠã«è€è£œããã¬ã€ãã³ã·ãŒããŒã¹ã®ã«ãŒãã£ã³ã°ãèªåçã«èšå®ããŸãããããã§ãåãªã¯ãšã¹ãã¯ããã¹ããšãã©ãŒãæ¹åŒã§ 1 ã€ã®ã°ããŒãã« URL ( <domain-id>.lambda-web.global.on.aws ) ãä»ããŠãåŒã³åºãåŽã®ã¬ã€ãã³ã·ãŒãæãäœããªãŒãžã§ã³ã«ã«ãŒãã£ã³ã°ãããããã«ãªããŸãããã ã³ãŒããæŽæ°ããŠåããããã€ã³ãã³ããå床å®è¡ãããšãCLIã¯æ¢åã®é¢æ°ãæ€åºããæ°ãããªããžã§ã³ãã¢ããããŒãããŠããšã³ããã€ã³ãã«ãã®ãªããžã§ã³ãæå®ããŸãããã³ãŒã倿Žããæ¬çªçšŒåãŸã§ã®åèšæèŠæé: ç§ã ããæ®µéçãªããŒã«ã¢ãŠããå¿
èŠãªãããã¯ã·ã§ã³ã¯ãŒã¯ãããŒã§ã¯ã1 åã® API åŒã³åºãã§ãªããžã§ã³éã§ãã©ãã£ãã¯ãã·ããã§ããŸãã aws lambda-web update-web-function-endpoint \ --function-name my-web-app \ --endpoint-name dev \ --auto-deployment-mode Disabled \ --revision-weights ã[{ãrevisionIdã: ã<current-revision-id>ã, ãweightã: 90}, {ãrevisionIdã: ã<new-revision-id>ã, ãweightã: 10}]ã ããã«ããããšã³ããã€ã³ããã©ãã£ãã¯ã®90ïŒ
ãçŸåšã®ãªããžã§ã³ã«ã10ïŒ
ãæ°ãããªããžã§ã³ã«éãããããã远å ã®ããŒã«ãªãã§ã«ããªã¢ãããã€ã¡ã³ããè¡ãããšãã§ããŸãã Amazon CloudFront ãšäœµçšãããšããã«äŸ¿å©ã« éçã³ã³ãã³ããšåçã³ã³ãã³ããçµã¿åãããã¢ããªã±ãŒã·ã§ã³ã®å ŽåããŠã§ã颿°ã¯ Amazon CloudFront ãšäœµçšãããšããŸãæ©èœããŸãããŠã§ã颿°ãšã³ããã€ã³ãã CloudFront ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ãªãªãžã³ãšããŠéžæã§ããŸããéçã¢ã»ããã¯ãã£ãã·ã¥ããæäŸãããåçãªã¯ãšã¹ãã¯Web Functionã«ã«ãŒãã£ã³ã°ããããããåçéšåã®ãµãŒããŒã¬ã¹ã³ã³ãã¥ãŒãã£ã³ã°ã§éçã³ã³ãã³ãã®CDNããã©ãŒãã³ã¹ãå®çŸã§ããŸãã ãŠã§ãæ©èœã«ãããCloudFront ã®ãã©ã€ããŒããªãªãžã³ãšã¯ã¹ããªãšã³ã¹ãåäžããŸãã ä»åã®èµ·åã§ã¯ã代ããã« CloudFront ãªãªãžã³ã¢ã¯ã»ã¹ã³ã³ãããŒã« (OAC) ããŠã§ã颿°ãšã³ããã€ã³ãã«ã¢ã¿ããããŸããCloudFront ã¯ãªãªãžã³ãžã®ãªã¯ãšã¹ãã«çœ²åãããšã³ããã€ã³ãã¯ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ã¿ããããåŒã³åºãããšãèš±å¯ããŸãããšã³ããã€ã³ããå
¬éããããã¢ããªã±ãŒã·ã§ã³ã«ã«ã¹ã¿ã èªèšŒã远å ãããããªããŠããCloudFront ããã§ã« Amazon Simple Storage Service (Amazon S3) ã«æäŸããŠããã®ãšåããã©ã€ããŒããªãªãžã³ãã¿ãŒã³ãåŸãããŸãã ä»ãããå©çšããã ããŸã AWS Lambda Web Functions ã¯çŸåšãç±³åœæ±éš (ããŒãžãã¢åéš)ãç±³åœæ±éš (ãªãã€ãª)ãç±³åœè¥¿éš (ãªã¬ãŽã³)ãã¢ãžã¢ãã·ãã£ã㯠(æ±äº¬)ãããã³æ¬§å· (ã¢ã€ã«ã©ã³ã) ã§ãå©çšããã ããŸãããŠã§ã颿°ã¯èµ·åæã« Arm64 ã§ Node.js 24 (nodejs24.x) ãå®è¡ããAmazon ä»®æ³ãã©ã€ããŒãã¯ã©ãŠã (VPC) æ¥ç¶ããµããŒãããŸããããã«ããã颿°ã VPC å
ã«ååšãããªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã å§ããã«ã¯ãæåã® Web 颿°ã 1 å以å
ã«ãããã€ããŠãã ããã aws lambda-web deploy --name hello-world --hello-world æéã®è©³çްã«ã€ããŠã¯ã AWS Lambda ã®æé衚ããŒãžãã芧ãã ãã ã詳现ã«ã€ããŠã¯ã Lambda ãŠã§ã颿°ã®ããã¥ã¡ã³ããåç
§ããŠãã ãã ã åæã¯ ãã¡ã ã§ãã























