Chrome ã® SameSite 屿§ã®ä»æ§ã«ããã¢ããªã±ã¼ã·ã§ã³ä¸å ·åãèµ·ãã話
ãã㯠ã¨ããµã¤ããã¼ã«ãã£ã³ã°ã¹ Advent Calendar 2023 ã®3æ¥ç®ã®è¨äºã§ãã
æè¿ã¯æ¥åã§ãã¾ã« PHP ãæ¸ãã¦ããã®ã§ãããChrome ã® SameSite 屿§ã®æåã«ããåè¦å «è¦ããã®ã§ãã®å 容ãã¾ã¨ãã¦ã¿ããã¨æãã¾ãã
- çµè«
- SameSite 屿§ã¨ Chrome ã®ä»æ§
- ä¸å ·åãèµ·ããã±ã¼ã¹
- å¯¾å¿æ¹æ³
- ã¾ã¨ã
- åèURL
çµè«
å
ã«çµè«ã§ãã
åæã¨ãã¦ãChrome ãã©ã¦ã¶ã«éã£ã話ã§ããFirefox ãªã©ä»ã®ãã©ã¦ã¶ã§ã¯å¾®å¦ã«ä»æ§ãç°ãªãã¾ãã
Cookie ã«è¨å®ã§ãã SameSite 屿§ã« Lax ãè¨å®ãã¦ããã¨ãCross Site 㪠POST ãªã¯ã¨ã¹ããå©ç¨ããå ´å㯠Cookie ãçºè¡ããã¦ãã 2åéã ããã® POST ãªã¯ã¨ã¹ãã« Cookie ãã»ããããã¾ãã2åãéãã㨠POST ãªã¯ã¨ã¹ãã«ã¯ Cookie ãã»ãããããªããªãã®ã§ãã¢ããªã±ã¼ã·ã§ã³ã®æåã¨ãã¦ãããããªãå¯è½æ§ãããã¾ãã
SameSite=None ãå©ç¨ããããPOST ã GET ã«ããããCookie ãå©ç¨ããªãããã«ããããCookie ã®çºè¡ã¿ã¤ãã³ã°ã調æ´ãããªã©ã®å¯¾å¿ãåãå¿
è¦ãããã§ãããã
SameSite 屿§ã¨ Chrome ã®ä»æ§
èªåãåè¦å «è¦ããã±ã¼ã¹ã説æããåã«ç°¡åã« SameSite 屿§ã¨ SameSite ã«å¯¾ãã Chrome ã®ä»æ§ã®èª¬æããã¦ããã¾ããä»åã®äºè±¡ã解説ããããã®æä½éã®èª¬æãªã®ã§è©³ããã¯åè URL ãªã©ãã覧ãã ããã
Same Site ã®æ¡ä»¶
以ä¸ã®å ¨ã¦ãä¸è´ããã° Same Site ã¨ãªãã1ã¤ã§ãç°ãªãã° Cross Site ã§ãã
- ã¹ãã¼ã(
http,httpsãªã©) - eTLD + 1 (ä¾:
example.co.jp,example.comãªã©)
â» eTLD(effective Top Level Domain) ã¨ã¯ã.comã.orgãªã© Root Zone Database ã«æ²è¼ããã¦ãTLD ã¨ãã®ããå·¦å´ãåããããã®ã§ãã.co.jpã.github.ioãªã©ãå®è³ªçã«TLDã¨ãã¦æ±ããã¦ããã®ããããããã㯠Public Suffix List ã«ã¾ã¨ãããã¦ãã¾ã
ä¾ãã°ãhttps://sub1.example.com 㨠https://sub2.example.com 㯠Same Site ã§ãããhttps://example1.com 㨠https://example2.com 㯠Same Site ã§ã¯ããã¾ããã
SameSite 屿§ã«ã¤ãã¦
Cookie ãçºè¡ããéã«è¨å®ã§ãã SameSite 屿§ã¯ 3 ã¤ã®å¤ãè¨å®ã§ãã¾ãã
| è¨å®å¤ | 説æ |
|---|---|
| None | å ¨ã¦ã® cross-site ãªãªã¯ã¨ã¹ãã«å¯¾ã㦠Cookie ãä»ä¸ããã¾ã |
| Strict | same-site ã«å¯¾ãããªã¯ã¨ã¹ãã«ã®ã¿ Cookie ãä»ä¸ããã¾ã |
| Lax | GET ãªã¯ã¨ã¹ãã§ã® Cross Site ã®ãã¼ã¸é·ç§»ã Same Site ã® POST, GET ãªã¯ã¨ã¹ãã«ã®ã¿ Cookie ãä»ä¸ããã¾ãã䏿¹ãPOST ã¡ã½ããã®ãã㪠CSRF ã®å±éºæ§ãé«ã HTTP ã¡ã½ããã«ãã Cross Site ãªãªã¯ã¨ã¹ãã«å¯¾ãã¦ã¯ Cookie ãä»ä¸ããã¾ãããCross Site ã§ POST ãªã¯ã¨ã¹ãããå ´å㯠Cookie ãé£ã°ãªãã®ã§æªæã®ãããµã¤ãããã® POST ã«ãã CSRF æ»æã®å¯¾çã«ãªãã¾ãã |
â» ã¡ãªã¿ã«ãChrome 84 以é SameSite å¤ãè¨å®ããã¦ããªã Cookie 㯠SameSite=Lax ã¨ãã¦æ±ãããããã«ãªãã¾ãã
SameSite 屿§ã«é¢ãã Chrome ã®ä»æ§
Chrome ã§ã¯ SameSite=Lax ã㤠Cross Site 㪠POST ãªã¯ã¨ã¹ããããéã®æåãä¸è¨ã§èª¬æãã Lax ã®æåã¨å°ãç°ãªãã¾ãã ããã¯ãCookie ãçæãããã¿ã¤ãã³ã°ãã2å以å ã§ããã° Cross Site 㪠POST ãªã¯ã¨ã¹ãã« Cookie ãä»ä¸ããã2å以é㯠Cookie ãä»ä¸ããªãã¨ããç¹ã§ãã
å®éã«èªåãééããã±ã¼ã¹ãè¦ã¦ã¿ã¾ãããã
ä¸å ·åãèµ·ããã±ã¼ã¹
PHP ã§ä»ç¤¾ã·ã¹ãã ã«ãªãã¤ã¬ã¯ããããªããè¡ãããç»é²å¦çãéçºããã¦ããã¨ãã«ãChrome ã§ç»é²å¦çãæåããã失æãããããç¾è±¡ã«ããã¾ããã
A ãµã¤ããèªç¤¾ã§ç®¡çãããµã¤ããB ãµã¤ããä»ç¤¾ã§ç®¡çãããµã¤ãã¨ãã¦ããã®å¦çã®æµããä¸è¨ã«ç¤ºãã¾ããåæã¨ãã¦ã¦ã¼ã¶ã A ãµã¤ãã«ãã°ã¤ã³æ¸ã¿ã§ã»ãã·ã§ã³IDã SameSite=Lax ã§ Cookie ã«ã»ãããã¦ãããã®ã¨ãã¾ãã
- A ãµã¤ãã§ã¦ã¼ã¶ãæ å ±ãå ¥åã POST ãªã¯ã¨ã¹ããéä¿¡
- A ãµã¤ãã§ç»é²å¦çã®ãã©ã³ã¶ã¯ã·ã§ã³IDãçºè¡ããã¼ããªã¥ã¼ã¹ãã¢ã«ã»ãã·ã§ã³IDããã¼ã¨ãã¦ãã©ã³ã¶ã¯ã·ã§ã³IDãç»é²
- B ãµã¤ãã¸ãªãã¤ã¬ã¯ã
- B ãµã¤ãã§ãããããã®å¦çå¾ã« A ãµã¤ã㸠POST ãªã¯ã¨ã¹ãã®ãªãã¤ã¬ã¯ã
- ãã¼ããªã¥ã¼ã¹ãã¢ããã»ãã·ã§ã³IDããã¼ã¨ãã¦ãã©ã³ã¶ã¯ã·ã§ã³IDãåå¾
- ãã©ã³ã¶ã¯ã·ã§ã³IDãå©ç¨ãã¦ç»é²å¦ç宿½

A ãµã¤ã㨠B ãµã¤ãã¯å®å ¨ã«å¥ãã¡ã¤ã³ãªã®ã§ Cross Site ã¨ãªãã¾ããã¾ããB ãµã¤ããã A ãµã¤ãã¸ã®ãªãã¤ã¬ã¯ã㯠POST ãªã¯ã¨ã¹ããªã®ã§ä»åç´¹ä»ãã仿§ã«ãã¦ã¯ã¾ãã¾ããèµ·ããç¾è±¡ã¨ãã¦ã¯ãã»ãã·ã§ã³IDãã»ããããã Cookie ãçºè¡ãããã®ã¯ãã°ã¤ã³ã®æãªã®ã§ããã°ã¤ã³ãã2å以å ã« A ãµã¤ãã«ãªãã¤ã¬ã¯ãã§æ»ã£ã¦ãããã¨ãã® A ãµã¤ãã¸ã® POST ãªã¯ã¨ã¹ãã« Cookie ãä»ä¸ããããã¼ããªã¥ã¼ã¹ãã¢ãããã©ã³ã¶ã¯ã·ã§ã³IDãåå¾ãããã¨ãã§ãç»é²ãæåãã¾ãããããããã°ã¤ã³ãã2å以éã« A ãµã¤ãã«ãªãã¤ã¬ã¯ãã§æ»ã£ã¦ããã¨ãã® POST ãªã¯ã¨ã¹ãã«ã¯ Cookie ãã»ããããã¦ããªãã®ã§ããµã¼ãå´ã«ã»ãã·ã§ã³IDãä¼ããããã¼ããªã¥ã¼ã¹ãã¢ããã®ãã©ã³ã¶ã¯ã·ã§ã³IDã®åå¾ã«å¤±æãã¾ãã
å¯¾å¿æ¹æ³
対å¿ã¨ãã¦ã¯ä»¥ä¸ã®æ¹æ³ããããã¨æãã¾ãã
- Cookie ãå©ç¨ããªãã¦ããããæ¤è¨ãã
- POST ã GET ã«ã§ããªããæ¤è¨ãã
- SameSite=None ãå©ç¨ãã
- Cookie ã®çºè¡ã¿ã¤ãã³ã°ã調æ´ãã
ä»åã¯ã¢ããªã±ã¼ã·ã§ã³å´ã§ CSRF 対çãããä¸ã§ 3 ã® SameSite=None ã§å¯¾å¿ãã¾ããã
ã¾ããä»åç´¹ä»ãã Lax + POST ã®çµã¿åããã«ãã2åç¸ãã¯ããããªããªãã2åçµéãããã¨ãªã Cookie ãã»ãããããªããªãããã§ããæéããªã»ããããããã«ã»ãã·ã§ã³IDãåçæã㦠Cookie ã«è¨å®ãç´ãæ¹æ³ããããã¨ã¯æãã¾ããããã¤ä»æ§ãå¤ãããåãããªãã®ã§ãã®æ¹æ³ã¯åãã¾ããã§ããã https://www.chromium.org/updates/same-site/
Note that the 2-minute window for "Lax+POST" is a temporary intervention and will be removed at some point in the future (some time after the Stable launch of Chrome 80), at which point cookies involved in these flows will require
SameSite=NoneandSecureeven if under 2 minutes old.
ã¾ã¨ã
ä»å㯠Chrome ã® SameSite 屿§ä»æ§ã«ããã¢ããªã±ã¼ã·ã§ã³ã®ä¸å ·åäºä¾ãç´¹ä»ãã¾ããã éå»ã« SameSite 屿§ã®ä»æ§å¤æ´ããã£ãéã«ãã®2åã®ä»æ§ãè²ã ãªè¨äºã§æç¨¿ããã¦ãã¾ããããä»åã®ä»¶ã§èªåãè©°ã¾ã£ãã¨ãã«ãªããªããããã®è¨äºã«è¾¿ãçãã¾ããã§ããããã¾ãã¾ãªæè¡ååã«ã¢ã³ãããè²¼ããã¨ã¯å¤§äºã ã¨æ¹ãã¦æãã¾ããã ä»åã®è¨äºãèªåã®ãããªäººã«å±ãã°å¹¸ãã§ãã
åèURL
ããã¤ãããã IAM ã¢ã¯ã»ã¹ã¢ããã¤ã¶ã¼ã®ç´¹ä»ãããã¦ãã
ãã㯠ã¨ããµã¤ããã¼ã«ãã£ã³ã°ã¹ Advent Calendar 2022 ã®21æ¥ç®ã®è¨äºã§ãã
ã¿ãªãããAWS ãå©ç¨ãã¦ã㦠IAM ã®æå°æ¨©éãå²ãå½ã¦ãã£ã¦é£ãããªãï¼ã¨æã£ããã¨ã¯ããã¾ãããããããªæã¯ IAM ã¢ã¯ã»ã¹ã¢ããã¤ã¶ã¼ã便å©ã§ãããããããä¸ã« IAM ã¢ã¯ã»ã¹ã¢ããã¤ã¶ã¼ã«ã¤ãã¦ã®èª¬æã¯ããããããã¾ããããã¾ãç®ç«ããªãæ©è½ãªã®ã§ããã¦ç´¹ä»ãã¦ã¿ããã¨æãã¾ãã
IAM ã¢ã¯ã»ã¹ã¢ããã¤ã¶ã¼ã¨ã¯
IAM ã¢ã¯ã»ã¹ã¢ããã¤ã¶ã¼ã¨ã¯ãIAM ãªã½ã¼ã¹ãã¢ã¯ã»ã¹å¯è½ãªãµã¼ãã¹ã IAM ãªã½ã¼ã¹ã®éå»ã®ã¢ã¯ã»ã¹å±¥æ´ãªã©ã®æ å ±ãæä¾ãã¦ããã IAM ã®æ©è½ã§ãããã®æ©è½ã¯ããã¼ã¸ã¡ã³ãã³ã³ã½ã¼ã«ä¸ã§å©ç¨ããããAPI ãæä¾ããã¦ããã®ã§ CLI ã§å©ç¨ããããããã¨ãã§ãã¾ãã
ã©ããªæã«å½¹ã«ç«ã¤ã
権éãæ´çãæå°æ¨©éã«è¿ã¥ãããã¨ãã§ãã¾ããä¾ãã°ã髿¨©é㪠IAM ããªã·ã¼ãæã£ã IAM ãã¼ã«ãåå¨ãã¦ãããããã® IAM ãã¼ã«ãå©ç¨ãã¦ãããµã¼ãã¹ãéå®ããã¦ãããã¨ãåããã°ãå²ãå½ã¦ã¦ããããªã·ã¼ãè¦ç´ããã£ããã«ãªãã§ãããã
ä»ã«ããç°¡æçãªç£æ»ã«å©ç¨ã§ãã¾ããä¾ãã°ãæå³ãã¦ããªã AWS ãµã¼ãã¹ã«ã¢ã¯ã»ã¹å¯è½ã¨ãªã£ã¦ããªãã確èªã§ããããéå»ä¸å®æéã§ã¢ã¯ã»ã¹ãã AWS ãµã¼ãã¹ã®å±¥æ´ã®è¡¨ç¤ºãã§ããããã¾ãããªããµã¼ãã¹ã®è¿½è·¡æéã¯éå» 400 æ¥éã§ããååããã¾ããã
å®ä¾
ããã¼ã¸ã¡ã³ãã³ã³ã½ã¼ã«ä¸ã§ã®è¦ãæ¹ãç´¹ä»ãã¾ããã¾ããIAM ãµã¼ãã¹ã«ç§»åãã¦é©å½ã« IAM ã¦ã¼ã¶ã IAM ãã¼ã«ãï¼ã¤é¸æãã¾ããããããã¨ç»é¢ä¸å¤®ãããã«ãã¢ã¯ã»ã¹ã¢ããã¤ã¶ã¼ãã¨ããã¿ããããã®ã§æ¼ä¸ããã¨ä¸è¨ã®ãããªç»é¢ãåºããã¨æãã¾ãã

ããã§ã¯ã鏿ãã IAM ã¨ã³ãã£ãã£ãéå»ã«å©ç¨ãããµã¼ãã¹ä¸è¦§ã¨æ¥ä»ã表示ããã¦ãã¾ãããããè¦ãã°ãæ®æ®µãã使ç¨ãã¦ããã»ä½¿ç¨ãã¦ããªããµã¼ãã¹ãææ¡ãããã¨ãã§ãã¾ããã¤ã¾ãã使ç¨ãã¦ããªããµã¼ãã¹ãè¦ã¤ããã°ããã®ãµã¼ãã¹ã«å¯¾ããæ¨©éãå¥å¥ªãããã¨ã«ãããæå°æ¨©é㪠IAM ããªã·ã¼ã使ãããã¨ãã§ãã¾ãã
ããã«ãEC2, IAM, S3, Lambda ãµã¼ãã¹ã«ã¤ãã¦ã¯ãªã³ã¯ã«ãªã£ã¦ãããé£ã³å ã§ããè©³ç´°ãªæ å ±ã確èªã§ãã¾ããä»å㯠EC2 ã®ç»é¢ãè¦ã¦ã¿ã¾ããEC2 ãæ¼ä¸ããç»é¢ãä¸è¨ã¨ãªã£ã¦ãã¾ãã

EC2, IAM, S3, Lambda ãµã¼ãã¹ã«ã¤ãã¦ã¯ã¢ã¯ã·ã§ã³ãã¨ã«ã¢ã¯ã»ã¹æéã¨ã¢ã¯ã»ã¹ãªã¼ã¸ã§ã³ã表示ãã¦ããã¾ããããã§ã¯ãµã¼ãã¹ã®ã©ã®ã¢ã¯ã·ã§ã³ãæ®æ®µãã使ç¨ãã¦ããã»ä½¿ç¨ãã¦ããªããã確èªã§ãã¾ããã¤ã¾ãã使ç¨ãã¦ããªãã¢ã¯ã·ã§ã³ãè¦ã¤ããã°ããã®ã¢ã¯ã·ã§ã³ã®æ¨©éãå¥å¥ªãããã¨ã§ãããæå°æ¨©é㪠IAM ããªã·ã¼ã使ãããã¨ãã§ãã¾ãã
ã©ããã¦ãé©å㪠IAM ããªã·ã¼ã®ä½æã«å°ã£ããå°ãã ãç·©ãã«æ¨©éã使ããæ°æ¥å¾ã«å®éã« IAM ã¨ã³ãã£ãã£ãå©ç¨ãã¦ãããµã¼ãã¹ï¼EC2, IAM, S3, Lambdaã«éãï¼ã®ã¢ã¯ã·ã§ã³ãåããã®ã§ãã®ã¿ã¤ãã³ã°ã§æå°æ¨©é㪠IAM ããªã·ã¼ãè¨å®ããã¨ãã£ãæ¹æ³ãã¨ãã¾ããã
ã¾ã¨ã
ç°¡åã§ã¯ããã¾ãããä»å㯠IAM ã¢ã¯ã»ã¹ã¢ããã¤ã¶ã¼ãç´¹ä»ãã¾ããã
ãã¾ãç®ç«ããªãæ©è½ã§ãããæ¨©éæ´çã«ã¯ãã£ã¦ããã®æ©è½ã§ããè¿½å æéãããããªãã®ã§ããã²ä½¿ã£ã¦ã¿ã¦ã¯ãããã§ããããã
2022å¹´ã® AWS IAM Identity Center ã®é²åãæ¯ãè¿ã£ã¦ã¿ãã
ãã㯠ã¨ããµã¤ããã¼ã«ãã£ã³ã°ã¹ Advent Calendar 2022 ã®4æ¥ç®ã®è¨äºã§ãã
æ¥åä¸ãAWS IAM Identity Centerï¼æ§AWS Single Sign-Onï¼ããã使ãã®ã§ããã®è¨äºã§ã¯ 2022 å¹´ã® AWS IAM Identity Center é¢é£ã®å¬ããã¢ãããã¼ããæ¯ãè¿ããã¨æãã¾ãããã ããre:Invent 2022 ã®å 容ã¯å ¥ã£ã¦ãã¾ããã ã¾ã AWS IAM Identity Center ã¯åç§°ã¨ãã¦é·ãã®ã§ã以éã®æç« å ã§ã¯ IIC ã¨çç¥ããã¦ããã ãã¾ãã
- AWS IAM Identity Center ã¨ã¯
- AWS IAM Identity Center ã大éªãªã¼ã¸ã§ã³ã§å©ç¨å¯è½ã«
- çµç¹å ã§å§ä»»ãããã¡ã³ãã¼ã¢ã«ã¦ã³ãããã® AWS IAM Identity Center ã®ç®¡ç
- AWS IAM Identity Center ã AWS Identity and Access Management (IAM) ã«ã¹ã¿ãã¼ç®¡çããªã·ã¼ (CMP) ã®ãµãã¼ãã追å
- IAM ã¢ã¤ãã³ãã£ãã£ã»ã³ã¿ã¼ãã¦ã¼ã¶ã¼ã¨ã¯ã¹ããªã¨ã³ã¹ã¨ã¯ã©ã¦ãã»ãã¥ãªãã£åä¸ã®ãããã»ãã·ã§ã³ç®¡çæ©è½ã追å
- å¤§è¦æ¨¡ã«ã¦ã¼ã¶ã¼ã¨ã°ã«ã¼ãã管çãããæ°ãã AWS IAM Identity Center API ãçºè¡¨
- ã¾ã¨ã
AWS IAM Identity Center ã¨ã¯
ã¢ãããã¼ããç´¹ä»ããåã«ç°¡åã« IIC ã説æããã¦ãã ããã IIC ã¯ãã©ã®ã¦ã¼ã¶ã¼ãã©ã® AWS ã¢ã«ã¦ã³ãã«ã©ã®æ¨©éã§ãã°ã¤ã³ããããã¨ãããã¨ãä¸å 管çããç®çã§å©ç¨ãã AWS ã®ãµã¼ãã¹ã§ãã IIC ã使ç¨ãã¦ã¦ã¼ã¶ã¼ãã°ã«ã¼ãã 1 ãæã§ä½æãããæ¥ç¶ããããããã¨ã§ã徿¥å¡ã®ãµã¤ã³ã¤ã³ã»ãã¥ãªãã£ã管çã§ãã¾ãã AWS Organizations ãå©ç¨ãã¦è¤æ°ã® AWS ã¢ã«ã¦ã³ããéç¨ãã¦ãã伿¥ã§ã¯éå®ãããµã¼ãã¹ãã¨æãã¾ãã
ã¾ããä»å¹´ã® 7 æã«ã¯ AWS Single Sign-On (AWS SSO) ã¨ãããµã¼ãã¹åèªä½ã AWS IAM Identity Center ã«å¤ããã¾ãããå人çãªè©±ã§ãããæè¿ãã£ã¨ã¢ã¤ãã³ãã£ãã£ã»ã³ã¿ã¼ã¨ããå¼ã³æ¹ã«æ £ãã¦ãã¾ããã
AWS IAM Identity Center ã大éªãªã¼ã¸ã§ã³ã§å©ç¨å¯è½ã«
IIC ã大éªãªã¼ã¸ã§ã³ã§å©ç¨å¯è½ã«ãªãã¾ããã å¼ç¤¾ã§ã¯ BCP 対çã¨ãã¦æ±äº¬ãªã¼ã¸ã§ã³ä»¥å¤ã®ãªã¼ã¸ã§ã³ãæ¤è¨ãã¦ããã¨ããã§ããªã¼ã¸ã§ã³ã鏿ããä¸ã§ IIC ã®å¤§éªãªã¼ã¸ã§ã³ä¸é¸ã¯å¥½ææã¨ãªãã¾ããã
大éªãªã¼ã¸ã§ã³ã®å©ç¨ãæ¤è¨ãã¦ããæ¹ã«ã¨ã£ã¦ã¯è¯ãã¢ãããã¼ããã¨æãã¾ãã
çµç¹å ã§å§ä»»ãããã¡ã³ãã¼ã¢ã«ã¦ã³ãããã® AWS IAM Identity Center ã®ç®¡ç
AWS Organizations ã§çµç¹ã管çãã¦ããå ´åãçµç¹ã®è¦ª AWS ã¢ã«ã¦ã³ããåå¨ãã¾ããAWS ã®ãã¹ããã©ã¯ãã£ã¹ã¨ãã¦ã¯ã親 AWS ã¢ã«ã¦ã³ãã§ã¯è¦ª AWS ã¢ã«ã¦ã³ãã§å¿ è¦ã¨ãªã AWS ãµã¼ãã¹ã®ã¿ãå©ç¨ãã親 AWS ã¢ã«ã¦ã³ãã§æ±ãå¿ è¦ã®ãªã AWS ãµã¼ãã¹ã¯çµç¹å ã®å¥ AWS ã¢ã«ã¦ã³ãï¼ä»¥éãå AWS ã¢ã«ã¦ã³ãã¨å¼ã³ã¾ãï¼ã«å§ä»»ãã¾ãããã¨ãããã¨ã«ãªã£ã¦ãã¾ãã親 AWS ã¢ã«ã¦ã³ããã AWS ãµã¼ãã¹ã®å©ç¨æ¨©éãå§ä»»ãããå AWS ã¢ã«ã¦ã³ãã®ãã¨ãå§ä»»ç®¡çè ã¢ã«ã¦ã³ãã¨å¼ã³ã¾ãã
ä»åã®ã¢ãããã¼ãã§ IIC ãå§ä»»ç®¡çè ã¢ã«ã¦ã³ãã§å©ç¨ã§ããããã«ãªãã¾ããããã¹ããã©ã¯ãã£ã¹éãã親 AWS ã¢ã«ã¦ã³ãã§ã§ããã ã AWS ãµã¼ãã¹ãå©ç¨ããªãããã«ãã¦ãã伿¥ã«ã¨ã£ã¦ã¯è¯ãã¢ãããã¼ãã ã£ãã®ãã¨æãã¾ããå¼ç¤¾ã親 AWS ã¢ã«ã¦ã³ãã§ã¯ãªããå§ä»»ç®¡çè ã¢ã«ã¦ã³ãã§ IIC ãéç¨ããããã«ãã¾ããã
AWS IAM Identity Center ã AWS Identity and Access Management (IAM) ã«ã¹ã¿ãã¼ç®¡çããªã·ã¼ (CMP) ã®ãµãã¼ãã追å
ä»ã¾ã§ IIC ã§ãã°ã¤ã³ã¦ã¼ã¶ã®ããªã·ã¼ã管çããã«ã¯ã親 AWS ã¢ã«ã¦ã³ããããã¯å§ä»»ç®¡çè ã¢ã«ã¦ã³ãã§ã¤ã³ã©ã¤ã³ããªã·ã¼ãæå®ããå¿ è¦ãããã¾ããããããããã®ã¢ãããã¼ãã«ãããã«ã¹ã¿ã ããªã·ã¼ã許å¯ã®å¢çç¨ã®ããªã·ã¼ãå AWS ã¢ã«ã¦ã³ãã§ä½æã管çãããã¨ãã§ããããã«ãªãã¾ããããã®ã¢ãããã¼ãã«ããã親 AWS ã¢ã«ã¦ã³ããããã¯å§ä»»ç®¡çè ã¢ã«ã¦ã³ãã§ã³ã³ããã¼ã«ãããæ¨©éã¯å¼ãç¶ãä»ã¾ã§éãã¤ã³ã©ã¤ã³ããªã·ã¼ã使ç¨ããå AWS ã¢ã«ã¦ã³ãã§ç®¡çãã¦ãåé¡ãªãã¦ã¼ã¶ã®æ¨©éã¯ã«ã¹ã¿ã ããªã·ã¼ã許å¯ã®å¢çç¨ã®ããªã·ã¼ã使ç¨ãã¦å AWS ã¢ã«ã¦ã³ãã§ç®¡çãããã¨ãã§ãã¾ãã
ã¦ã¼ã¶ã®æ¨©é管çãå AWS ã¢ã«ã¦ã³ãã«å§ä»»ãããã¨ãã§ããããã«ãªããæ¨©é管çã®æè»æ§ãä¸ãã£ãè¯ãã¢ãããã¼ãã ã£ããã¨æãã¾ãã
IAM ã¢ã¤ãã³ãã£ãã£ã»ã³ã¿ã¼ãã¦ã¼ã¶ã¼ã¨ã¯ã¹ããªã¨ã³ã¹ã¨ã¯ã©ã¦ãã»ãã¥ãªãã£åä¸ã®ãããã»ãã·ã§ã³ç®¡çæ©è½ã追å
ãã®ã¢ãããã¼ãã§ã¦ã¼ã¶ã®ã»ãã·ã§ã³æéã®èª¿æ´ã15åã7æ¥éã§ã§ããããã«ãªããããã«å ãã¦åå¥ã®ã¦ã¼ã¶ã»ãã·ã§ã³ãçµäºãããã¨ãå¯è½ã¨ãªãã¾ããã伿¥ã®ã»ãã¥ãªãã£ã¼ããªã·ã¼ã«ãããã¾ããã»ãã·ã§ã³æéãé·ãã«è¨å®ãã¦ããã¨ãã¦ã¼ã¶ããã¡ãã¡æ¯æ¥ãã°ã¤ã³ããªããã°ãªããªãã¿ãããªãã¨ãé¿ãããã¾ãããã¦ã¼ã¶ã»ãã·ã§ã³ã®ç¡å¹åã«ã¤ãã¦ã¯ãä½ããã£ãã¨ãã«ã¦ã¼ã¶ãå¼·å¶çã«ãã°ã¢ã¦ãããããã¨ãã§ãã¾ããããã°ã¢ã¦ãã¾ã§æé·ï¼æéãããã®ã§å³æãã°ã¢ã¦ãã«ãªããªãç¹ã¯æ³¨æãå¿ è¦ã§ãã
ã¿ã¤ãã«éããã¦ã¼ã¶ã¼ã¨ã¯ã¹ããªã¨ã³ã¹ã¨ã¯ã©ã¦ãã»ãã¥ãªãã£ãåä¸ããè¯ãã¢ãããã¼ãã ã£ããã¨æãã¾ãã
å¤§è¦æ¨¡ã«ã¦ã¼ã¶ã¼ã¨ã°ã«ã¼ãã管çãããæ°ãã AWS IAM Identity Center API ãçºè¡¨
ããã¾ã§ Get ã List ãªã©ã®åå¾ç³»ã® API ããåå¨ããªãã£ãã®ã§ããããã®ã¢ãããã¼ãã«ãã使ã»åé¤ã»æ´æ°ç³»ã® API ãå¢ãã¾ãããããã«ãã IIC ã§ç®¡çãã¦ããã¦ã¼ã¶ã®ä½æãåé¤ãªã©ã®ã¯ã¼ã¯ããã¼ãçµã¿ããããªããå ¥é社æã®äººã®åºå ¥ããã¦ã¼ã¶ã®æ£å¸ããªã©ãèªååã§ããããããã¾ããã
ã¦ã¼ã¶ç®¡çã®èªååã®ãããªã¯ã¼ã¯ããã¼ãçµããããã«ãªãè¯ãã¢ãããã¼ãã ã£ããã¨æãã¾ãã
ã¾ã¨ã
AWS IAM Identity Center ã«é¢ãã 2022 å¹´ã®ã¢ãããã¼ãã®ä¸ã§å½¹ã«ç«ã¡ãããªãã®ãç´¹ä»ãã¾ããã AWS IAM Identity Center ãå©ç¨ãã¦ãã伿¥ã«ããã¦ãä»åç´¹ä»ããã¢ãããã¼ãã§æ¢åã®åé¡ãè§£æ¶ãããï¼ãªãã¦ãã¨ãããã°å¹¸ãã§ãã ä»ã«ã AWS IAM Identity Center ã®ã¢ãããã¼ãã¯ããã¾ãã®ã§ãWhat's new ã§ãã®æ©ä¼ã«æ¯ãè¿ã£ã¦ã¿ãã®ãããããããã¾ããã
EC2 Image Builder ã§ä½æãã AMI ã OU åä½ã§å ±æã§ããããã«ãªã£ã話
ãã㯠ã¨ããµã¤ããã¼ã«ãã£ã³ã°ã¹ Advent Calendar 2021 ã®25æ¥ç®ã®è¨äºã§ãã
ã¿ãªããï¼AWS Organizations 㨠EC2 Image Builder ã¯ä½¿ã£ã¦ãã¾ãã§ããããï¼AWS Organizations ã¯ãã«ãã¢ã«ã¦ã³ããä¸å çã«ç®¡çãçµ±å¶ã§ãããµã¼ãã¹ã§ãï¼ããã¦ï¼EC2 Image Builder 㯠Amazon ãã·ã³ã¤ã¡ã¼ã¸ï¼AMIï¼ã®æ§ç¯ããã¼ãèªååãããµã¼ãã¹ã§ãï¼AWS Organizations 㯠AWS ã®ãã¾ãã¾ãªãµã¼ãã¹ã¨é£æºãããã¨ã§ã©ãã©ã便å©ã«ãªã£ã¦ãã¦ããï¼æè¿ã®ã¢ãããã¼ãã§ EC2 Image Builder ã¨é£æºã㦠AWS Organizations ã管çããå AWS ã¢ã«ã¦ã³ãã¸ã® AMI ã®å ±æã容æã«ãªã£ãã®ã§ï¼ä»åã¯ãã®ç´¹ä»ããããã¨æãã¾ãï¼ã¢ãããã¼ããçºè¡¨ããã 2021/11/24 ããã¤ãæè¿ã¾ã§ã¯ AWS CLI ã§ããè¨å®ãã§ããªãã£ãã®ã§ããï¼ããã¼ã¸ã¡ã³ãã³ã³ã½ã¼ã«ãããè¨å®ã§ããããã«ãªã£ã¦ããã®ã§ããã¼ã¸ã¡ã³ãã³ã³ã½ã¼ã«ä¸ã§ã®è¨å®ãç´¹ä»ãã¾ãï¼
AWS Organizations ã¨ã¯
AWS Organizations ã¯çµç¹ã®ãã«ãã¢ã«ã¦ã³ãéç¨ã«å©ç¨ããããµã¼ãã¹ã§ï¼ã¢ã«ã¦ã³ãã®ä¸å 管çãåã¢ã«ã¦ã³ãã®çµ±å¶ãªã©ã«å½¹ç«ã¡ã¾ãï¼
ä¸è¬çã«ï¼ç®¡çããã¢ã«ã¦ã³ãã¨ãªã親ã¢ã«ã¦ã³ãã¨ç®¡çãããã¢ã«ã¦ã³ãã¨ãªãåã¢ã«ã¦ã³ãã§åãã¦ï¼ã¢ã«ã¦ã³ã管çãã¼ã ã¯è¦ªã¢ã«ã¦ã³ããå©ç¨ãã¦ã¢ã«ã¦ã³ããä¸å 管çããæ§æãå¤ããã¨æãã¾ãï¼AWS Organizations ã¯ä»ã®æ°å¤ãã® AWS ã®ãµã¼ãã¹ã¨é£æºãã¦ããããï¼åã¢ã«ã¦ã³ãã® AWS ãµã¼ãã¹ã®è¨å®ã親ã¢ã«ã¦ã³ãã§ä¸æ¬è¨å®ããä½¿ãæ¹ãã§ãã¾ãï¼ã¾ãï¼AWS Organizations ã§ã¯ Organization Unitï¼OUï¼ ã¨å¼ã°ããã¢ã«ã¦ã³ããã°ã«ã¼ãåããæ©è½ãå©ç¨ãã¦ã¢ã«ã¦ã³ãã管çãããã¨ãã§ãï¼ã¬ããã³ã¹ç®çã§ãããã® OU ã«å¯¾ãã¦ãS3 ã®ãããªãã¯å ¬éãç¦æ¢ãããã®ãããªããªã·ã¼ãé©ç¨ãããã¨ãããããä½¿ãæ¹ã§ãï¼

EC2 Image Builder ã¨ã¯
EC2 Image Builder 㯠AMI ã®æ§ç¯ããã¼ãèªååãããµã¼ãã¹ã§ãï¼
AMI ã¯äºåæ§æããã OS ã¤ã¡ã¼ã¸ã§ï¼EC2 ã¤ã³ã¹ã¿ã³ã¹ã使ããããã«å¿ è¦ãª OS ã¨ã½ããã¦ã§ã¢ãå«ãã§ãã¾ãï¼ãµã¼ãã¹ã«å¿ è¦ãªããã±ã¼ã¸ãããã«ã¦ã§ã¢ã®è¨å®ãªã©ãã«ã¹ã¿ã ã㦠AMI ã使ãï¼ã«ã¹ã¿ã ãã AMI ãã EC2 ã¤ã³ã¹ã¿ã³ã¹ãèµ·åãããã¨ã§ãµã¼ãã¹æä¾å¯è½ãª EC2 ã¤ã³ã¹ã¿ã³ã¹ãè¿ éã«ç¨æã§ãã¾ãï¼ãã®ãããªç®çã§ã«ã¹ã¿ã ããã AMI ãã´ã¼ã«ãã³ã¤ã¡ã¼ã¸ã¨å¼ã¶ãã¨ãããã¾ãï¼
ã´ã¼ã«ãã³ã¤ã¡ã¼ã¸ãå©ç¨ããå ´åï¼OS ã®ãã¼ã¸ã§ã³ã¢ãããããã±ã¼ã¸ã®èå¼±æ§å¯¾å¿ãªã©ãã¾ãã¾ãªçç±ã§ã´ã¼ã«ãã³ã¤ã¡ã¼ã¸ãä½ãç´ããã¨ãããï¼ãã®é½åº¦æ°ããã¤ã¡ã¼ã¸ãæ§ç¯ã»ãã¹ããã¦å¿ è¦ãªç°å¢ã¸ã¤ã¡ã¼ã¸ãå ±æããªããã°ãªãã¾ããï¼ãã®ä¸é£ã®ããã»ã¹ããµã¼ãã¹åããã®ã EC2 Image Builder ã§ãï¼
ããã§ã¯ EC2 Image Builder ã®è©³ç´°ã¯å²æãã¾ããï¼ç¨èªã®ãã£ããã¨ãã解説㨠AMI ã®æ§ç¯ããã¼ãå³ã«ãã¦ããã¾ãï¼
- ã¤ã¡ã¼ã¸ã¬ã·ãï¼ããã«ã¦ã§ã¢ãå種ãµã¼ãã®è¨å®ãå®ç¾©ãã AMI ãæ§ç¯ããæé æ¸
- ã¤ã³ãã©ã¹ãã©ã¯ãã£ã¼ï¼AMI ãæ§ç¯ããç°å¢
- ãã£ã¹ããªãã¥ã¼ã·ã§ã³ï¼AMI ã®é å¸å ã®è¨å®
- ãã«ãã¹ã±ã¸ã¥ã¼ã«ï¼AMI ããã«ãããã¹ã±ã¸ã¥ã¼ã«è¨å®
- ãã¤ãã©ã¤ã³ï¼ä¸è¨ãã¾ã¨ãã AMI ãæ§ç¯ããä¸é£ã®æé ã®ãã¨

ã¢ãããã¼ãã®æ¦è¦
ä»åã®ã¢ãããã¼ãã«ãã AWS ã¢ã«ã¦ã³ãã«ã´ã¼ã«ãã³ã¤ã¡ã¼ã¸ãé å¸ãããã¨ã容æã«ãªãã¾ããï¼å¾æ¥ã®æ©è½ã§å®ç¾ã§ãã¦ããææ³ã¨ä»åã®ã¢ãããã¼ãã§ã§ããããã«ãªã£ããã¨ã説æãã¾ãï¼
徿¥å¯è½ã§ãã£ãéç¨
徿¥ã¾ã§ã¯ä»¥ä¸ 2 ã¤ã®æ¹æ³ã§ AMI ãä»ã¢ã«ã¦ã³ãã«å ±æã§ãã¦ãã¾ããï¼
- AMI ã®è¨±å¯è¨å®ãå¤ãã¦å ±æãã
- EC2 Image Builder ä¸ã§è¨å®ãããã¤ãã©ã¤ã³ã AWS Resource Access Manager 㨠AWS Organizations ãå©ç¨ãã¦å ±æãã
åè ã®å ´åã¯ï¼ä½æãããã«ã¹ã¿ã AMI ã®è¨±å¯è¨å®ã« ç¹å®ã® AWS ã¢ã«ã¦ã³ã ID ãæå®ãããã¨ã§ä»ã® AWS ã¢ã«ã¦ã³ãã« AMI ãå ±æããä»çµã¿ã§ãï¼ããã¯çµç¹ã管çãã¦ããã¢ã«ã¦ã³ããå°ãªããã°ããã§ããï¼æ°ãå¤ããªã£ã¦ããã¨ã¢ã«ã¦ã³ãã®æ°ã ã許å¯è¨å®ã追å ããªãã¨ãããªãã®ã§å¥é AWS Lambda ã使ã£ã¦ããã°ã©ã ãæ¸ãã¦èªååãã¦ãããã¨ã«ãªããã¨æãã¾ãï¼ç¾ç¶ã®éç¨ã¯ãã®æ¹æ³ãªã®ã§ããï¼AWS Lambda ãæ¸ãã¦ãªãã¨ãé å¼µãã®ã¯ä»ã®æ¹æ³ããªãã£ãã¨ãã®æçµææ®µã«ãããæ°æã¡ãããã¾ãï¼
å¾è ã®å ´åã¯ï¼EC2 Image Builder ä¸ã§è¨å®ãããã¤ãã©ã¤ã³èªä½ãå ±æãããã¨ãæå³ãã¦ãã¾ãï¼AWS ã®ãªã½ã¼ã¹å ±æã管çãã AWS Resource Access Manager ã¨ãããµã¼ãã¹ã¨ AWS Organizations ã使ã£ã¦ OU åä½ã§å ±æãå¯è½ãªã®ã§ããï¼åã¢ã«ã¦ã³ãã§ã¯å ±æããããã¤ãã©ã¤ã³ã EC2 Image Builder ã§å®è¡ã㦠AMI ã使ããªããã°ãªããï¼åç´ã« AMI ãå ±æããããã¹ãããã 1 ã¤å¢ãã¦ãã¾ãã¾ãï¼å¯è½ã§ããã°åã¢ã«ã¦ã³ãã®å©ç¨è ã«éç¨è² è·ãä¸ããããªãã®ã§æ¡ç¨ãã¾ããã§ããï¼
æ°ããå¯è½ã¨ãªã£ãéç¨
ä»åã®ã¢ãããã¼ãã§ã¯ EC2 Image Builder 㨠AWS Organizations ã飿ºãããã¨ã«ããï¼ãã¤ãã©ã¤ã³ã®æµãã®ä¸ã§æå®ãã OU ã« AMI ãå ±æã§ããæ©è½ãå®è£ ããã¾ããï¼å ·ä½çã«ã¯ï¼ä¸å³ã®ããã«ãã¤ãã©ã¤ã³ã®ä¸ã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ãã§ã¼ãºã§ AMI ãã©ãã® OU ã«é å¸ãããè¨å®ã§ãã¾ãï¼

ããã«ããï¼OU é
ä¸ã®ã¢ã«ã¦ã³ãã«å¯¾ã㦠AWS Lambda ã使ãã AMI ãå
±æã§ããããã«ãªãã¾ããï¼
ã¾ãï¼OU ã使ã£ã¦ AMI ãå
±æã§ããããã«ãªãã®ã§ï¼OU ã«ã¢ã«ã¦ã³ãããå
¥ããã»å¤ããã®ã¢ã¯ã·ã§ã³ã AMI ãå
±æãããã»ããªããã®ç¶æ
ã«ç´ã¥ãã¾ãï¼æ³¨æç¹ã¨ãã¦ã¯ï¼ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã§ OU ãè¨å®ãããã¤ãã©ã¤ã³ãä¸åº¦å®è¡ã㦠AMI ã使ããªã㨠AMI ã®å
±æã¯æ©è½ããªãã®ã§ï¼ãã£ã¹ããªãã¥ã¼ã·ã§ã³ãè¨å®ããã ãã§çµãããªãããã«ãæ°ãã¤ããã ããï¼
ã¾ã¨ã
- EC2 Image Builder 㨠AWS Organizations ã«ãã AMI ã®å ±æè¨å®ã容æã«ãªã£ã話ããã¾ãã
- AWS Organizations ãå©ç¨ãã¦ããã®ã§ããã°ï¼AMI ã®å ±æãã©ããããã¨ãããã¨ã«é ã使ãå¿ è¦ããªããªãã¾ãã
- 徿¥ã®éç¨ã楽ã«ããããã«å©ç¨ãµã¼ãã¹ã®ã¢ãããã¼ããã¦ã©ãããã¦ããéè¦æ§ãæ¹ãã¦æãã¾ãã
NameSpace æ©è½ã使ã£ããããã¯ã¼ã¯ããã¤ã³ã¿ã¼ãããã«åºããªãã£ã話
ã³ã³ããã®ãããã¯ã¼ã¯å¨ããçè§£ããããã«ã«ã¼ãã«ã® NameSpace æ©è½ã使ã£ã¦ Ubuntu20.04 ãµã¼ãä¸ã«ä»®æ³çãªãããã¯ã¼ã¯ãæ§ç¯ãã¦ã¿ãï¼ãã®éï¼ä½æãããããã¯ã¼ã¯ããã¤ã³ã¿ã¼ãããã«åºãã®ã«åè¦å «è¦ããã®ã§ã¡ã¢ã¨ãã¦æ®ãã¦ããï¼ãã®è¨äºã§ã¯ï¼ãããã¯ã¼ã¯ã®æ§ç¯ã®è©³ç´°ã¯è©±ããæ§ç¯å¾ã®ãã©ãã«ã·ã¥ã¼ããã¡ã¤ã³ã¨ããï¼
- æ¦è¦
- NameSpace ã使ã£ã¦éé¢ãããããã¯ã¼ã¯ããã¤ã³ã¿ã¼ãããã¸åºã¦ãããªã
- ä½è«
- ã¾ã¨ã
æ¦è¦
NameSpace æ©è½ã使ã£ãã³ã³ãããããã¯ã¼ã¯ã®å®é¨ãããï¼åããããªå®é¨ã«ã¤ãã¦ã¯ã¤ã³ã¿ã¼ãããã«ããã¤ãè¨äºããããï¼ä»åã¯ä»¥ä¸ã®è¨äºãåèã«ããï¼
æ§ç¯ããç°å¢ã¯å³ã®ããã«ãªã£ã¦ããï¼

ä¸è¨ãããã¯ã¼ã¯ãæ§ç¯ããã³ãã³ããã¾ã¨ãã¦ãããï¼ãããããã°ã©ããï¼
ã¯ãªãã¯ããã¨å±éããã¾ã
#!/bin/bash ip netns add host1 ip netns add host2 ip netns exec host1 ip link set lo up ip netns exec host2 ip link set lo up ip link add name veth1 type veth peer name br-veth1 ip link add name host1 type veth peer name br-host1 ip link add name host2 type veth peer name br-host2 ip link set host1 netns host1 ip link set host2 netns host2 ip link add br0 type bridge ip link set dev br-veth1 master br0 ip link set dev br-host1 master br0 ip link set dev br-host2 master br0 ip addr add 10.0.0.100/24 dev veth1 ip netns exec host1 ip addr add 10.0.0.1/24 dev host1 ip netns exec host2 ip addr add 10.0.0.2/24 dev host2 ip netns exec host1 ip link set host1 up ip netns exec host2 ip link set host2 up ip link set veth1 up ip link set br-veth1 up ip link set br-host1 up ip link set br-host2 up ip link set br0 up echo 1 > /proc/sys/net/ipv4/ip_forward ip netns exec host1 ip route add default via 10.0.0.100 ip netns exec host2 ip route add default via 10.0.0.100
ã¾ãï¼ç°å¢ã¨ãã¦ã¯ EC2 ã® Ubuntu20.04 ã使ã£ãã®ã§ç°å¢æ§ç¯ã¨ãã¦ä»¥ä¸ã®è¨äºãåèã«ããã¦ããã ããï¼ã¾ãï¼EC2 ã®è¨å®ã¨ãã¦ã¤ã³ã¿ã¼ãããã¨éä¿¡ã§ããç¶æ ã«ãã¦ãããã¨ãåæã¨ãªãã®ã§ã注æãã ããï¼
ãã¡ãã Ubuntu ã§å®è¡ã§ããããã³ãã³ããã¾ã¨ãã¦ãããï¼
ã¯ãªãã¯ããã¨å±éããã¾ã
#!/bin/bash apt-get update apt-get install -y apt-transport-https ca-certificates curl software-properties-common jq curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" apt-get install -y docker-ce cgdb cgroup-tools uuid-runtime tree iputils-ping make gcc git clone git://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git /usr/src/libcap cd /usr/src/libcap make make install
NameSpace ã使ã£ã¦éé¢ãããããã¯ã¼ã¯ããã¤ã³ã¿ã¼ãããã¸åºã¦ãããªã
å ã«ç´¹ä»ããè¨äº ã«ãããéãï¼NameSpace æ©è½ã§ä½æãã Host1 ã Host2 ããã¤ã³ã¿ã¼ãããã«åºã¦ããããã«ã¯ iptables ã«ãã Nat ãè¨å®ããªããã°ãªããªãã®ã§ãã¹ã Linux ä¸ã§ä»¥ä¸ã®ããã«è¨å®ããï¼
iptables -t nat -I POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
ãã®ç¶æ ã§ Host1 ãã ping ãæã£ã¦ã¿ããï¼ã¤ã³ã¿ã¼ãããã¸çéã§ããªãã£ãï¼
ip netns exec host1 ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. ...
試ãã« eth0ï¼veth1ï¼br-veth1ï¼br-host1 ã®ããããã§ tcpdump ããã¦ã¿ã¦ã©ãã¾ã§ãã±ãããå±ãã¦ããã確èªãã㨠br-host1 ã®ãã£ããã£ã§ãããã±ããã表示ãããªãã£ãï¼
tcpdump -i eth0 -p icmp -n ... tcpdump -i veth1 -p icmp -n ... tcpdump -i br-veth1 -p icmp -n ... tcpdump -i br-host1 -p icmp -n 01:49:58.420877 IP 10.0.0.1 > 8.8.8.8: ICMP echo request, id 8735, seq 203, length 64 01:49:59.444910 IP 10.0.0.1 > 8.8.8.8: ICMP echo request, id 8735, seq 204, length 64

ã©ããã bridge å ã®éä¿¡ãã¾ããã¾ããã£ã¦ããªãã®ã§ä»¥ä¸ã®è¨äºãåèã«ã㦠bridge å éä¿¡ãä¿®æ£ï¼ä»å㯠Netfilter ã§ iptables ãå¼ã°ãªãè¨å®ããããã¨ã«ããï¼è¨äºã®æå¾ã«ãã®ã«ã¼ãã«ãã©ã¡ã¼ã¿ã 1 ã®ç¶æ ã§è§£æ±ºã§ããªãã£ãçç±ãæ¸ãã¦ããï¼
sysctl -w net.bridge.bridge-nf-call-iptables = 0
å度å NIC ã«å¯¾ã㦠tcpdump ããã¦ã¿ãã¨ãã veth1 ã¾ã§ãã±ãããå±ãã¦ãããã¨ãããã£ãï¼
tcpdump -i veth1 -p icmp -n 03:06:17.104353 IP 10.0.0.2 > 8.8.8.8: ICMP echo request, id 9766, seq 1, length 64

tcpdump ãã veth1 ãã eth0 ã¸ã®ãã±ãããè½ã¡ã¦ãããã¨ãåããã®ã§ï¼iptables ã§ veth1 ãã eth0 ã¸ã® FORWARD ãè¨å®ããï¼
iptables -t filter -I FORWARD -s 10.0.0.0/24 -d 0.0.0.0/0 -j ACCEPT
eth0 ã® NIC ã tcpdump ãã㨠Nat ã®è¨å®ãå¹ãã¦ãã¦ï¼ã¤ã³ã¿ã¼ããããã eth0 ã¾ã§éä¿¡ãè¿ã£ã¦ãã¦ãããã¨ã確èªã§ããï¼
tcpdump -i eth0 -p icmp -n 03:12:11.326420 IP 172.30.20.98 > 8.8.8.8: ICMP echo request, id 9779, seq 1, length 64 03:12:11.328700 IP 8.8.8.8 > 172.30.20.98: ICMP echo reply, id 9779, seq 1, length 64
æå¾ã« eht0 ãã veth1 ã¸ã®æ»ãã® FORWARD è¨å®ãããï¼ã»ãã¥ãªãã£ãèæ ®ãã¦ã½ã¼ã¹ IP 㯠8.8.8.8 ã ãã«ãã¦ããï¼
iptables -t filter -I FORWARD -d 10.0.0.0/24 -s 8.8.8.8/32 -j ACCEPT
ãããã㨠Host1 ããã¤ã³ã¿ã¼ãããã¸ã®æ¥ç¶ã確ç«ã§ããï¼
ip netns exec host2 ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=104 time=2.51 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=104 time=2.36 ms
ä½è«
ä»å㯠bridge ãããã¯ã¼ã¯éä¿¡ãæ£å¸¸ã«ããããã« net.bridge.bridge-nf-call-iptables ã 0 ã«è¨å®ãã対å¿ãåã£ããï¼å
ã®è¨äº ã«ãã iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT ã iptables ã«è¨å®ããæ¹æ³ã§é²ãã¦ã¿ãï¼
ãã¾ããããªãç®æã¯åãã§ï¼ã¾ã㯠veth1 ãã eth0 ã¸ã®éä¿¡ã失æããã®ã§ iptables ã« iptables -t filter -I FORWARD -s 10.0.0.0/24 -d 0.0.0.0/0 -j ACCEPT ãè¨å®ããï¼ãããã㨠eth0 ã«ãã±ãããå°éããããã«ãªããï¼ãªãã Nat ãå¹ããªãç¶æ
ã¨ãªãï¼ãã® Nat ãã©ãã«ãå¹ããããã¨è²ã
調ã¹ã¦è¨å®ãå¤ãã¦ã¿ãããã¾ããããªãã£ãï¼çµæã¨ã㦠net.bridge.bridge-nf-call-iptables=0 ã«ããæ¹æ³ã§ãã¾ããã£ãã®ã§ãã¡ããã¾ã¨ããã®ã ãï¼ãã誰ããã®åå ããåç¥ã®æ¹ããããã³ã¡ã³ãæ¬ã«æ¸ãã¦ããã ããã¨å©ããã¾ãï¼
ã¾ã¨ã
- ãã©ãã«ã·ã¥ã¼ãããªããã³ã³ãããããã¯ã¼ã¯ããã¤ã³ã¿ã¼ãããã¸åºã¦ããæã®è¨å®ãè¦ã¤ãã
- æ¹ãã¦ãããã¯ã¼ã¯ãã©ãã«ã¯ tcpdump ãªã©ã§ãã±ãããåãç¶ãããããªããã¨ãå¦ãã
net.bridge.bridge-nf-call-iptablesã®è¨å®ããã®ã¾ã¾ã«ããç¶æ ã§ãã¾ããããªãåå ã¯æç¢ºã¨ãªã£ã¦ããªã
ãµã¼ããªã¹ãã使ã£ãåå解決ã¯ãããã
DNS ãéç¨ãã¦ããã¨ååè¡çªåé¡ã«æ°ãä»ããå¿ è¦ãããï¼ååè¡çªåé¡ã¨ã¯ï¼çµç¹ãå é¨çã«ä½¿ã Top Level Domainï¼TLDï¼ã¨ ã¤ã³ã¿ã¼ãããã§å©ç¨ã§ãã TLD ãéè¤ãã¦ãã¾ããã¨ã«ããDNSã®åä½ãæå¾ ãããã®ã¨ã¯éã£ãåä½ã«ãªããã¨ãæãï¼ååè¡çªåé¡ã§å ·ä½çã«åé¡ã¨ãªãã®ã¯ï¼ä¾ãã°ã¤ã³ã¿ã¼ãããä¸ã®ãã¡ã¤ã³åãæ¤ç´¢ããã¤ãããï¼ãã¼ã«ã«ãããã¯ã¼ã¯ã§ç¬èªã«ä»ããTLDã«å¯¾ãã¦åå解決ãè¡ã£ã¦ãã¾ããã¨ãï¼ã¾ããã®å対ã«ï¼ãã¼ã«ã«ãããã¯ã¼ã¯ã®ãã¡ã¤ã³åãæ¤ç´¢ããã¤ãããã¤ã³ã¿ã¼ãããä¸ã® TLD ã«å¯¾ãã¦åå解決ãã¦ãã¾ããã¨ã§ããï¼JPNIC ã®ãã¼ã¸ã詳ããã®ã§ãªã³ã¯ãç½®ãã¦ããï¼
ä»åã¯å¾è ã®åé¡ã§ããããã¼ã«ã«ãããã¯ã¼ã¯ã®ãã¡ã¤ã³åãæ¤ç´¢ããã¤ãããã¤ã³ã¿ã¼ãããä¸ã® TLD ã«å¯¾ãã¦åå解決ãã¦ãã¾ããã¨ããäºè±¡ãåç¾ãã¦ã¿ããã¨æãï¼ä¸è¨ã®è¨äºã§ç´¹ä»ããã¦ãããµã¼ããªã¹ãã使ã£ãã±ã¼ã¹ãæ³å®ããï¼
æ¦è¦
ç°å¢ã¨ãã¦ä½¿ãã®ã¯ AWS ã¨ãï¼AWS ã®åãµã¼ãã¹ã®èª¬æã¯æ¬è³ªçãªé¨åã¨ã¯ç°ãªãã®ã§ä»åã¯å²æããï¼
dig ã³ãã³ãã§åå解決ã®ç¢ºèªãè¡ãããã« OS ã Ubuntu18.04 ã¨ãã EC2 ãç«ã¦ã¦ããï¼EC2 ããå©ç¨ããå
é¨çã«ä½¿ããã¡ã¤ã³ã¯ Route53 ã§ç®¡çãï¼ example.com ã¨ããååã§ãã©ã¤ãã¼ããã¹ãã¾ã¼ã³ã使ããï¼ãã©ã¤ãã¼ããã¹ãã¾ã¼ã³ã«ã¤ã³ã¿ã¼ãããä¸ã«åå¨ãããµããã¡ã¤ã³ãç»é²ãï¼ãµã¼ããªã¹ããè¨å®ãã EC2 ããåå解決ãè¡ãã¨ããã¼ã«ã«ãããã¯ã¼ã¯ã®ãã¡ã¤ã³åãæ¤ç´¢ããã¤ãããã¤ã³ã¿ã¼ãããä¸ã® TLD ã«å¯¾ãã¦åå解決ãã¦ãã¾ãããåç¾ãããã¨ã確èªããï¼
Route53 ã®è¨å®
Route53 ã§ã¯ example.com ã¨ãããã©ã¤ãã¼ããã¹ãã¾ã¼ã³ã使ãï¼é©å½ãªãã©ã¤ãã¼ã IP ã¢ãã¬ã¹ï¼172.30.20.86ï¼ãæå®ãã 2 ã¤ã® A ã¬ã³ã¼ããç»é²ãã¦ããï¼
- å¾ã«è¨å®ãããµã¼ããªã¹ãã®æåã確ãããç¨éã§ä½¿ã
instance-dstã¨ãããµããã¡ã¤ã³ - ã¤ã³ã¿ã¼ãããã«åå¨ãããã¡ã¤ã³ã¨éè¤ãããããã®
dns1.nic.awsã¨ãããµããã¡ã¤ã³
aws ã¨ãã TLD 㯠AWS ãåå¾ãã¦ãããã¡ã¤ã³ã§ããï¼ dns1.nic.aws ãåå解決ããã¨æ¢ã« A ã¬ã³ã¼ããæ£å¼ããããã¨ãã§ããï¼
Route53 ã®è¨å®ã以ä¸ã®å³ã«ç¤ºãï¼

ãµã¼ããªã¹ãã®è¨å®
EC2 ã§ãµã¼ããªã¹ããè¨å®ããï¼
ãµã¼ããªã¹ãã¯ãDNSæ¤ç´¢ãµãã£ãã¯ã¹ã DNS suffix search listãªã©ã¨ãå¼ã°ããã ã¦ã¼ã¶ã¼ããã¡ã¤ã³åãå ¥åããæéãæ¸ãããããã«ããããã®ãªã¹ãã§ãã å ·ä½çã«ã¯DNSã«ããã¦ã åå解決ã®éã«ãã¡ã¤ã³åãæå¾ã¾ã§å ¥åããªãã¦ãã ãµã¼ããã¯ã©ã¤ã¢ã³ãã§è£å®ããããããã«ã è£å®åè£ã¨ãªãæååãé çªã«ä¸¦ã¹ããã®ã§ãã www.nic.ad.jp
Ubuntu18.04 ã®å ´å EC2 ä¸ã§ /etc/netplan/99-manual.yaml ã¨ãããã¡ã¤ã«åã以ä¸ã®å
容ã§ä½æãåèµ·åããã°ããï¼
network:
ethernets:
eth0:
nameservers:
search:
- example.com
version: 2
åèµ·åãã EC2 ã«ãã°ã¤ã³ãï¼ãµã¼ããªã¹ãã使ãããã«ãªãã·ã§ã³ãã¤ãã dig ãå®è¡ãã㨠example.com ãè£å®ãã instance-dst.example.com ãåå解決ã§ãã¦ãããã¨ã確èªã§ããï¼
root@ip-172-30-20-203:/etc# dig instance-dst +search ; <<>> DiG 9.11.3-1ubuntu1.16-Ubuntu <<>> instance-dst +search ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41197 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;instance-dst.example.com. IN A ;; ANSWER SECTION: instance-dst.example.com. 300 IN A 172.30.20.86 ;; Query time: 2 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Sun Oct 31 08:55:09 UTC 2021 ;; MSG SIZE rcvd: 69
ã§ã¯ï¼ãã©ã¤ãã¼ããã¹ãã¾ã¼ã³ã«ç»é²ãã¦ãããã 1 ã¤ã®ãµããã¡ã¤ã³ã® dns1.nic.aws ãåå解決ãã¦ã¿ãï¼
root@ip-172-30-20-203:/etc# dig dns1.nic.aws +search ; <<>> DiG 9.11.3-1ubuntu1.16-Ubuntu <<>> dns1.nic.aws +search ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8193 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;dns1.nic.aws. IN A ;; ANSWER SECTION: dns1.nic.aws. 300 IN A 213.248.218.53 ;; Query time: 2 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Sun Oct 31 08:58:35 UTC 2021 ;; MSG SIZE rcvd: 57
åå解決ã®çµæ 172.30.20.86 ã§ã¯ãªã 213.248.218.53 ãè¿ã£ã¦ãã¦ããï¼ããããï¼ãã©ã¤ãã¼ããã¹ãã¾ã¼ã³ã§ã¯ãªãã¤ã³ã¿ã¼ãããã§å
¬éããã¦ãããã¡ã¤ã³ãæ£å¼ãããã¦ãããã¨ãåããï¼ããã¯ï¼ãµã¼ããªã¹ãã®è£å®ãè¡ãããåã«ã¾ã㯠dig ã³ãã³ãã§æå®ããããã¡ã¤ã³ãåå解決ãããããï¼ dns1.nic.aws ã®æ£å¼ãçµæãè¿ã£ã¦ãã¦ãã¾ã£ã¦ããç¶æ
ã§ããï¼ãã®äºè±¡ã¯ï¼ãã©ã¤ãã¼ããã¹ãã¾ã¼ã³ã®ãµããã¡ã¤ã³ãéç¨ä¸ã«ãã®ãµããã¡ã¤ã³ã¨ã¤ã³ã¿ã¼ãããã«åå¨ãããã¡ã¤ã³ãéè¤ããå ´åï¼ãµã¼ããªã¹ããè¨å®ãããµã¼ãããã®åå解決ã失æããå¯è½æ§ããããã¨ã示ãã¦ããï¼
対ç
JPNIC ãç´¹ä»ãã¦ãã対çã¯ã·ã³ãã«ã§ãµã¼ããªã¹ãã使ããªããã¨ã§ããï¼
ååè¡çªã®åé¡ã¸ã®æ ¹æ¬çãªå¯¾çã¯ãTLDã®éè¤ãé¿ãããã¨ã§ããã¤ã¾ããåå ã¨ãªã£ã¦ãããå é¨åãã®TLDããµã¼ããªã¹ãã®ä½¿ç¨ãæ¢ãããã¨ã§ãã www.nic.ad.jp
ãµã¼ããªã¹ãã使ããªããã°åå解決ããéã«å¿ ããã©ã¤ãã¼ããã¹ãã¾ã¼ã³ã® FQDN æå®ããã®ã§ï¼ä»åã®äºè±¡ã¯çºçããªããªãï¼
ã¾ã¨ã
- DNS ã®ååè¡çªã«ããããã¼ã«ã«ãããã¯ã¼ã¯ã®ãã¡ã¤ã³åãæ¤ç´¢ããã¤ãããã¤ã³ã¿ã¼ãããä¸ã® TLD ã«å¯¾ãã¦åå解決ãã¦ãã¾ããåé¡ã®åç¾ããã
- 対çã§ãããµã¼ããªã¹ãã使ããªãã¨ãããã¨ã大äº
å¥AWSã¢ã«ã¦ã³ãã¸IAMãã¼ã«ãæä¾ããéã¯å¤é¨IDãæãåºã
IAMãã¼ã«ã§ã¹ã¤ãããã¼ã«ï¼ããã¼ã¸ã¡ã³ãã³ã³ã½ã¼ã«ã§ä»ã®AWSã¢ã«ã¦ã³ãã®ãã¼ã«ã«ã¹ã¤ãããããã¨ï¼ãå®ç¾ããéã«ãå¤é¨IDãã¨ãããªãã·ã§ã³ããã£ãã®ã§ï¼ä½ã®ããã«ããã®ãã¾ã¨ãã¦ã¿ãï¼å ã«è¨ã£ã¦ããã¨ã¹ã¤ãããã¼ã«ã使ãã¨ãã«å¤é¨IDãæ°ã«ããå¿ è¦ã¯ãªãï¼
å¤é¨IDã¨ã¯
å¤é¨IDã¨ã¯ï¼ç¬¬ä¸è ç¨ã®IAMãã¼ã«ã使ããéã«ã»ãã¥ãªãã£å¯¾çç¨éã§è¨å®ããå¤ã®ãã¨ã§ããï¼ãã®ã»ãã¥ãªãã£å¯¾çã¯ãæ··ä¹±ãã代çãã¨å¼ã°ããåé¡ã解決ããããã«å®æ½ãããï¼ãæ··ä¹±ãã代çãã®æ¦è¦ã¯ä»¥ä¸ã«è§£èª¬ããã¦ãããï¼ãã®è¨äºãéãã¦çè§£ã§ãããã¨æãï¼
以ä¸ã¯å®éã®IAMãã¼ã«ã使ããç»é¢ã§ããï¼å¤é¨IDãè¨å®ã§ãããã¨ãåããï¼ã¹ã¤ãããã¼ã«ã使ãã¨ãã«å¤é¨IDãæå®ããå¿ è¦ã¯ãªãæ¨ããããã¦ããï¼

ã³ã³ã½ã¼ã«ã§ã¯ããã¼ã«ã®åãæ¿ãæ©è½ã使ç¨ããå¤é¨ ID ã®ä½¿ç¨ã¯ãµãã¼ãããã¦ãã¾ããã ç»åã«ãæ¸ãã¦ããéãï¼ã¹ã¤ãããã¼ã«ããããã ããªãå¤é¨IDã¯ç¡è¦ãã¦æ§ããªãï¼
ã¦ã¼ã¹ã±ã¼ã¹
ã¹ã¤ãããã¼ã«ã§ä½¿ããªãã®ã§ããã°ï¼ã©ããªã¦ã¼ã¹ã±ã¼ã¹ãããã®ããèãã¦ã¿ãï¼ã¾ããæ··ä¹±ãã代çãã¨ãã®å¯¾çã§ããå¤é¨IDãã©ã®ããã«æ©è½ããã®ãçè§£ããï¼
ç°ãªã AWS ã¢ã«ã¦ã³ãã§è¤æ°ã®é¡§å®¢ããµãã¼ããããã«ãããã³ãç°å¢ã§ã¯ãAWS ã¢ã«ã¦ã³ããã¨ã« 1 ã¤ã®å¤é¨ ID ã使ç¨ãããã¨ããå§ããã¾ãã
ãæ··ä¹±ãã代çãã®æ¦è¦ããï¼è¤æ°ã®AWSã¢ã«ã¦ã³ããã客æ§ã«æã¤ãµã¼ãã¹ãæä¾ãã¦ããä¼ç¤¾ãä¾ã«ã¨ãã¨çè§£ããããï¼ããã§ã¯ãa-mochanãã¨ããç£è¦ç³»ã®SaaSãµã¼ãã¹ãããã¨ä»®å®ãã¦ã¦ã¼ã¹ã±ã¼ã¹ã説æããï¼ãa-mochanããAWSç°å¢ã§ãµã¼ãã¹æä¾ããã¦ããï¼
ãa-mochanãã§ã¯ï¼ã客æ§ã®S3ãã±ããã«ãããã°ã¸å®æçã«ã¢ã¯ã»ã¹ãï¼ã客æ§ãã¨ã«ãã°ãå¯è¦åããããã·ã¥ãã¼ããç¨æãã¦ããï¼ãa-mochanãã®ã客æ§ã§ããClient Aã¯èªèº«ã®AWSã¢ã«ã¦ã³ãã®S3ã«ãa-mochanãããã®ã¢ã¯ã»ã¹ã許å¯ããããã«IAMãã¼ã«ã使ããï¼ãã®éå¤é¨IDã¯è¨å®ããªãã£ãï¼Client A ã¯ä½æããIAMãã¼ã«ã®Amazon Resource Nameï¼arnï¼ããa-mochanãä¸ã§è¨å®ãï¼S3ã®ãã¼ã¿ããa-mochanãã«åãè¾¼ããããã«ãããã¨ã§ããã·ã¥ãã¼ãã確èªãããã¨ãã§ããï¼

ããã§ï¼æªæã®ããã¦ã¼ã¶ããa-mochanããå©ç¨ãå§ããï¼æªæã®ããã¦ã¼ã¶ã¯ï¼IAMãã¼ã«ã®arnã arn:aws:iam::[AWS AccountID]:role/[Role Name] ã®ãããªå½¢ã§æ¨æ¸¬ã容æãªãã¨ãããï¼Client A ã使ããIAMãã¼ã«ã®arnãæ¨æ¸¬ããa-mochanãä¸ã§è¨å®ãããã¨ãã§ããï¼ããããã¨æªæã®ããã¦ã¼ã¶ã®ããã·ã¥ãã¼ãã«ã Client A ã®S3ã®æ
å ±ã表示ããï¼æªæã®ããã¦ã¼ã¶ã¯ Client A ã®ããã·ã¥ãã¼ããé²è¦§å¯è½ãªç¶æ
ã«ãªãï¼ãã®ç¶æ
ã®ãã¨ããæ··ä¹±ãã代çãã¨å¼ã¶ï¼

ã§ã¯ãæ··ä¹±ãã代çã対çã®ããã«å¤é¨IDãå©ç¨ããæµããã¿ã¦ããï¼ãa-mochanãã¯ã客æ§ãã¨ã«ä¸æã®IDãçºè¡ãï¼ã客æ§ã¯ä½æããIAMãã¼ã«ã®å¤é¨IDã¨ãã¦ãa-mochanããçºè¡ããIDãæå®ããï¼ããããã¨Client Aã®AWSã¢ã«ã¦ã³ãã§ã¯ãa-mochanãããã®ã¢ã¯ã»ã¹æã«å¤é¨IDãä¸è´ãã¦ãããã©ãããã§ãã¯ããããã«ãªãã®ã§ï¼ãa-mochanãã§ã¯Client Aã®AWSã¢ã«ã¦ã³ãã¸ã®ãªã¯ã¨ã¹ãæã«å¤é¨IDãä»ä¸ãã仿§ã«å¤æ´ããï¼å¤é¨IDã¯ãa-mochanãã®ã·ã¹ãã ã§çºè¡ãããå©ç¨è ãã¨ã«ä¸æãªIDã§ï¼å©ç¨è ã¯ã³ã³ããã¼ã«ä¸å¯è½ãªå¤ã§ããï¼ãã®ããï¼æªæã®ããã¦ã¼ã¶ã Client A ã®IAMãã¼ã«ã®arnãæ¨æ¸¬ã§ããã¨ãã¦ãï¼ãa-mochanãããçºè¡ãããClient Aç¨ã®IDï¼948833852ï¼ã¨æªæã®ããã¦ã¼ã¶ç¨ã®IDï¼749678483ï¼ ãéãã®ã§ãæ··ä¹±ãã代çãã¯èµ·ãããªãï¼

ãã®ããã«å¤é¨IDã¯ãæ··ä¹±ãã代çããå¼ãèµ·ãããªãããã«è¨å®ããå¤ã®ãã¨ã§ãããã¨ãããã£ãï¼
ææ³
AWSã¢ã«ã¦ã³ãã¸IAMãã¼ã«ãç¨ãã¦ã¢ã¯ã»ã¹ããããããªãµã¼ãã¹ãå©ç¨ããæã¯ï¼å¤é¨IDã®çºè¡ãå®è£ ããã¦ããã確èªãã¹ãã ã¨æããï¼å¤é¨IDãèæ ®ãã¦ããªããµã¼ãã¹ã¯ã©ã®ãããªæ¹æ³ã§ãæ··ä¹±ãã代çããåé¿ãã¦ããã®ã確èªãã¦å©ç¨ãããµã¼ãã¹ãé¸å®ãã¹ããªã®ããªã¨æãï¼ã¾ãéãç¶ãã§ï¼ãã®ãããªãµã¼ãã¹ãæä¾ããæã¯å¤é¨IDãèæ ®ããå®è£ ã«ãã¹ãã§ããï¼
ã¾ã¨ã
- å¤é¨IDã®æå³ãçè§£ãã
- å¤é¨IDãå¿ è¦ã¨ãªããæ··ä¹±ãã代çãã«ã¤ãã¦ã¦ã¼ã¹ã±ã¼ã¹ãç¨ãã¦çè§£ãã