1. Nova¿¡¼ÀÇ Project¿Í Role ÀÛµ¿ ¹æ½Ä
Nova´Â °¡»ó¸Ó½Å(VM)°ú ÇÏÀÌÆÛ¹ÙÀÌÀú µî Ŭ·¯½ºÅÍ ÀüüÀÇ ÇÙ½É ÀÎÇÁ¶ó ÀÚ¿øÀ» °ü¸®ÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡ °ü¸®ÀÚ ±ÇÇÑÀ» ÆÇ´ÜÇÒ ¶§ ÇÁ·ÎÁ§Æ® ¸íÇÔº¸´Ù '·Ñ(Role)'À» ÈξÀ ´õ ¾ö°ÝÇÏ°Ô °Ë»çÇÕ´Ï´Ù.
2. Neutron¿¡¼ÀÇ Project¿Í Role ÀÛµ¿ ¹æ½Ä
NeutronÀº ³×Æ®¿öÅ©, ¼ºê³Ý, Æ÷Æ® µî Å×³ÍÆ®(ÇÁ·ÎÁ§Æ®) °£ÀÇ ¿Ïº®ÇÑ °Ý¸®¿Í °øÀ¯¸¦ °ü¸®ÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡ NeutronÀº ·Ñ¸¸ÅÀ̳ª "ÀÌ ÀÚ¿øÀ» ¼ÒÀ¯ÇÑ ÇÁ·ÎÁ§Æ®°¡ ¾îµðÀΰ¡"¸¦ ¸Å¿ì Áß¿äÇÏ°Ô ¿©±é´Ï´Ù.
Project (°ø°£)ÀÇ ÀǹÌ:
NeutronÀÇ ±âº» ¸¶½ºÅÍ Å°ÀÎ admin_or_owner ±ÔÄ¢Àº ¼Ò½ºÄÚµå ³»ºÎ¿¡ ´ÙÀ½°ú °°ÀÌ ¹ÚÇô ÀÖ½À´Ï´Ù: "rule:context_is_admin or tenant_id:%(tenant_id)s".
ƯÈ÷ °ú°Å ·¹°Å½Ã³ª ÀϺΠ±âº»°ª¿¡¼´Â project_name:admin (ÇÁ·ÎÁ§Æ® À̸§ ÀÚü°¡ adminÀÎ °æ¿ì) ÀÚü¸¦ ÃÖ°í °ü¸®ÀÚ °ø°£À¸·Î ½Å·ÚÇÏ´Â °æÇâÀÌ ÀÖ½À´Ï´Ù.
ÀÌ ¶§¹®¿¡ À¯Àú°¡ admin ÇÁ·ÎÁ§Æ®¿¡ ¼ÓÇØ ÀÖ´Ù¸é, ·ÑÀÌ ÀÏ¹Ý ·Ñ(iwinv_dashboard)ÀÌ´õ¶óµµ "¾î? ³Ê admin ÇÁ·ÎÁ§Æ® ¹æ¿¡ µé¾î¿Í ÀÖ³×? ±×·¯¸é ÀÌ ¹æ¿¡ ÀÖ´Â Æ÷Æ® ¸®½ºÆ®´Â ÀÏ¹Ý À¯Àú ÀÚ°ÝÀ¸·Î ´Ù ºÁµµ µÅ"¶ó¸ç ¸ñ·ÏÀ» ³ëÃâÇØ ¹ö¸³´Ï´Ù.
Role (ÀÚ°Ý)ÀÇ ÀǹÌ:
½Ç¹«Àû Ư¡:
3. ÇÙ½É ¿ä¾à: Policy Á¦¾î ½Ã ±â¾ïÇØ¾ß ÇÒ Â÷ÀÌÁ¡
¿ÀǽºÅà ±ÇÇÑ °íµµÈ ¹× ´ë½Ãº¸µå ¿¬µ¿ ½Ã µÎ ¼ºñ½ºÀÇ Æ¯¼ºÀ» ¾Æ·¡¿Í °°ÀÌ ¸ÅĪÇÏ¿© ¼³°èÇØ¾ß µÚÅ»ÀÌ ¾ø½À´Ï´Ù.
| ¼ºñ½º | ±ÇÇÑ °ËÁõÀÇ ÇÙ½É Á᫐ Ãà | Project(°ø°£) ºÐ¸® ½Ã È¿°ú | Role(ÀÚ°Ý) Á¦¾î ½Ã Ư¡ |
| Nova | Role (·Ñ ÀÚ°ÝÁõ Áß½É) | ÇÁ·ÎÁ§Æ®¸¦ ºÐ¸®Çصµ ¸¶½ºÅÍ Å°(context_is_admin)¸¦ ¿¾îÁÖÁö ¾ÊÀ¸¸é ±Û·Î¹ú API Á¢±Ù ºÒ°¡´É. | ¸¶½ºÅÍ Å°¸¦ ¿¸é ´Ù¸¥ °ü¸®ÀÚ API±îÁö ÁÙÁÙÀÌ ¶Õ¸®¹Ç·Î, ¾È ¾²´Â ±â´ÉÀº "role:admin"À¸·Î ÀÏÀÏÀÌ ´Ù½Ã Àá°¡¾ß ÇÔ. |
| Neutron | Project (¼ÒÀ¯ Å×³ÍÆ® Áß½É) | [¡Úº¸¾È ÇÙ½É] À¯Àú¸¦ ÀÏ¹Ý ÇÁ·ÎÁ§Æ®·Î ÀÌ»ç½Ã۸é, Neutron policy¸¦ ´Ü ÇÑ ÁÙµµ °Çµå¸®Áö ¾Ê¾Æµµ ³²ÀÇ ÀÎÇÁ¶ó ÀÚ¿øÀÌ ÀÚµ¿À¸·Î ¿Ïº®È÷ Â÷´ÜµÊ. | Policy ÆÄÀÏ¿¡¼ get_network µîÀ» ·Ñ·Î ¼º±ÞÇÏ°Ô Â÷´ÜÇϸé Heat ¿ÀÀÛµ¿ µî »çÀ̵å ÀÌÆåÆ®°¡ ¸Å¿ì ½ÉÇÔ. |
°á·ÐÀûÀ¸·Î, NeutronÀº "À¯Àú¸¦ ÀÏ¹Ý ÇÁ·ÎÁ§Æ®·Î °Ý¸®"ÇÏ¿© ÀÚ¿ø ³ëÃâÀ» ¸·°í, Nova´Â "policy.json¿¡¼ Ä¿½ºÅÒ ·ÑÀ» »óÀ§ °ü¹®¿¡ µî·ÏÇ쵂 À§ÇèÇÑ API´Â admin ·Ñ·Î ´Ù½Ã Àá±×´Â ¹æ½Ä"À¸·Î Á¶ÇÕÇÏ´Â °ÍÀÌ ¿ÀǽºÅà ¾ÆÅ°ÅØÃ³ °üÁ¡¿¡¼ °¡Àå Á¤¼®ÀûÀÌ°í ¾ÈÀüÇÑ ¸ÅÇÎ ¹æ½ÄÀÔ´Ï´Ù.