Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Apache RangerÆÊÎö£ºHadoopÉú̬ȦµÄ°²È«¹Ü¼Ò
 
×÷ÕߣºÄ¾Ä¾Óë´ô´ô
 
  2354  次浏览      28
2020-12-15 
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª´ÓȨÏÞÄ£ÐÍ¡¢×ÜÌå¼Ü¹¹¡¢ÏµÍ³²å¼þÈý¸ö·½ÃæÆÊÎöÁËApache Ranger¡£Ï£Íû¶ÔÄãÓаïÖú¡£
±¾ÎÄÀ´×Ô²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼­¡¢ÍƼö¡£

ǰÑÔ

2016Ä꣬HadoopÓ­À´ÁË×Ô¼ºÊ®ÖÜËêÉúÈÕ¡£¹ýÈ¥µÄÊ®Ä꣬HadoopÐÛ°ÔÎäÁÖÃËÖ÷֮룬ºÅÁîÌìÏ£¬ÒýÁì´óÊý¾Ý¼¼ÊõÉú̬²»¶Ï·¢Õ¹×³´ó£¬Ò»Ê±¼ä°Ù¼ÒÕùÃù£¬°Ù»¨Æë·Å¡£È»¶ø£¬ÐֵܶàÁ˲»ºÃ¹Ü£¬ÎªÁËÇÀÕ¼ÆóÒµ¼¶Êг¡£¬¸÷¼Ò¶¼µü´ú³ö×Ô¼ºµÄÒ»Ì×·ÃÎÊ¿ØÖÆÌåϵ£¬²»¹ÜÊÇÀÏÅÆÏµÍ³(±ÈÈçHDFS¡¢HBase)£¬»¹ÊÇÉú̬йó(±ÈÈçKafka¡¢Alluxio)£¬ACL(Access Control List)Ö§³Ö¶¼ÊÇRoadmapÀï±»¹Ø×¢×î¸ßµÄissueÖ®Ò»¡£

ÀúÊ·Ö¤Ã÷Ìø³ö»ìãç״̬µÄ×îºÃ·½Ê½¾ÍÊÇ¡ª¡ª³ǫ̈±ê×¼¡£ÓÚÊÇ£¬HadoopÁ½´ó³§ClouderaºÍHortonworksÏ鼗᢮ð±ê×¼»¯Ô˶¯£¬·Ö±ð¿ªÔ´ÁËSentryºÍRanger£¬ÔÚcentralized·ÃÎÊ¿ØÖÆÁìÓòÕ¹¿ªÐÂÒ»ÂֵĽÇÖð¡£

RangerÔÚ0.4°æ±¾µÄʱºò±»Hortonworks¼ÓÈëµ½ÆäHadoop·¢ÐаæHDPÀĿǰ×÷ΪApache incubatorÏîÄ¿£¬×îа汾ÊÇ0.6¡£ËüÖ÷ÒªÌṩÈçÏÂÌØÐÔ:

»ùÓÚ²ßÂÔ(Policy-based)µÄ·ÃÎÊȨÏÞÄ£ÐÍ

ͨÓõIJßÂÔͬ²½Óë¾ö²ßÂß¼­£¬·½±ã¿ØÖƲå¼þµÄÀ©Õ¹½ÓÈë

ÄÚÖó£¼ûϵͳ(ÈçHDFS¡¢YARN¡¢HBase)µÄ¿ØÖƲå¼þ£¬ÇÒ¿ÉÀ©Õ¹

ÄÚÖûùÓÚLDAP¡¢ÎļþµÄÓû§Í¬²½»úÖÆ£¬ÇÒ¿ÉÀ©Õ¹

ͳһµÄ¹ÜÀí½çÃæ£¬°üÀ¨²ßÂÔ¹ÜÀí¡¢Éó¼Æ²é¿´¡¢²å¼þ¹ÜÀíµÈ

±¾ÎĽ«´ÓȨÏÞÄ£ÐÍ¡¢×ÜÌå¼Ü¹¹¡¢ÏµÍ³²å¼þÈý¸ö½Ç¶ÈÀ´Õ¹¿ª£¬ÆÊÎöRangerÈçºÎʵÏÖcentralized·ÃÎÊ¿ØÖÆ¡£

ȨÏÞÄ£ÐÍ

·ÃÎÊȨÏÞÎÞ·ÇÊǶ¨ÒåÁË¡°Óû§-×ÊÔ´-ȨÏÞ¡±ÕâÈýÕß¼äµÄ¹ØÏµ£¬Ranger»ùÓÚ²ßÂÔÀ´³éÏóÕâÖÖ¹ØÏµ£¬½ø¶øÑÓÉì³ö×Ô¼ºµÄȨÏÞÄ£ÐÍ¡£ÎªÁ˼ò»¯Ä£ÐÍ£¬±ãÓÚÀí½â£¬ÎÒÓÃÒÔϱí´ïʽÀ´ÃèÊöËü£º

Policy = Service + List<Resource> + AllowACL + DenyACL

AllowACL = List<AccessItem> allow + List<AccssItem> allowException

DenyACL = List<AccessItem> deny + List<AccssItem> denyException

AccessItem = List<User/Group> + List<AccessType>

½ÓÏÂÀ´´Ó¡±Óû§-×ÊÔ´-ȨÏÞ*¡±µÄ½Ç¶ÈÀ´Ïê½âÉÏÊö±í´ï£º

Óû§£ºÓÉUser»òGroupÀ´±í´ï£»User´ú±í·ÃÎÊ×ÊÔ´µÄÓû§£¬Group´ú±íÓû§ËùÊôµÄÓû§×é¡£

×ÊÔ´£ºÓÉ(Service, Resource)¶þÔª×éÀ´±í´ï£»Ò»ÌõPolicyΨһ¶ÔÓ¦Ò»¸öService£¬µ«¿ÉÒÔ¶ÔÓ¦¶à¸öResource¡£

ȨÏÞ£ºÓÉ(AllowACL, DenyACL)¶þÔª×éÀ´±í´ï£¬Á½Õß¶¼°üº¬Á½×éAccessItem¡£¶øAccessItemÔòÃèÊöÒ»×éÓû§ÓëÒ»×é·ÃÎÊÖ®¼äµÄ¹ØÏµ¡ª¡ªÔÚAllowACLÖбíʾÔÊÐíÖ´ÐУ¬¶øDenyACLÖбíʾ¾Ü¾øÖ´ÐС£

ϱíÁгöÁ˼¸ÖÖ³£¼ûϵͳµÄÄ£ÐÍʵÌåö¾ÙÖµ£º

¹ØÓÚȨÏÞÕâ¸ö²¿·Ö£¬»¹ÓÐÒ»µãûÓнâÊÍÇå³þ£ºÎªÊ²Ã´AllowACLºÍDenyACLÐèÒª·Ö±ð¶ÔÓ¦Á½×éAccessItem£¿ÕâÊÇÓɾßÌåʹÓó¡¾°Òý³öµÄÉè¼Æ£º

ÒÔAllowACLΪÀý£¬¼Ù¶¨ÎÒÃÇÒª½«×ÊÔ´ÊÚȨ¸øÒ»¸öÓû§×éG1£¬µ«ÊÇÓû§×éÀïij¸öÓû§U1³ýÍ⣬ÕâʱֻҪÔö¼ÓÒ»Ìõ°üº¬G1µÄAccessItemµ½AllowACL_allow£¬Í¬Ê±Ôö¼ÓÒ»Ìõ°üº¬U1µÄAccessItemµ½AllowACL_allowException¼´¿É¡£ÀàËÆµÄÔ­Òò¿É·´ÍƵ½DenyACL¡£

¼ÈÈ»ÏÖÔÚÒ»ÌõPolicyÓÐ(allow, allowException, deny, denyException)ÕâôËÄ×éAccessItem£¬ÄÇôÅжÏÓû§×îÖÕȨÏ޵ľö²ß¹ý³ÌÊÇÔõÑùµÄ£¿

×ÜÌåÀ´Ëµ£¬ÕâËÄ×éAccessItemµÄ×÷ÓÃÓÅÏȼ¶Óɸߵ½µÍÒÀ´ÎÊÇ£º

denyException > deny > allowException > allow

·ÃÎʾö²ßÊ÷¿ÉÒÔÓÃÒÔÏÂÁ÷³ÌͼÀ´ÃèÊö£º

ÕâÀïÒª¶Ô¾ö²ßÏ·Å×öÒ»¸ö½âÊÍ£ºÈç¹ûûÓÐpolicyÄܾö²ß·ÃÎÊ£¬Ranger¿ÉÒÔÑ¡Ôñ½«¾ö²ßÏ·ŸøÏµÍ³×ÔÉíµÄ·ÃÎÊ¿ØÖƲ㣬±ÈÈçHDFSµÄACL¡£

×ÜÌå¼Ü¹¹

RangerµÄ×ÜÌå¼Ü¹¹ÈçÏÂͼËùʾ£¬Ö÷ÒªÓÉÒÔÏÂÈý¸ö×é¼þ¹¹³É£º

AdminServer: ÒÔRESTFULÐÎʽÌṩ²ßÂÔµÄÔöɾ¸Ä²é½Ó¿Ú£¬Í¬Ê±ÄÚÖÃÒ»¸öWeb¹ÜÀíÒ³Ãæ¡£

AgentPlugin: ǶÈëµ½¸÷ϵͳִÐÐÁ÷³ÌÖУ¬¶¨ÆÚ´ÓAdminServerÀ­È¡²ßÂÔ£¬¸ù¾Ý²ßÂÔÖ´ÐзÃÎʾö²ßÊ÷£¬²¢ÇÒ¶¨ÆÚ¼Ç¼·ÃÎÊÉ󼯡£²å¼þµÄʵÏÖÔ­Àí½«ÔÚºóÎÄÏêϸ½éÉÜ¡£

UserSync: ¶¨ÆÚ´ÓLDAP/FileÖмÓÔØÓû§£¬Éϱ¨¸øAdminServer¡£

ϵͳ²å¼þ

ǰÎÄÒѾ­Ìáµ½£¬ÏµÍ³²å¼þÖ÷Òª¸ºÔðÈý¼þÊ£º

¶¨ÆÚ´ÓAdminServerÀ­È¡²ßÂÔ

¸ù¾Ý²ßÂÔÖ´ÐзÃÎʾö²ßÊ÷

¶¨ÆÚ¼Ç¼·ÃÎÊÉó¼Æ

ÒÔÉÏÖ´ÐÐÂß¼­ÊÇͨÓõģ¬¿ÉÓÉËùÓÐϵͳ²å¼þÒýÓã¬Òò´ËʣϵÄÎÊÌâÊÇÈçºÎ°ÑÕâЩÂß¼­Ç¶Èëµ½¸÷¸öϵͳµÄ·ÃÎʾö²ßÁ÷³ÌÖÐÈ¥¡£Ä¿Ç°RangerÀïÓÐÁ½ÖÖ×ö·¨£º

ʵÏÖ¿ÉÀ©Õ¹½Ó¿Ú£º¶àÊýµÄϵͳÔÚʵÏÖʱ¶¼Óп¼Âǹ¦ÄÜÀ©Õ¹ÐÔµÄÎÊÌ⣬һ°ã»áΪºËÐĵÄÄ£¿é±©Â¶³ö¿ÉÀ©Õ¹µÄ½Ó¿Ú£¬·ÃÎÊ¿ØÖÆÄ£¿éÒ²²»ÀýÍâ¡£Rangerͨ¹ýʵÏÖ·ÃÎÊ¿ØÖƽӿڣ¬½«×Ô¼ºµÄÂß¼­Ç¶Èë¸÷¸öϵͳ¡£Ï±íÁгöÁËRanger²å¼þ¶Ô¼¸¸ö³£¼ûϵͳµÄÀ©Õ¹½Ó¿Ú£º

´úÂë×¢È룺²»ÅųýÓÐÉÙÊýϵͳûÓн«·ÃÎÊ¿ØÖÆÄ£¿é±©Â¶³öÀ©Õ¹µã£¬Õâ¸öʱºòRangerÒÀÀµJava´úÂë×¢Èë»úÖÆ(java.lang.instrument)À´ÊµÏÖÂß¼­Ç¶Èë¡£ÒÔHDFS²å¼þΪÀý£¬RangerÀûÓÃClassFileTransformer£¬Ö±½ÓÐÞ¸ÄHDFS·ÃÎÊ¿ØÖÆÀàFSPermissionCheckerµÄClassFile£¬½«checkPermission·½·¨Ìæ»»³ÉRangerµÄ×Ô¶¨ÒåʵÏÖ¡£

ºó»°

Ëæ×ÅHadoopÉú̬Ȧ½ø¾üÆóÒµ¼¶Êг¡£¬Êý¾Ý°²È«Öð½¥³ÉΪ¹Ø×¢½¹µã¡£Ranger×÷Ϊ±ê×¼»¯µÄ·ÃÎÊ¿ØÖƲ㣬ÒýÈëͳһµÄȨÏÞÄ£ÐÍÓë¹ÜÀí½çÃæ£¬¼«´óµØ¼ò»¯ÁËÊý¾ÝȨÏ޵ĹÜÀí¡£²»¹ý£¬RangerĿǰ´¦ÓÚ·õ»¯ÏîÄ¿£¬ÔÚ¹¦ÄÜÐÔÓëÎȶ¨ÐÔÉÏÈÔÈ»ÓнϴóµÄÌáÉý¿Õ¼ä£¬ÆäÄÜ·ñ¸²¸Ç¸ü¶àµÄϵͳ£¬Ò»Í³½­ºþ³ÉΪ±ê×¼£¬ÈÃÎÒÃÇÊÃÄ¿ÒÔ´ý¡£

 

 
   
2354 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
´óÊý¾Ýƽ̨ϵÄÊý¾ÝÖÎÀí
ÈçºÎÉè¼ÆÊµÊ±Êý¾Ýƽ̨£¨¼¼Êõƪ£©
´óÊý¾Ý×ʲú¹ÜÀí×ÜÌå¿ò¼Ü¸ÅÊö
Kafka¼Ü¹¹ºÍÔ­Àí
ELK¶àÖּܹ¹¼°ÓÅÁÓ
×îпγÌ
´óÊý¾Ýƽ̨´î½¨Óë¸ßÐÔÄܼÆËã
´óÊý¾Ýƽ̨¼Ü¹¹ÓëÓ¦ÓÃʵս
´óÊý¾ÝϵͳÔËά
´óÊý¾Ý·ÖÎöÓë¹ÜÀí
Python¼°Êý¾Ý·ÖÎö
³É¹¦°¸Àý
ijͨÐÅÉ豸ÆóÒµ PythonÊý¾Ý·ÖÎöÓëÍÚ¾ò
Ä³ÒøÐÐ È˹¤ÖÇÄÜ+Python+´óÊý¾Ý
±±¾© Python¼°Êý¾Ý·ÖÎö
ÉñÁúÆû³µ ´óÊý¾Ý¼¼Êõƽ̨-Hadoop
ÖйúµçÐÅ ´óÊý¾Ýʱ´úÓëÏÖ´úÆóÒµµÄÊý¾Ý»¯ÔËӪʵ¼ù