| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 18. µ¥ÀÌÅͺ£À̽º ·Ñ°ú ±ÇÇÑ | Fast Forward | Next |
±ÇÇÑÀÇ °ü¸®¸¦ °£´ÜÇÏ°Ô Çϱâ À§Çؼ, »ç¿ëÀÚ¸¦ ±×·ì¿¡ Á¤¸®ÇÏ´Â °ÍÀº ÀÚÁÖ Æí¸®ÇÕ´Ï´Ù. ±×·ì Àüü¿¡ ´ëÇØ¼ ±ÇÇÑÀ» ¼ö¿©ÇÏ´Â Àϵµ, Ãë¼ÒÇÒ ¼öµµ ÀÖ½À´Ï´Ù. PostgreSQL¿¡¼´Â, ±×·ìÀ» ³ªÅ¸³»´Â ·ÑÀ» ÀÛ¼ºÇÏ´Â °ÍÀ¸·Î ÇàÇØÁý´Ï´Ù. ±×¸®°í, ±× ±×·ì ·Ñ¿¡ °³°³ÀÇ »ç¿ëÀÚ ·ÑÀǸâ¹ö ÀÚ°ÝÀ» ÁÝ´Ï´Ù.
±×·ì ·ÑÀ» ¼³Á¤ÇÏ·Á¸é , ¿ì¼± ·ÑÀ» ÀÛ¼ºÇÕ´Ï´Ù.
CREATE ROLE name ;
Åë»óÀûÀ¸·Î, ±×·ìÀ¸·Î¼ »ç¿ëµÇ´Â ·Ñ¿¡´ÂLOGIN¼Ó¼ºÀ» °®°ÔÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, ¿øÇÑ´Ù¸é °®°ÔÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
±×·ì ·ÑÀ» ÀÏ´Ü ÀÛ¼ºÇϸé, GRANT ¹× REVOKE ¸í·ÉÀ» »ç¿ëÇØ ¸â¹öÀÇ Ãß°¡¿Í »èÁ¦¸¦ ½Ç½ÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
GRANT group_role TO role1 , ... ; REVOKE group_role FROM role1 , ... ;
´Ù¸¥ ±×·ì ·Ñ¿¡ÀÇ ¸â¹ö ÀÚ°ÝÀ» ÁÙ ¼öµµ ÀÖ½À´Ï´Ù. (±×·ì ·Ñ°ú ºñ±×·ì ·Ñ°úÀÇ »çÀÌ¿¡´Â ½ÇÁ¦·Î´Â ±¸º°ÀÌ ¾ø±â ¶§¹®ÀÔ´Ï´Ù. ) µ¥ÀÌÅͺ£À̽º´Â ±×·ìÀÇ ¸â¹ö ÀÚ°ÝÀ» ·çÇÁ ½ÃŰÁö ¾Ê½À´Ï´Ù. ¶Ç, ·Ñ³»ÀÇ ¸â¹ö ÀÚ°ÝÀ»PUBLIC¿¡ ºÎ¿©ÇÒ ¼ö ¾ø½À´Ï´Ù.
·ÑÀÇ ¸â¹ö´Â, 2°³ÀÇ ¹æ¹ýÀ¸·Î ±×·ì ·ÑÀÇ ±ÇÇÑÀ» »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿ì¼±, ±×·ì³»ÀÇ ¸ðµç ¸â¹ö´Â ¸í½ÃÀûÀ¸·Î, ÀϽÃÀûÀ¸·Î ±× ±×·ì ·ÑÀÌ"µÇ±â"¶§¹®¿¡ SET ROLE ¸¦ ½Ç½ÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ »óÅ¿¡¼´Â, µ¥ÀÌÅͺ£À̽º ¼¼¼ÇÀº ¿ø·¡ÀÇ ·Î±×ÀÎ ·ÑÀÇ ±ÇÇÑÀº ¾Æ´Ï°í ±×·ìÀÇ ±ÇÇÑÀ¸·Î Á¢±ÙµË´Ï´Ù. ±×¸®°í, ÀÛ¼ºµÈ µ¥ÀÌÅͺ£À̽º °´Ã¼ÀÇ ¼ÒÀ¯ÀÚ´Â ·Î±×ÀÎ ·ÑÀº ¾Æ´Ï°í ±×·ì ·ÑÀÌ´Ù°í º¸ÀÔ´Ï´Ù. 2¹øÂ°´Â,INHERIT¼Ó¼ºÀ» °¡Áö´Â ¸â¹ö ·ÑÀº, ÀÚµ¿ÀûÀ¸·Î ¸â¹ö ÀÚ°ÝÀ» °¡Áö´Â ·Ñ±ºÀÇ ±ÇÇÑÀ» »ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ °¡Á¤Çß½À´Ï´Ù.
CREATE ROLE joe LOGIN INHERIT; CREATE ROLE admin NOINHERIT; CREATE ROLE wheel NOINHERIT; GRANT admin TO joe; GRANT wheel TO admin;
joe·Ñ·Î Á¢¼ÓÇÏÀÚ¸¶ÀÚ,joe´Âadmin±ÇÇÑÀ»"°è½Â"Çϱ⠶§¹®¿¡, ±× µ¥ÀÌÅͺ£À̽º ¼¼¼Ç¿¡¼´Âjoe¿¡ Á÷Á¢ ÁÖ¾îÁø ±ÇÇÑ¿¡ ´õÇØ,admin¿¡°Ô ÁÙ ¼ö ÀÖ¾ú´ø ±ÇÇÑÀ» »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±×·¯³ª,wheel¿¡°Ô ÁÙ ¼ö ÀÖ¾ú´ø ±ÇÇÑÀº ÀÌ¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. joe´Â °£Á¢ÀûÀ¸·ÎwheelÀÇ ¸â¹öÀÔ´Ï´Ù¸¸,admin°æÀ¯ÀÇ ¸â¹ö ÀÚ°ÝÀºNOINHERIT¼Ó¼ºÀ» °¡Áö°í Àֱ⠶§¹®ÀÔ´Ï´Ù.
SET ROLE admin;
¼¼¼ÇÀºadmin¿¡°Ô ÁÙ ¼ö ÀÖ¾ú´ø ±ÇÇѸ¸À» »ç¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. joe¿¡°Ô ÁÙ ¼ö ÀÖ¾ú´ø ±ÇÇÑÀº »ç¿ëÇÒ ¼ö ¾ø°Ô µË´Ï´Ù.
SET ROLE wheel;
¼¼¼ÇÀºwheel¿¡°Ô ÁÙ ¼ö ÀÖ¾ú´ø ±ÇÇѸ¸À» »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾î,joe³ªadmin¿¡°Ô ÁÙ ¼ö ÀÖ¾ú´ø ±ÇÇÑÀº »ç¿ëÇÒ ¼ö ¾ø°Ô µË´Ï´Ù. ¿ø·¡ »óÅÂÀÇ ±ÇÇÑÀ¸·Î µÇµ¹¸®·Á¸é , ÀÌÇÏÀÇ ¾î´À °ÍÀ» ½Ç½ÃÇÏ¿© µÇµ¹¸± ¼ö ÀÖ½À´Ï´Ù.
SET ROLE joe; SET ROLE NONE; RESET ROLE;
Note: SET ROLE¸í·ÉÀº ¾ðÁ¦¶óµµ, ¿ø·¡ÀÇ ·Î±×ÀÎ ·ÑÀÌ Á÷Á¢ ȤÀº °£Á¢ÀûÀ¸·Î ¸â¹ö ÀÚ°ÝÀ» °¡Áö´Â ¸ðµç ·ÑÀ» ¼±ÅÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. µû¶ó¼, À§ÀÇ ¿¹¿¡ ´ëÇØ,wheel°¡ µÇ±â Àü¿¡admin°¡ µÇ´Â °ÍÀº ÇÊ¿ä ¾ø½À´Ï´Ù.
Note: SQL Ç¥ÁØ¿¡¼´Â, »ç¿ëÀÚ¿Í ·Ñ°úÀÇ »çÀÌ¿¡ ¸íÈ®ÇÑ Â÷À̰¡ ÀÖ¾î, »ç¿ëÀÚ´Â ·Ñ°ú °°ÀÌ ÀÚµ¿ÀûÀ¸·Î ±ÇÇÑÀ» °è½ÂÇÒ ¼ö°¡ ¾ø½À´Ï´Ù. PostgreSQL·Î ÀÌ ÇൿÀ» ½ÇÇöÇÏ·Á¸é, SQL ·Ñ·Î¼ »ç¿ëÇÏ´Â ·Ñ¿¡´ÂINHERIT¼Ó¼ºÀ» ºÎ¿©ÇØ, SQL »ç¿ëÀڷμ »ç¿ëÇÏ´Â ·Ñ¿¡´ÂNOINHERIT¼Ó¼ºÀ» ºÎ¿©ÇÕ´Ï´Ù. ±×·¯³ª, 8.1 ¹öÁ¯º¸´Ù Àü¹öÁ¯°úÀÇ È£È¯¼ºÀ» º¸°ü À¯ÁöÇϱâ À§Çؼ,PostgreSQL´Â ±âº»°ªÀ¸·Î, ¸ðµç ·Ñ¿¡INHERIT¼Ó¼ºÀ» ºÎ¿©ÇÕ´Ï´Ù. ÀÌÀü¿¡´Â, »ç¿ëÀÚ´Â Ç×»ó ¸â¹ö·Î¼ ¼ÓÇÏ´Â ±×·ì¿¡ ºÎ¿©µÈ ±ÇÇÑÀ» Ç×»ó »ç¿ëÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.
LOGIN,SUPERUSER,CREATEDB, CREATEROLE·Ñ ¼Ó¼ºÀº, Ưº°ÇÑ ±ÇÇÑÀ¸·Î °£ÁÖÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù¸¸, µ¥ÀÌÅͺ£À̽º °´Ã¼¿¡ ´ëÇÑ Åë»óÀÇ ±ÇÇѰú °°ÀÌ °è½ÂµÇÁö ¾Ê½À´Ï´Ù. ÀÌ·¯ÇÑ ¼Ó¼ºÀÇ Çϳª¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ´Â, ±× ¼Ó¼ºÀ» ƯÁ¤ÀÇ ·Ñ·Î ¼³Á¤Çϵµ·Ï ½ÇÁ¦·Î SET ROLE¸¦ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. À§ÀÇ ¿¹¸¦ °è¼ÓÇϸé,admin·Ñ¿¡CREATEDB±ÇÇѰúCREATEROLE ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â °ÍÀ» ¼±ÅÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô Çϸé,joe·Ñ·Î¼ Á¢¼ÓÇÏ´Â ¼¼¼Ç¿¡¼´Â ÀÌ·¯ÇÑ ±ÇÇÑÀº ¾ø½À´Ï´Ù. SET ROLE admin¸¦ ½Ç½ÃÇÑ ´ÙÀ½¿¡, ÀÌ ±ÇÇÑÀ» °¡Áý´Ï´Ù.
±×·ì ·ÑÀ» »èÁ¦ÇÏ·Á¸é, DROP ROLE ¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä.
DROP ROLE name ;
±×·ì ·Ñ³»ÀÇ ¸â¹ö Àڰݵµ ÀÚµ¿ÀûÀ¸·Î ´Ù·ç¾îÁý´Ï´Ù. (±×·¯³ª, ¸â¹ö ·Ñ¿¡´Â ¾Æ¹« ¿µÇâµµ ¾ø½À´Ï´Ù. ) ±×·¯³ª, ¸ÕÀú ±×·ì ·ÑÀÌ ¼ÒÀ¯ÇÏ´Â °´Ã¼¸¦ ¸ðµÎ »èÁ¦µÇ°Å³ª ¼ÒÀ¯ÀÚ¸¦ º¯°æÇØ µÑ Çʿ䰡 ÀÖ¾î, ¶Ç, ±×·ì¿¡ ºÎ¿©µÈ ±ÇÇѵµ ¸ðµÎ ´Ù·ç¾îÁö´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.