精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

升級到 Pulsar3.0 后深入了解 JWT 鑒權

開發 前端
Pulsar 支持 Namespace/Topic? 級別的鑒權,在生產環境中往往會使用 topic 級別的鑒權,從而防止消息泄露或者其他因為權限管控不嚴格而導致的問題。

背景

最近在測試將 Pulsar 2.11.2 升級到 3.0.1的過程中碰到一個鑒權問題,正好借著這個問題充分了解下 Pulsar 的鑒權機制是如何運轉的。

Pulsar 支持 Namespace/Topic 級別的鑒權,在生產環境中往往會使用 topic 級別的鑒權,從而防止消息泄露或者其他因為權限管控不嚴格而導致的問題。

圖片圖片

我們會在創建 topic 的時候為 topic 綁定一個應用,這樣就只能由這個應用發送消息,其他的應用嘗試發送消息的時候會遇到 401 鑒權的異常。

同理,對于訂閱者也可以關聯指定的應用,從而使得只有規定的應用可以消費消息。

鑒權流程

以上的兩個功能本質上都是通過 Pulsar 的 admin-API 實現的。

圖片圖片

這里關鍵的就是 role,在我們的場景下通常是一個應用的 AppId,只要是一個和項目唯一綁定的 ID 即可。

這只是授權的一步,整個鑒權流程圖如下:

圖片圖片

詳細步驟

生成公私鑰

bin/pulsar tokens create-key-pair --output-private-key my-private.key --output-public-key my-public.key

將公鑰分發到 broker 的節點上,鑒權的時候 broker 會使用公鑰進行驗證。

而私鑰通常是管理員單獨保存起來用于在后續的步驟為客戶端生成 token

使用私鑰生成 token

之后我們便可以使用這個私鑰生成 token 了:

bin/pulsar tokens create --private-key file:///path/to/my-private.key \
            --subject 123456

eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiJ9

其中的 subject 和本文長提到的 role 相等

使用 subject 授權

只是單純生成了 token 其實并沒有什么作用,還得將 subject(role) 與 topic 進行授權綁定。

圖片圖片

也就是上圖的這個步驟。

這里創建的 admin 客戶端也得使用一個 superRole 角色的 token 才有權限進行授權。superRole 使用在  broker.conf 中進行配置。

客戶端使用 token 接入 broker

PulsarClient client = PulsarClient.builder()
    .serviceUrl("pulsar://broker.example.com:6650/")
    .authentication(AuthenticationFactory.token("eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJKb2UifQ.ipevRNuRP6HflG8cFKnmUPtypruRC4fb1DWtoLL62SY"))
    .build();

使用剛才私鑰生成的 token 接入 broker 才能生產或者消費數據。

originalPrincipal cannot be a proxy role

這些流程正常都沒啥問題,但直到我升級了 Pulsar3.0 后客戶端直接就連不上了。

在 broker 中看到了 WARN 的警告日志:

cannot specify originalPrincipal when connecting without valid proxy role

圖片圖片

之后在 3.0 的升級日志中看到相關的 Issue。

從這個 PR 相關的代碼和變更的文檔可以得知:

圖片圖片

圖片圖片

升級到 3.0 之后風險校驗等級提高了,proxyRole 這個字段需要在 broker 中進行指定(之前的版本不需要強制填寫)。

因為我們使用了 Proxy 組件,所有的請求都需要從 proxy 中轉一次,這個 proxyRole 是為了告訴 broker:只有使用了 proxyRole 作為 token 的 Proxy 才能訪問 broker,這樣保證了 broker 的安全。

superUserRoles: broker-admin,admin,proxy-admin 
proxyRoles: proxy-admin

以上是我的配置,我的 Proxy 配置的也是 proxy-admin 這個 token,所以理論上是沒有問題的,但依然鑒權失敗了,查看 broker 的日志后拿到以下日志:

Illegal combination of role [proxy-admin] and originalPrincipal [proxy-admin]: originalPrincipal cannot be a proxy role.

排查了許久依然沒有太多頭緒,所以我提了相關的 issue:https://github.com/apache/pulsar/issues/21583之后我咨詢了 Pulsar 的 PMC @Technoboy  在他的提示下發現我在測試的時候使用的是 proxy-admin,正好和 proxyRoles 相等。

圖片圖片

閱讀源碼和這個 PR 的 comment 之后得知:

圖片圖片

也就是說客戶端不能使用和 proxyRole 相同的角色進行連接,這個角色應當也只能給 Proxy 使用,這樣的安全性才會高。

所以這個 Comment 還在討論這是一個 breaking change? 還是一個增強補丁。因為合并這個 PR 后對沒有使用 proxyRole 的客戶端將無法連接,同時也可能出現我這種 proxyRole 就是客戶端使用的角色,這種情況也會鑒權失敗。

所以我換了一個 superRole 角色就可以了,比如換成了 admin。

但其實即便是放到我們的生產系統,只要配置了 proxyRole 也不會有問題,因為我們應用所使用的 role 都是不這里的 superUserRole,全部都是使用 AppId 生成的。

token 不一致

但也有一個疑惑,我在換為存放在 configmap 中的 admin token 之前(測試環境使用的是 helm 安裝集群,所以這些 token 都是存放在 configmap 中的),

為了驗證是否只要非 proxyRole 的 superRole 都可以使用,我就自己使用了私鑰重新生成了一個 admin 的 token。

bin/pulsar tokens create --private-key file:///pulsar/private/private.key --subject admin

這樣生成的 token 也是可以使用的,但是我將 token 復制出來之后卻發現 helm 生成的 token 與我用 pulsar 命令行生成的 token 并不相同。

為了搞清楚為什么 token 不同但鑒權依然可以通過的原因,之后我將 token decode之后知道了原因:

圖片圖片

圖片圖片

原來是 Header 不同從而導致最終的 token 不同,helm 生成的 token 中多了一個 typ 字段。

之后我檢查了 helm 安裝的流程,發現原來 helm 的腳本中使用的并不是 Java 的命令行工具:

${PULSARCTL_BIN} token create -a RS256 --private-key-file ${privatekeytmpfile} --subject ${role} 2&> ${tokentmpfile}

這個 PULSARCTL_BIN 是一個由 Go 寫的命令行工具,我查看了其中的源碼,才知道 Go 的 JWT 工具會自帶一個 header。https://github.com/streamnative/pulsarctl

圖片圖片

而 Java 是沒有這個邏輯的,但也只是加了 header,payload 的值都是相同的。這樣也就解釋了為什么 token 不同但確依然能使用的原因。

責任編輯:武曉燕 來源: crossoverJie
相關推薦

2024-01-03 08:08:51

Pulsar版本數據

2023-12-25 08:08:41

存儲降級災難恢復

2010-06-23 20:31:54

2009-08-25 16:27:10

Mscomm控件

2010-07-13 09:36:25

2020-09-21 09:53:04

FlexCSS開發

2010-11-19 16:22:14

Oracle事務

2022-08-26 13:48:40

EPUBLinux

2020-07-20 06:35:55

BashLinux

2025-09-02 08:15:47

2011-07-18 15:08:34

2022-06-03 10:09:32

威脅檢測軟件

2010-11-15 11:40:44

Oracle表空間

2010-11-08 13:54:49

Sqlserver運行

2013-04-16 10:20:21

云存儲服務云存儲SLA服務水平協議

2010-09-27 09:31:42

JVM內存結構

2018-06-22 13:05:02

前端JavaScript引擎

2021-04-28 10:13:58

zookeeperZNode核心原理

2021-01-19 12:00:39

前端監控代碼

2021-09-01 10:15:15

前端cookiesession
點贊
收藏

51CTO技術棧公眾號

米奇精品关键词| 黑人极品ⅴideos精品欧美棵| 欧美丝袜丝交足nylons172| 欧美少妇一区二区| 国产三级中文字幕| 免费观看成年人视频| 日韩专区一卡二卡| 亚洲精品自在久久| 亚洲熟妇av日韩熟妇在线| 国产中文在线视频| 国产精品主播直播| 国产成人精品av| 久久久久免费看| 欧美日韩有码| 欧美三级在线播放| 成人午夜视频在线观看免费| 超碰国产在线| 不卡av免费在线观看| 国产一区玩具在线观看| 国产区在线观看视频| 日韩在线精品| 精品一区二区三区四区| 97人人模人人爽人人澡| 视频二区不卡| 亚洲成人av一区二区三区| 亚洲巨乳在线观看| 136福利视频导航| av亚洲免费| 日韩国产欧美精品一区二区三区| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 手机在线不卡av| 国产一区二区在线观看视频| 国产成人avxxxxx在线看 | av免费网站在线观看| 国产日韩一级二级三级| 精品国产乱码久久久久久蜜柚| 免费观看成人毛片| 黑丝一区二区| 久热精品视频在线观看| 宇都宫紫苑在线播放| 亚洲爱爱视频| 日韩欧美在线视频| 国产免费黄视频| 激情国产在线| 午夜久久福利影院| 日本a在线免费观看| 青青草视频在线免费直播| 亚洲男人都懂的| 亚洲在线色站| 老司机在线看片网av| 欧美国产国产综合| 日本一区二区精品视频| 99视频在线观看免费| 久久精品国产999大香线蕉| 日韩av毛片网| 久久精品99北条麻妃| 国产伊人精品| 欧美日韩国产成人在线| 黄色一级片中国| 美女精品一区最新中文字幕一区二区三区 | 欧美黄色一级网站| 亚洲理论电影网| 欧美成人网在线| 欧美成欧美va| 国产综合久久| 午夜欧美大片免费观看| 五月天婷婷久久| 久久动漫亚洲| 国产精品爽爽ⅴa在线观看| 中文字幕免费观看视频| 久久99精品国产麻豆婷婷| 91久久精品美女| 午夜精品久久久久久久99| 免费的成人av| 97视频在线观看播放| 免费在线观看黄网站| 欧美一级播放| 国产精品看片资源| 国产极品999| 99久久综合色| 午夜午夜精品一区二区三区文| 天天色综合久久| 久久影院电视剧免费观看| 欧洲精品一区色| 免费a在线看| 午夜精品久久久久久久久久久 | 免费人成在线观看播放视频| 亚洲欧洲日本在线| 日韩av影视| 视频二区在线| 国产精品白丝在线| 国产日韩亚洲欧美在线| 亚洲欧美小说色综合小说一区| 亚洲国产aⅴ天堂久久| 亚洲午夜精品久久久久久人妖| 肉肉视频在线观看| 亚洲精品国产a| 成人免费在线小视频| 久久69成人| 亚洲国产精品久久久久久| 亚洲一级中文字幕| 国一区二区在线观看| 国产成人综合精品| wwwxxxx国产| 欧美激情一区二区三区在线| 国产91沈先生在线播放| 国产成人福利夜色影视| 亚洲精品在线网站| 日韩av手机在线免费观看| 999视频精品| 69影院欧美专区视频| 四虎成人永久免费视频| 国产在线精品一区二区不卡了 | 国产视频在线一区| 久久人人爽爽爽人久久久| 蜜桃视频日韩| 免费av不卡在线观看| 欧美日韩电影在线| 欧美图片一区二区| 影院欧美亚洲| 51精品国产人成在线观看| 成人午夜影视| 色综合一个色综合| av av在线| 欧美激情综合| 成人av色在线观看| 岛国大片在线观看| 福利视频一区二区| 中文视频在线观看| 亚洲视频观看| 91免费视频网站| 1024国产在线| 欧美三日本三级三级在线播放| 91小视频在线播放| 91蜜桃臀久久一区二区| 久久影院资源网| 一区二区三区精| 成人av片在线观看| 国产高清不卡无码视频| 国产精品一区免费在线| 少妇高潮久久77777| 最好看的日本字幕mv视频大全 | 欧美 变态 另类 人妖| 欧美三级午夜理伦三级中文幕| 欧美在线精品免播放器视频| 色哟哟国产精品色哟哟| 亚洲高清免费一级二级三级| 国产探花在线观看视频| 人体久久天天| 2018日韩中文字幕| 国产女人高潮时对白| 亚洲三级电影网站| 国产日产欧美视频| 要久久爱电视剧全集完整观看 | xxxx视频在线| 亚洲国产欧美一区二区三区同亚洲| 快灬快灬一下爽蜜桃在线观看| 国产专区一区| 国产一区二区三区四区五区加勒比 | 国产极品美女高潮无套嗷嗷叫酒店| 香蕉国产精品偷在线观看不卡| 91精品国产综合久久香蕉的用户体验| 亚洲精品久久久久久久久久久久久久| 国产偷v国产偷v亚洲高清| 亚洲最大综合网| 日韩久久视频| 亚洲va欧美va国产综合久久| 男人久久精品| 亚洲v精品v日韩v欧美v专区| 中文字幕 日本| 日韩av在线发布| 永久免费精品视频网站| 亚洲网一区二区三区| 97人人做人人爱| 久久久资源网| 欧美精品一二三| 久久婷婷一区二区| 久久久久久久久久久久久夜| 欧美一级视频免费看| 中文有码一区| 91亚洲一区精品| caoprom在线| 日韩免费一区二区| 亚洲国产美女视频| 91在线国产福利| 在线观看的毛片| 激情另类综合| 四虎影视永久免费在线观看一区二区三区| 日韩伦理福利| 久久精品国产视频| 一级黄色片在线播放| 亚洲福利一二三区| 日本欧美一区二区三区不卡视频 | 国产wwwxx| 欧美激情四色| 欧美日韩亚洲在线| 欧美日韩黄色| 日韩免费观看在线观看| 亚洲色图美国十次| 国产亚洲一区精品| 亚洲毛片在线播放| 欧美日韩你懂得| 日韩欧美三级在线观看| 国产精品福利一区| 亚洲人成人无码网www国产| 国产精品羞羞答答xxdd| 日韩av播放器| 国产精品综合色区在线观看| 精品一区二区三区日本| 国产日本亚洲| 久久久亚洲精选| 色的视频在线免费看| 日韩av在线一区| 国产婷婷在线视频| 欧美午夜一区二区三区免费大片| 亚洲 欧美 国产 另类| 99国产精品久久久久| 成年人性生活视频| 久久国产麻豆精品| 久久久久久久激情| 亚洲婷婷在线| 国产精品三级一区二区| 9999国产精品| 亚洲欧美在线网| 精品国产91| 欧美午夜欧美| 偷拍精品福利视频导航| 成人自拍网站| 日本一区二区三区电影免费观看| 性欧美长视频免费观看不卡| 宅男在线观看免费高清网站| 日韩视频免费看| 毛片在线播放网站| 亚洲开心激情网| 日韩成人黄色| 亚洲免费视频在线观看| 午夜激情小视频| 亚洲丁香婷深爱综合| 男操女视频网站| 一级中文字幕一区二区| 欧美成人三级视频| 一区二区久久久久久| 老鸭窝一区二区| 91色婷婷久久久久合中文| 屁屁影院国产第一页| 成人国产精品免费观看动漫| 欧美日韩怡红院| 日本强好片久久久久久aaa| 男人女人黄一级| 男人的j进女人的j一区| 日韩爱爱小视频| 精品一区二区久久久| 亚洲精品国产一区二区三区| 九一九一国产精品| 亚洲制服在线观看| 国产aⅴ综合色| 天天躁日日躁狠狠躁av麻豆男男 | 亚洲一区二区三区小说| 久久久久久福利| 天天色图综合网| 久久精品国产成人av| 亚洲精品成人悠悠色影视| 老女人性淫交视频| 亚洲成人1区2区| av大片免费观看| 欧美在线免费观看视频| 日本系列第一页| 欧美性生交xxxxxdddd| 国产情侣免费视频| 欧美日韩精品一区视频| 精品国产乱码一区二区三 | 永久免费网站视频在线观看| 亚洲天堂免费| 丁香花在线影院观看在线播放| 日韩欧美二区| 三级在线免费观看| 国产亚洲毛片| www.cao超碰| 成人动漫一区二区三区| 亚洲永久无码7777kkk| 国产91对白在线观看九色| 亚洲中文字幕一区| 国产精品美女久久久久久久网站| 微拍福利一区二区| www激情久久| 欧美成人午夜精品免费| 国产精品久久久久9999吃药| 在线观看美女av| 亚洲少妇最新在线视频| 国产一级久久久| 欧美日免费三级在线| 亚洲av无码国产精品永久一区 | 亚洲免费专区| 国产系列第一页| 亚洲中字黄色| 久久精品国产露脸对白| 91免费看视频| 一区二区视频免费看| 在线视频一区二区三区| 亚洲美女性生活| 色婷婷av一区二区三区久久| 日韩脚交footjobhdboots| 亚洲影视中文字幕| 精品日本12videosex| 欧美三级电影在线播放| 国产一区二区三区四区五区传媒| 麻豆传媒一区二区| 亚洲欧美网站在线观看| 日韩精品一区二区三区不卡 | 欧美又大又硬又粗bbbbb| 国产精品久久久久久av公交车| aa成人免费视频| 看全色黄大色大片免费久久久| 久久久久久久久久久一区| 亚洲bt欧美bt精品777| 日本精品福利视频| 中日韩男男gay无套| 18深夜在线观看免费视频| 成人国产免费视频| 超碰手机在线观看| 欧美日韩国产天堂| 国产黄色在线播放| 国产69精品久久久久久| 日韩高清在线观看一区二区| 亚洲欧美电影在线观看| 国内精品福利| 亚洲av无日韩毛片久久| 亚洲国产成人午夜在线一区| 久久久久99精品成人片我成大片| 欧美午夜一区二区三区| 男女网站在线观看| 欧洲美女免费图片一区| 欧美成人一区在线观看| 蜜桃传媒一区二区三区| 国产91精品一区二区| 久久视频免费看| 精品国产乱子伦一区| 成人在线免费观看黄色| 春色成人在线视频| 国产中文一区| 极品白嫩的小少妇| 精品福利一区二区| 亚洲区小说区图片区| www.日韩免费| 成人国产精品久久| 成人午夜免费剧场| 国产成人综合在线观看| av男人的天堂av| 亚洲专区一二三| 欧美一区二区三区激情| 亚洲91av视频| 亚洲毛片免费看| 一级黄色香蕉视频| 成人欧美一区二区三区白人 | 久久精品中文| 成人在线一级片| 欧美性猛片xxxx免费看久爱| 在线播放麻豆| 91最新国产视频| 激情欧美丁香| 亚洲第一香蕉网| 欧美人体做爰大胆视频| 亚洲h片在线看| 国模精品娜娜一二三区| 国产精品久久久免费| 性欧美一区二区| 9191久久久久久久久久久| 免费一级在线观看播放网址| 国产精品久久国产精品99gif| 欧美一级三级| 黄色一级免费大片| 成人免费在线视频观看| 日韩永久免费视频| 国产精品27p| 亚洲国产一成人久久精品| 天堂在线资源视频| 亚洲精品视频在线看| 天天干天天干天天干| 国产精品av在线播放| 一道在线中文一区二区三区| 99热这里只有精品在线播放| 久久久久国产精品人| 久久亚洲天堂网| 日韩中文字幕精品视频| 久久国产精品免费精品3p| 国产v亚洲v天堂无码久久久| 日韩美女啊v在线免费观看| 六月婷婷综合网| 97色在线观看免费视频| 色天天久久综合婷婷女18| 999精品免费视频| 欧美日韩视频在线第一区| 黑人精品视频| 亚洲在线欧美| 久久综合久久综合久久| 99热在线只有精品| 青青久久av北条麻妃黑人| 欧美日韩一区二区高清| 成人三级做爰av| 欧美少妇一区二区|