- IAM å ¥é
- èªå¯ïŒAuthZïŒãšã¯ïŒ
èªå¯ïŒAuthZïŒãšã¯ïŒ
èªå¯ã¯ãèªèšŒæžã¿ã®ã¢ã€ãã³ãã£ãã£ïŒãŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ããµãŒãã¹ïŒãå®è¡ã§ããããšãšãã·ã¹ãã å ã®ã©ã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããæ±ºå®ããŸãã
ã»ãšãã©ã®ã·ã¹ãã ã§ã¯ãèªèšŒïŒAuthNïŒãå ã«ããã®åŸã«èªå¯ãè¡ãããŸããã€ãŸããã·ã¹ãã ããããªãã¯èª°ã§ããã®ãã確èªãããšãèªå¯ããããªãã¯äœãã§ããã®ããæ±ºå®ããŸãã
èªå¯ã«ãã£ãŠããã¹ãŠã®èªèšŒæžã¿ã¢ã€ãã³ãã£ãã£ãå®çŸ©ãããå¢çå ã§åäœããããšãä¿èšŒãããŸããèªå¯ããªããšããã°ã€ã³ïŒAuthNïŒã«æåãããŠãŒã¶ãŒããã¹ãŠã®æ©å¯ããŒã¿ã«ã¢ã¯ã»ã¹ããããããæäœãå®è¡ã§ããŠããŸããŸãïŒAuthZã®ãšã©ãŒïŒããŒããã©ã¹ãã¢ãŒããã¯ãã£ã§ã¯ãèªå¯ã®å€æã¯ãååã¢ã¯ã»ã¹æã ãã§ãªããã»ãã·ã§ã³å šäœãéããŠç¶ç¶çã«è©äŸ¡ãããŸãã
APIèªå¯ã®äž»èŠãªèªå¯ã¢ãã«
èªå¯ã¯ã次ã®3ã€ã®äž»èŠèŠçŽ ãçµã³ä»ããŸãã
- ãŠãŒã¶ãŒïŒèªèšŒæžã¿ã®ã¢ã€ãã³ãã£ãã£
- æš©éïŒç¹å®ã®æäœãå®è¡ããããã®ç¹å®ã®æš©å©ïŒ
read:Patientsãªã©ïŒ - ãªãœãŒã¹ïŒä¿è·å¯Ÿè±¡ãšãªãã¢ã»ãã
ããŒã«ããŒã¹ã®ã¢ã¯ã»ã¹ã³ã³ãããŒã«ïŒRBACïŒ
RBACã¯åºæ¬ã®èªå¯ã¢ãã«ã§ããæš©éã管çè ãç·šéè ãé²èЧè ãªã©ã®ããŒã«ã«ä»äžãããããã®ããŒã«ããŠãŒã¶ãŒã«å²ãåœãŠãããšã§ãæš©éã®ç®¡çãç°¡çŽ åãããŸãã
- ä»çµã¿ïŒã·ã¹ãã ã¯ãŠãŒã¶ãŒã«å²ãåœãŠãããããŒã«ã確èªãããã®æš©éãéçŽããŠãèŠæ±ãããæäœãèš±å¯ããããã©ããã倿ããŸãã
- 䜿çšãã¹ãã±ãŒã¹ïŒãŠãŒã¶ãŒæš©éãéçãªè·åãã°ã«ãŒããšæç¢ºã«äžèŽããå ŽåïŒå žåçãªäŒæ¥ã¢ããªã±ãŒã·ã§ã³ã管çã¢ããªã±ãŒã·ã§ã³ãªã©ïŒã
- å¶çŽïŒããŒã«ã¯éåžžãéçã§ãããããRBACã¯ããã€ã¹ãæéãå Žæãšãã£ãåçãŸãã¯ã³ã³ããã¹ãäŸåã®ããªã·ãŒã«ã¯ããŸãé©ããŠããŸããã
äŒæ¥ã®IAMã·ã¹ãã ãå€§èŠæš¡ã¯ã©ãŠãç°å¢ã§ã¯ãRBACã¯ãã¬ãŒã ã¯ãŒã¯ãéããŠå°å ¥ãããŠããŸãã
屿§ããŒã¹ã®ã¢ã¯ã»ã¹ã³ã³ãããŒã«ïŒABACïŒ
ABACã¯ãåçãªããªã·ãŒã«åºã¥ããŠããŠãŒã¶ãŒããªãœãŒã¹ãç°å¢ã®å±æ§ãè©äŸ¡ããã¢ã¯ã»ã¹ã決å®ããŸãã
- ä»çµã¿ïŒã¢ã¯ã»ã¹ã¯ããªã¢ã«ã¿ã€ã ã§è©äŸ¡ãããããªã·ãŒåŒã«ãã£ãŠæ±ºå®ãããŸãïŒ
user.department == resource.departmentã®æ¯èŒãçŸåšæå»ãå¶æ¥æéå ãã©ããã®ç¢ºèªãªã©ïŒã - 䜿çšãã¹ãã±ãŒã¹ïŒèªå¯ã®å€æãè€éã§ãé«åºŠã«ã³ã³ããã¹ãäŸåã§ããããŸãã¯åçãªèŠçŽ ã«å·Šå³ãããå ŽåïŒäŒæ¥ã®IPç¯å²ããã®ã¿ã¢ã¯ã»ã¹ãä»äžãããå¶æ¥æéå ã®ã¿ããã¥ã¡ã³ããžã®ã¢ã¯ã»ã¹ãèš±å¯ãããæ©å¯ãªãœãŒã¹ã«å¯ŸããŠç¹å®ã®ã»ãã¥ãªãã£ã¯ãªã¢ã©ã³ã¹ã¬ãã«ãèŠæ±ãããªã©ïŒã
- ãã¬ãŒããªãïŒABACã¯è€éããçããŸããããªã·ãŒã¯ãæ§ã ãªå±æ§ã®çµã¿åããã«ãããç«¶åãæå³ããªãã¢ã¯ã»ã¹ãé²ããããæ éã«èšèšãã培åºçã«ãã¹ãããå¿ èŠããããŸãã
æšæºããŒã¹ã®ããªã·ãŒãšã³ãžã³ïŒOpen Policy AgentãXACMLãªã©ïŒã¯ãABACããªã·ãŒãé©çšããããšã§ãäžè²«æ§ãšå¯ç£æ»æ§ã確ä¿ããŸãã
é¢ä¿æ§ããŒã¹ã®ã¢ã¯ã»ã¹ã³ã³ãããŒã«ïŒReBACïŒãšãã现ããªèªå¯ïŒFGAïŒ
ReBACã¯ããŠãŒã¶ãŒãšç¹å®ã®ãªãœãŒã¹éã®é¢ä¿æ§ãšæææš©ã«åºã¥ããŠèªå¯ãè¡ããŸãã
- ä»çµã¿ïŒã·ã¹ãã ã¯æç€ºçãªé¢ä¿æ§ïŒãææè ãããå ±æè ãããã°ã«ãŒãã®ã¡ã³ããŒããªã©ïŒã確èªããŠãã¢ã¯ã»ã¹ãèš±å¯ãŸãã¯æåŠããŸããçŸåšã®å®è£ ã§ã¯ãã°ã©ãããŒã¹ã®é¢ä¿æ§ã¢ãã«ãçšããŠãè€éãªæš©éãã§ãŒã³ããã©ã£ãŠããŸãã
- 䜿çšãã¹ãã±ãŒã¹ïŒãœãŒã·ã£ã«ã¡ãã£ã¢ãããã¥ã¡ã³ãå ±æãã©ãããã©ãŒã ãªã©ã®å ±åäœæ¥ã·ã¹ãã ïŒãæçš¿è æ¬äººã®ã¿ãåé€ã§ãããããå ±æã¯ãŒã¯ã¹ããŒã¹å ã®ãŠãŒã¶ãŒã¯ãã¹ãŠã®ããã¥ã¡ã³ããé²èЧã§ããããªã©ïŒã
ReBACããã³FGAã·ã¹ãã ã¯ãé¢ä¿æ§ãçè§£ããã€ã³ãã©ã¹ãã©ã¯ãã£ãšã°ã©ãããŒã¹ã®èªå¯ãã¿ãŒã³ã掻çšããŠããããã®é¢ä¿æ§ãå€§èŠæš¡ã«ã¢ãã«åããã¯ãšãªãå®è¡ããŸããOpenFGAãSpiceDBãªã©ãè€æ°ã®ãªãŒãã³ãœãŒã¹ã®å®è£ ã«ããããã¹ãŠã®éçºè ããã®ãã¯ãããžãŒãå©çšã§ããŸãã
ãã现ããªèªå¯ïŒFGAïŒã¯ãReBACååãæ¡åŒµããè€éãªé¢ä¿æ§ã°ã©ãã«åºã¥ãå€§èŠæš¡ãªèªå¯ã®å€æãå¯èœã«ããŸããFGAã·ã¹ãã ã¯ãã°ã«ãŒããçµç¹ããã¹ããããæš©éãæšªæãé¢ä¿æ§ããã©ãããšã«ãã£ãŠãããŠãŒã¶ãŒXã¯ããã¥ã¡ã³ãYãç·šéã§ãããïŒããšãã£ã質åã«çããããšãã§ããŸãããã®ã¢ãã«ã¯ãããã¥ã¡ã³ãå ±åäœæ¥ããœãŒã·ã£ã«ãã©ãããã©ãŒã ã§ã®èªå¯ã匷åãããã©ã«ããŒéå±€ãã°ã«ãŒãã¡ã³ããŒã·ãããå ±æé¢ä¿ãéããŠã¢ã¯ã»ã¹ãç¶æ¿ã§ããŸãã
ããŒã¯ã³ããŒã¹ã®APIèªå¯ã®ä»çµã¿
APIé§ååã®ã¢ããªã±ãŒã·ã§ã³ã¯ãOAuth 2.0èªå¯ãããŒãä»ããŠçºè¡ãããã¢ã¯ã»ã¹ããŒã¯ã³ãçšããŠãèªå¯ã宿œããŸãã
- èªå¯ãããã³ã°ïŒèªèšŒãæåãããšãèªå¯ãµãŒããŒã¯ãéžæãããAuthZã¢ãã«ãšé©çšãããåçãªããªã·ãŒïŒRBACãABACãªã©ïŒã«åºã¥ããŠããŠãŒã¶ãŒã«ä»äžãããæš©éãæ±ºå®ããŸãã
- ããŒã¯ã³çºè¡ïŒãµãŒããŒã¯ãã¢ã¯ã»ã¹ããŒã¯ã³ãæãäžè¬çã«ã¯ãJSON Web TokenïŒJWTïŒãçºè¡ããŸãããã®ããŒã¯ã³ã«ã¯ãä»¶åãšãã®èªå¯ãããã¹ã³ãŒãã«é¢ããã¯ã¬ãŒã ãå«ãŸããŸãããŸãã¯ãèªå¯ãµãŒããŒã®ã€ã³ããã¹ãã¯ã·ã§ã³ãšã³ããã€ã³ããéããŠæ€èšŒãå¿ èŠãªäžéæãªããŒã¯ã³ãçºè¡ãããŸããèªèšŒãããŒã§ã¯ãããŒã¯ã³ã®ååŸæ¹æ³ãšãããŒã¯ã³ã«å«ãŸããã¯ã¬ãŒã ãæ±ºå®ãããŸãã
- APIã®é©çšïŒAPIã¯ãªã¯ãšã¹ããåä¿¡ãããšãJWTãæ€èšŒããããŒã¯ã³å ã®ã¯ã¬ãŒã ã«åºã¥ããŠèªå¯ã«ãŒã«ãé©çšããŸãã
ãã®ããŒã¯ã³ããŒã¹ã®ã¢ãããŒããã¹ããŒãã¬ã¹ãšèšããŸããããŒã¯ã³ã«ã¯ãAPIã«å¿ èŠãªãã¹ãŠã®æ å ±ïŒèªå¯ã³ã³ããã¹ããšæå·çœ²åïŒãå«ãŸããŠããŸãã
OAuth 2.0ã¹ã³ãŒãã®åœ¹å²
ã¹ã³ãŒãã¯ãã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ãèªå¯ãµãŒããŒããèŠæ±ããæš©éãå®çŸ©ããŸããèªå¯ãµãŒããŒã¯ããŠãŒã¶ãŒãåæããã¹ã³ãŒãã®ã¿ãèš±å¯ããçºè¡ãããã¢ã¯ã»ã¹ããŒã¯ã³ã«ãã®ã¹ã³ãŒããå«ããŸãã
- ã¢ããªã±ãŒã·ã§ã³ãã¢ã¯ã»ã¹ããŒã¯ã³ãèŠæ±ãããšãå¿
èŠãªã¹ã³ãŒããæå®ããŸãïŒ
read:documentsãwrite:documentsãªã©ïŒã - èªå¯ãµãŒããŒã¯ãèŠæ±ãããã¹ã³ãŒãããŠãŒã¶ãŒã®å®éã®æš©éãšç §åããŠããŠãŒã¶ãŒãèªå¯ã§ããç¯å²ã®ã¿ãèš±å¯ããŸãã
- çºè¡ãããã¢ã¯ã»ã¹ããŒã¯ã³ã«ã¯ãæ¿èªãããã¹ã³ãŒããå«ãŸããŠããŸããAPIã¯ãããŒã¯ã³ã«èŠæ±ãããæäœã«å¿ èŠãªã¹ã³ãŒããå«ãŸããŠããããšãæ€èšŒããŸããå¿ èŠãªã¹ã³ãŒãããªãå ŽåãAPIã¯ã¢ã¯ã»ã¹ãæåŠããŸãã
ããŒã«ã¯éåžžãåºç¯ãªã¢ã¯ã»ã¹æš©ãå®çŸ©ããäžæ¹ãã¹ã³ãŒãã¯ãã现ããªæäœã¬ãã«ã®æš©éã衚ããŸããããŒã«ãšã¹ã³ãŒããçµã¿åãããããšã§ãæè»ã«APIã管çã§ããŸãã
OpenID ConnectïŒOIDCïŒã¯ãOAuth 2.0ãæ¡åŒµãããã®ã§ãèªå¯ã¹ã³ãŒãã«å ããŠããŠãŒã¶ãŒã®æ¬äººç¢ºèªããããã¡ã€ã«èŠæ±ã®ããã®IDããŒã¯ã³ãçºè¡ã§ããŸãã
ã¢ã¯ã»ã¹ããŒã¯ã³ã®æ€èšŒæ¹æ³
ãã¹ãŠã®ä¿è·ãããAPIãšã³ããã€ã³ãã¯ãåä¿¡ããã¢ã¯ã»ã¹ããŒã¯ã³ãæ€èšŒããå¿
èŠããããŸããããŒã¯ã³ã®çœ²åïŒå®å
šæ§ãšæ£åœæ§ãä¿èšŒããïŒãæå¹æéïŒexpã¯ã¬ãŒã ïŒããªãŒãã£ãšã³ã¹ïŒaudã¯ã¬ãŒã ïŒãçºè¡è
ïŒissã¯ã¬ãŒã ïŒãããã³å¿
èŠãªæš©éïŒã¹ã³ãŒããŸãã¯ããŒã«ïŒãæ€èšŒããŸãã远å ã®æ€èšŒã«ã¯ãããŒã¯ã³å€±å¹ç¶æ
ã®ç¢ºèªãnbfïŒæå¹æéã®éå§æ¥æïŒã¯ã¬ãŒã ã®æ€èšŒãã¯ã©ã€ã¢ã³ãããšã®ã¬ãŒãå¶éã®åŒ·å¶ãªã©ãå«ãŸããŸããJWTã®å Žåãèªå¯ãµãŒããŒã¯ãçœ²åæ€èšŒã®ããã«JSON Web Key SetïŒJWKSïŒãšã³ããã€ã³ãçµç±ã§å
¬ééµãçºè¡ããŸãã
èªå¯ãšã©ãŒã®äŒé
APIã¯ããšã©ãŒã®çš®é¡ãäŒããããã«ç¹å®ã®HTTPã¹ããŒã¿ã¹ã³ãŒããè¿ãå¿ èŠããããŸãã
- 401 UnauthorizedïŒèªèšŒã倱æããããŸãã¯èªèšŒæ
å ±ãååšããªãããšãæå³ãããªã¯ãšã¹ãã«æå¹ãªèªèšŒæ
å ±ãå«ãŸããŠããŸããïŒããŒã¯ã³ãæ¬ èœããŠãããç¡å¹ã§ããããŸãã¯æå¹æéãåããŠããïŒã
äŸïŒAuthorizationããããŒãæ¬ èœãJWTã®æå¹æéåãã眲åãç¡å¹ - 403 ForbiddenïŒèªå¯ã倱æããããšãæå³ããŸãããŠãŒã¶ãŒã®ã¢ã€ãã³ãã£ãã£ã¯ç¢ºèªïŒèªèšŒïŒãããŠããŸããããã®æš©éã«ãã£ãŠãèŠæ±ããããªãœãŒã¹ãæäœã«å¯Ÿããã¢ã¯ã»ã¹ãæåŠãããŠããŸãã
äŸïŒããŒã¯ã³ã¯æå¹ã§ãããããŠãŒã¶ãŒã«ã¯DELETE /users/:idãå®è¡ããadminããŒã«ããªããããèŠæ±ãããæäœã«å¯ŸããŠã¹ã³ãŒããäžè¶³ããŠãã
èªå¯ã«é¢ãããããã質å
èªå¯ãã§ãã¯ã«äžè²«æ§ããªããšãã©ã®ãããªã»ãã¥ãªãã£ãªã¹ã¯ããããŸããïŒ
èªå¯ããžãã¯ãã³ãŒãå šäœã«åæ£ããŠãããšãäžéšã®çµè·¯ã§å¿ èŠãªãã§ãã¯ãå®è¡ããããæ»æè ãæªçšã§ããè匱æ§ãæ®ãå¯èœæ§ããããŸããããã«ãŠã§ã¢ãããªã·ãŒãšã³ãžã³ã«ãã£ãŠèªå¯ãäžå çã«é©çšããããšããã¹ããã©ã¯ãã£ã¹ã§ããæ°ããã¢ãããŒããšããŠãPolicy-as-Codeãç»å ŽããŠãããRegoïŒOpen Policy AgentïŒã®ãããªèšèªãçšããŠãèªå¯ããžãã¯ãã¢ããªã±ãŒã·ã§ã³ã³ãŒãããåé¢ããäžå çãªãã¹ããšç£æ»ãå¯èœã«ãããã®ã§ãã
æå°æš©éã®ååãšã¯äœã§ããïŒ
ãã®ååã¯ããŠãŒã¶ãŒããµãŒãã¹ã«è·åäžå¿ èŠãªæå°éã®ããŒã«ãšæš©éã®ã¿ãä»äžããããšãæ±ããŠãããããã«ããã¢ã€ãã³ãã£ãã£ã®äŸµå®³ã«ããæœåšçãªæå®³ãæå°éã«æããŸããå®éã«ã¯ã宿çã«æš©éãç£æ»ããæéå¶éä»ãã®ã¢ã¯ã»ã¹ä»äžãå®è£ ãã䜿çšãããŠããªãããŒã«ãã¹ã³ãŒããåé€ããããšãæå³ããŸãã
ã¹ãããã¢ããèªèšŒã¯ãã€äœ¿çšãã¹ãã§ããïŒ
ã¹ãããã¢ããèªèšŒã¯ãã»ãã¥ãªãã£ãšäœ¿ããããã®ãã©ã³ã¹ãåããä»çµã¿ã§ããèªèšŒæžã¿ã®ãŠãŒã¶ãŒã«å¯ŸããŠããæ¯èŸŒã絊äžå€æŽãªã©ã®ãªã¹ã¯ã®é«ãæäœãè¡ãå Žåã«ã¯ã远å ã®èŠçŽ ïŒçäœèªèšŒã¹ãã£ã³ãªã©ïŒãèŠæ±ããŸãããã®ã¢ãããŒãã¯ãã¢ãããã£ãèªèšŒãŸãã¯ã³ã³ããã¹ãèªèšŒãšãåŒã°ããŸãã
äžè¬çãªèªå¯ã®è匱æ§ã¯äœã§ããïŒ
å£ãããªããžã§ã¯ãã¬ãã«èªå¯ïŒBOLAïŒã¯ãå®å šã§ãªãçŽæ¥ãªããžã§ã¯ãåç §ïŒIDORïŒãšãåŒã°ããäžè¬çãªè匱æ§ã§ããããã¯ãAPIãäžè¬çãªæš©éïŒãããã¥ã¡ã³ããé²èЧã§ããããªã©ïŒããã§ãã¯ããäžæ¹ã§ããŠãŒã¶ãŒãèŠæ±ãããç¹å®ã®ãªãœãŒã¹IDïŒãããã¥ã¡ã³ãID 12345ããªã©ïŒãžã®ã¢ã¯ã»ã¹æš©ãæã£ãŠããããšãæ€èšŒã§ããªãå Žåã«çºçããŸãããã®è匱æ§ã¯ãOWASP API Security Top 10ãªã¹ãã§åžžã«API1:2023ã«æå®ãããŠããŸããæäœã®æš©éãšãªãœãŒã¹ã¬ãã«ã®ã¢ã¯ã»ã¹ã®äž¡æ¹ãå¿ ãæ€èšŒããããšãéèŠã§ãã
èªå¯ãšã¢ã¯ã»ã¹ã³ã³ãããŒã«ã®éãã¯äœã§ããïŒ
èªå¯ã¯ã¢ã¯ã»ã¹ã³ã³ãããŒã«ã®1ã€ã§ããã¢ã¯ã»ã¹ã³ã³ãããŒã«ã¯ãèªèšŒïŒã¢ã€ãã³ãã£ãã£ã®æ€èšŒïŒãèªå¯ïŒæš©éã®ä»äžïŒãé©çšïŒããªã·ãŒé©çšã®ç¢ºä¿ïŒãå«ããããåºç¯ãªã»ãã¥ãªãã£èŠåŸã§ããèªå¯ã¯ãèªèšŒæžã¿ã®ã¢ã€ãã³ãã£ãã£ãå®è¡ã§ããæäœã®æ±ºå®ãšé©çšãæç¢ºã«æããŸãã
ãã€ã¯ããµãŒãã¹ã®ã¢ãŒããã¯ãã£ã§èªå¯ã¯ã©ã®ããã«æ©èœããŸããïŒ
忣ã·ã¹ãã ã§ã¯ãAPI gatewayïŒç²ç²åºŠïŒããµãŒãã¹ã¡ãã·ã¥ïŒãããã¯ãŒã¯ã¬ãã«ïŒãåã ã®ãµãŒãã¹ïŒçްç²åºŠïŒãšãã£ãè€æ°ã®éå±€ã§èªå¯ãè¡ãããŸããJWTãçšããããŒã¯ã³ããŒã¹ã®èªå¯ã«ãã£ãŠããµãŒãã¹éã§ã®ã¹ããŒãã¬ã¹ãªæ€èšŒãå¯èœã«ãªããŸãããã ããäžè²«æ§ãç¶æããã®ã¯å®¹æã§ã¯ãããŸãããããªã·ãŒã®æŽæ°ã¯ãã¹ãŠã®ãµãŒãã¹ã«åæ ãããå¿ èŠããããé¢ä¿æ§ã«åºã¥ã決å®ã«ã¯éäžåããªã·ãŒãšã³ãžã³ã忣ãã£ãã·ã¥ãæ±ããããŸãã
IAMã«ã€ããŠããã«è©³ãã
èªå¯ã¯ãå æ¬çãªã¢ã€ãã³ãã£ãã£ãšã¢ã¯ã»ã¹ç®¡çæŠç¥ãæ§æããèŠçŽ ã®1ã€ã§ããOAuth 2.0ãOpenID Connectãªã©ã®ææ°ã®èªå¯ãã¬ãŒã ã¯ãŒã¯ãšãABACãReBACããã现ããªèªå¯ïŒFGAïŒãªã©ã®ãã现ããã¢ãã«ãå©çšããŠãéçºè ã¯ãŒããã©ã¹ãã®ååã«æ²¿ã£ããããå®å šã§ã¹ã±ãŒã©ãã«ãªã¢ããªãæ§ç¯ã§ããŸããèªèšŒãã¢ã¯ã»ã¹ã³ã³ãããŒã«ã¢ãã«ãã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠã®è©³çްã¯ãAuth0ã®ãIAMå ¥éãã·ãªãŒãºãã芧ãã ããã
ãããã®è³æã¯äžè¬çãªæ å ±æäŸã®ã¿ãç®çãšããŠããŸããã客æ§ãèªèº«ã®å°éã¢ããã€ã¶ãŒãããã»ãã¥ãªãã£ããã©ã€ãã·ãŒãã³ã³ãã©ã€ã¢ã³ã¹ããŸãã¯ããžãã¹ã«é¢ããå©èšãåŸã責任ã¯ã客æ§ã«ãããæ¬è³æã«èšèŒãããæ å ±ã®ã¿ã«äŸåãã¹ãã§ã¯ãããŸããã