RocketMQ源码分析之ACL简介.docx
《RocketMQ源码分析之ACL简介.docx》由会员分享,可在线阅读,更多相关《RocketMQ源码分析之ACL简介.docx(29页珍藏版)》请在第一文库网上搜索。
1、RocketMQ源码分析之AC1XhW【导读】本篇文章主要介绍了AC1的配置项、如何启用、示例demo以及其源码分析。一、AC1介绍1什么是AC1?AC1(权限控制)是ROCketMQ提供topic资源级别的客户端访问控制,客户端在使用ROCketMQ权限控制时,可以在客户端通过RPCHOOk注入ACCeSSKey和SecretKey签名。2 .p1ain_ac1.ym1文件在ROCketMQ中权限控制属性的配置是在PIain_ac1.ym1中,其配置项及其含义具体如下字段取值含义g1oba1WhiteRemoteAddresses*;192.168.*.*;192.168.0.1全局IP白名
2、单accessKey字符串AccessKeySecretKey字符串SecretKeyWhiteRemoteAddress*;192.168.*.*;192.168.0.1用户IP白名单admintrue;fa1se是否管理员账户defau1tTopicPermDENY;PUB;SUB;PUBISUB默认的TOPiC权限默认的defau1tGroupPermDENY;PUB;SUB;PUBISUBConsumerGroup权限topicPermstopic=权限各个Topic的权限各个groupPermsgroup=权限ConsumerGroup的权限字段取值含义这里RocketMQ对资源访问
3、控制权限的定义有以下四种:权限含义DENY拒绝ANYPUB或者SUB权限PUB发送权限SUB订阅权限注意:RoCketMQ的权限控制存储的默认实现是基于ym1配置文件。用户可以动态修改权限控制定义的属性,而不需重新启动Broker服务节点。3 .如何启用AC1?broker端在broker端首先需要配置好p1ain_ac1.ym1,然后在broker,conf中添加配置项ac1Enab1e=true(该配置项默认是fa1se)客户端客户端通过RPCHook注入AccessKey和SecretKey筌名4 .示例demobroker端p1ain_ac1.ym1配置1oba1WhiteRemQte
4、Addresses:ICCOUn1S:-accessKey:RoCketMQBWhiteRemoteAddress:admin:fa1sdefau1tTopicPerm:DENYtopiPrm_topic0607二P1BIgroupPerms:accessKey:rockeImqWhiteRemoteAddress:producerPriVateSIatiCfina1StringAC1SECRETKEY=”12345678”IPUbIiCStatiCVOidmain(String口args)throwsMQCIientE1newDefau1tMQProduceDefau1tMQProducer
5、producerr(ProdUCerGroUPName”,getc1RPCHook();producer.SetNamesrvAddr(,127.O.O.1:9876,t);ProdUCer.Start();Messagemsg=newMessageI1owor1”.ge1By1es(Reino1ingHe1per.DEFAU1TCHARSET);SendReSUItSendReSUIt=PtICIUCer.Send(msg);System.out.printf(,%s%nr,SEidResu1t);CatCh(EXCePtione)e.printStackTrace();PrOdUCer.S
6、hUtdOWn();StatiCRPCHOokgetAc1RPCHookOreturnnewAc1C1IentRPCHook(newSessionCredentia1s(AC1accesskey,Acusecretkey);consumer)ub1icc1assAC1ConsumerTestPriVateStatiCfina1StringAC1_ACCESS_KEY=nRocketMQ,PriVateStatiCfina1StringAC1_SECRET_KEY=”2345678PUb1iCS1a1iCvoidmain(S1ring口args)IhrowSMQC1ienIE1Defau1tMQ
7、pushConsumerconsumer=newDefau1tMQPushConsumer(r,testGroup02,getAcIRPCHook(),newA11OcateMessageQueueAVerageIy();Iconsumer.SetConsumeFromWhere(ConsumeFromWhere.CONSUMEICOnSUnIer.rcgisterMessage1istcner(newMeSSage1iStener1ICOnCUrren11y()IPUbIiCConsumeconcurrent1yStatusConSUmeMeS1ISage(1iStVMessageExtms
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RocketMQ 源码 分析 ACL 简介