|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--javax.security.auth.Policy
public PermissionCollection getPermissions (java.security.ProtectionDomain pd)¶Ç, ProtectionDomain ¿¡´Â ´ÙÀ½ÀÇ constructor ÀÌ ÀÖ½À´Ï´Ù.
public ProtectionDomain (CodeSource cs, PermissionCollection permissions, ClassLoader loader, Principal[] principals)À̰͵é 2 °³ÀÇ API ´Â È£Ãâ Ãø¿¡, Principal º£À̽ºÀÇ Permission ¿£Æ®¸®¿ë Policy ÀÇ ¹®ÀǸ¦ ½ÇÇàÇÏ´Â ¼ö´ÜÀ» Á¦°øÇÕ´Ï´Ù.
Subject º£À̽ºÀÇ ½ÂÀÎÀÇ ½Ã½ºÅÛ Á¤Ã¥À» ³ªÅ¸³»´Â abstract Ŭ·¡½ºÀÔ´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ¼ºê Ŭ·¡½º ±¸Çö¿¡¼´Â Subject º£À̽ºÀÇ ¾×¼¼½º Á¦¾î Policy
¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.
Policy
¿ÀºêÁ§Æ®´Â ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î,Principal
·Î¼ ½ÇÇàÇϰí ÀÖ´Â Äڵ忡 ºÎ¿©µÈ Permission ¼¼Æ®¸¦ Äí¿¡¸®-ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
policy = Policy.getPolicy(); PermissionCollection perms = policy.getPermissions(subject, codeSource);
Policy
¿ÀºêÁ§Æ®¿¡¼´Â ·ÎÄà Æú¸®½Ã¸¦ ÂüÁ¶ÇØ, ÀûÀýÇÑ Permissions
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â Permissions
¿ÀºêÁ§Æ®¿¡´Â ÁöÁ¤ÇÑ subject ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ¿¡ ºÎ¿©µÇ¾î ÁöÁ¤ÇÑ codeSource ¿¡ ÀÇÇØ ÁöÁ¤µÈ Äڵ忡 ºÎ¿©µÈ Permission °¡ ÀÖ½À´Ï´Ù.
Policy
¿¡´Â ÀÌÇÏ¿¡ ³ªÅ¸³»´Â Á¤º¸°¡ ÀúÀåµË´Ï´Ù. ÀÌ ¿¹¿¡¼´Â ´ÜÁö µðÆúÆ®ÀÇ Policy
±¸ÇöÀÇ ±¸¹®À» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ¼ºê Ŭ·¡½º ±¸Çö¿¡¼´Â ´Ù¸¥ ±¸¹®À» ±¸ÇöÇÒ ¼ö ÀÖ¾î ÆÄÀÏ, µ¥ÀÌŸº£À̽º, ¼¹ö¶ó°í ÇÏ´Â ÀÓÀÇÀÇ ¼Ò½º·ÎºÎÅÍ Policy
¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
Policy
ÀÇ °¢ ¿£Æ®¸®´Â grant ¿£Æ®¸®·Î¼ ³ªÅ¸³»Áý´Ï´Ù. °¢ grant ¿£Æ®¸®¿¡¼´Â ÄÚµå º£À̽º, ÄÚµåÀÇ ¼¸íÀÚ, Principal ¿¡ °üÇÑ 3 Ç׸ñ, ±×¸®°í ±× 3 Ç׸ñ¿¡ ºÎ¿©µÈ Permission ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
grant CodeBase ["URL"], Signedby ["signers"], Principal [Principal_Class] "Principal_Name" { Permission Permission_Class ["Target_Name"] [, "Permission_Actions"] [, signedBy "SignerName"]; };3 Ç׸ñÀÇ À̸§°ú °ªÆä¾î¿¡ ÀÖ¾î¼ÀÇ CodeBase ÄÄÆÛ³ÍÆ®¿Í Signedby ÄÄÆÛ³ÍÆ®´Â »ý·« °¡´ÉÇÕ´Ï´Ù. Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â ÀÓÀÇÀÇ ÄÚµå º£À̽º°¡ ÀÏÄ¡ÇØ, ÀÓÀÇÀÇ ¼¸íÀÚ (¼¸í ¾øÀ½ÀÇ Äڵ带 Æ÷ÇÔÇÑ´Ù)°¡ ÀÏÄ¡ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
grant CodeBase "foo.com", Signedby "foo", Principal com.sun.security.auth.SolarisPrincipal "duke" { permission java.io.FilePermission "/home/duke", "read, write"; };ÀÌ grant ¿£Æ®¸®¿¡¼´Â foo °¡ ¼¸íÇÑ, À̸§ duke ÀÇ
SolarisPrincipal
·Î ½ÇÇàÇϰí ÀÖ´Â foo.com ·ÎºÎÅÍÀÇ Äڵ忡,Permission
°¡ 1 °³ ÀÖ´Â °ÍÀ» ÁöÁ¤Çϰí ÀÖ½À´Ï´Ù. ÀÌ Permission
¿¡¼´Â /home/duke µð·ºÅ丮¿¡ÀÇ ÆÄÀÏÀÇ ÀÐ°í ¾²±â¸¦, ½ÇÇàÇÏ´Â Äڵ忡 Çã°¡ÇÕ´Ï´Ù.
¾î´À Principal
·Î ¡¸½ÇÇࡹÇÏ·Á¸é , ÄÚµå·Î Subject.doAs(subject, ...)
¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ), ÁöÁ¤ÇÑ Subject
¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ´ø ¸ðµç Principal ·Î ÄÚµå´Â ½ÇÇàµË´Ï´Ù. ÀÌ Policy
( ¹× ÀÌ Policy
¿¡ ºÎ¿©µÈ Permission)´Â Subject.doAs
ÀÇ È£Ãâ ÈÄ¿¡ À¯È¿ÇÏ°Ô µË´Ï´Ù.
1 °³ÀÇ grant ¿£Æ®¸®³»¿¡, º¹¼öÀÇ Principal ¸¦ ±â¼úÇÒ ¼ö ÀÖ½À´Ï´Ù. grant ¿£Æ®¸®³»ÀÇ Principal ´Â ¸ðµÎ, ÁöÁ¤ÇÑ Permission °¡ ºÎ¿©µÇ´Â Subject
¿¡ ´ëÇØ,Subject.doAs
¿¡°Ô °Ç³×Áö´Â Subject
¿¡ °ü·ÃÁöÀ» ¼ö ÀÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
grant Principal com.sun.security.auth.SolarisPrincipal "duke", Principal com.sun.security.auth.SolarisNumericUserPrincipal "0" { permission java.io.FilePermission "/home/duke", "read, write"; permission java.net.SocketPermission "duke.com", "connect"; };ÀÌ ¿£Æ®¸®¿¡¼´Â duke ¿Í 0 ÀÇ ¾çÂÊ ¸ðµÎ·Î ½ÇÇàµÇ´Â Äڵ忡, duke ÀÇ È¨ µð·ºÅ丮³»ÀÇ ÆÄÀÏ¿¡ÀÇ ÀÐ°í ¾²±â ¾×¼¼½º±ÇÀ» ºÎ¿©ÇØ, ÇÑÃþ ´õ duke.com ¿¡ÀÇ ¼ÒÄÏ Á¢¼ÓÀÇ ÀÛ¼º±ÇÀ» ºÎ¿©ÇÕ´Ï´Ù.
Principal º£À̽º°¡ ¾Æ´Ñ grant ¿£Æ®¸®´Â ÀÌ Policy
¿¡¼´Â Çã°¡µÇÁö ¾Ê½À´Ï´Ù. ±× ¶§¹®¿¡, ´ÙÀ½ÀÇ grant ¿£Æ®¸®´Â °ÅºÎµË´Ï´Ù.
grant CodeBase "foo.com", Signedby "foo" { permission java.io.FilePermission "/tmp/scratch", "read, write"; };ÀÌ·¯ÇÑ ¾×¼¼½º±ÇÀº
java.security.Policy
¿¡ ±â¼úÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
µðÆúÆ®ÀÇ Policy
±¸ÇöÀº (Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏÀÇ) auth.policy.provider ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ¿¡, Èñ¸ÁÇÏ´Â Policy
±¸Çö Ŭ·¡½ºÀÇ ¿ÏÀü ÁöÁ¤¸íÀ» ¼³Á¤ÇÏ´Â °ÍÀ¸·Î½á º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏÀº <JAVA_HOME>/lib/security/java.security ¶ó´Â À̸§ÀÇ ÆÄÀÏ¿¡ ÀúÀåµÇ°í ÀÖ½À´Ï´Ù. ¿©±â¼, <JAVA_HOME> ´Â JDK ÀÇ ÀνºÅçó µð·ºÅ丮¸¦ ³ªÅ¸³À´Ï´Ù.
»ý¼ºÀÚÀÇ °³¿ä | |
protected |
Policy ()
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. À¯ÀÏÇÑ constructor ÀÔ´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
abstract PermissionCollection |
getPermissions (Subject subject,
CodeSource cs)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ÁöÁ¤ÇÑ CodeSource ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ¿¡ ºÎ¿©µÈ Permission ¸¦ ÃëµæÇÕ´Ï´Ù.
|
static Policy |
getPolicy ()
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ÀνºÅç ³¡³ Policy ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract void |
refresh ()
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. Policy ÀÇ ¸®ÇÁ·¹½¬ ¹× Àç·Îµå¸¦ ½ÇÇàÇÕ´Ï´Ù. |
static void |
setPolicy (Policy policy)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ½Ã½ºÅÛ ÀüüÀÇ Policy ¿ÀºêÁ§Æ®¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
»ý¼ºÀÚÀÇ »ó¼¼ |
protected Policy()
¸Þ¼ÒµåÀÇ »ó¼¼ |
public static Policy getPolicy()
AuthPermission("getPolicy")
¾×¼¼½º±ÇÀ» »ç¿ëÇØ SecurityManager.checkPermission
¸¦ È£ÃâÇØ, È£Ãâ Ãø¿¡ Policy ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÒ ¼ö ÀÖ´Â ¾×¼¼½º±ÇÀÌ ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù.
null
°¡ µÇÁö ¾Ê´Â´Ù
SecurityException
- ÇöÀçÀÇ thread°¡ Policy ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÏ´Â ¾×¼¼½º±ÇÀ» °¡ÁöÁö ¾Ê´Â °æ¿ìsetPolicy(javax.security.auth.Policy)
public static void setPolicy(Policy policy)
AuthPermission("setPolicy")
¾×¼¼½º±ÇÀ» »ç¿ëÇØ SecurityManager.checkPermission
¸¦ È£ÃâÇØ, È£Ãâ Ãø¿¡ Policy ¸¦ ¼³Á¤ÇÏ´Â ¾×¼¼½º±ÇÀÌ ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù.
policy
- ½Å±Ô ½Ã½ºÅÛ Policy ¿ÀºêÁ§Æ®
SecurityException
- ÇöÀçÀÇ thread°¡ Policy ¸¦ ¼³Á¤ÇÏ´Â ¾×¼¼½º±ÇÀ» °¡ÁöÁö ¾Ê´Â °æ¿ìgetPolicy()
public abstract PermissionCollection getPermissions(Subject subject, CodeSource cs)
CodeSource
¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ¿¡ ºÎ¿©µÈ Permission ¸¦ ÃëµæÇÕ´Ï´Ù.
subject
- Subject
. Subject
¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ´Â ÁöÁ¤ÇÑ CodeSource
¿Í ÇÔ²², ÀÌ ¸Þ¼Òµå°¡ µ¹·ÁÁÖ´Â Permission ¸¦ ÆÇÁ¤ÇÑ´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â null
µµ °¡´É
cs
- CodeSource
°¡ ÁöÁ¤ÇÑ ÄÚµå. CodeSource
´Â ÁöÁ¤ÇÑ Subject ¿Í ÇÔ²², ÀÌ ¸Þ¼Òµå°¡ µ¹·ÁÁÖ´Â Permission ¸¦ ÆÇÁ¤ÇÑ´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â null
µµ °¡´É
- ¹Ýȯ°ª:
- subject ¹× cs ÆÄ¶ó¹ÌÅÍ·Î ÁöÁ¤µÈ ¸ðµç
Subject
¹× Äڵ忡 ºÎ¿©µÈ Permission ÀÇ Collection
public abstract void refresh()
ÀÌ ¸Þ¼Òµå´Â ÀÌ ¿ÀºêÁ§Æ®°¡, ÇöÀçÀÇ Æú¸®½ÃÀÇ ¸®ÇÁ·¹½¬³ª Àç·Îµå¸¦ ½Ç½ÃÇÏ´Â ¿øÀÎÀÌ µË´Ï´Ù. À̰ÍÀº ±¸Çö¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î Policy ¿ÀºêÁ§Æ®°¡ ÆÄÀÏ¿¡ ÀúÀåµÇ°í ÀÖ´Â °æ¿ì,refresh
¸¦ È£ÃâÇϸé(ÀÚ), ÆÄÀÏÀÌ Çѹø ´õ ÀоÁö°Ô µË´Ï´Ù.
SecurityException
- È£Ãâ Ãø¿¡, Policy ¸¦ ¸®ÇÁ·¹½¬ ÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.