在分布式系統(tǒng)中,通常會(huì)有數(shù)量巨大的組件協(xié)作來(lái)完成某項(xiàng)具體的工作魂拦,協(xié)作的完成需要組件之間相互通信毛仪。在容器化部署的場(chǎng)景下,通信主要分為兩類芯勘,容器實(shí)例之間箱靴,以及容器實(shí)例和外部系統(tǒng)之間的通信。無(wú)論是容器之間還是容器和外部系統(tǒng)之間荷愕,為了確保通信的安全衡怀,我們需要借助于安全機(jī)制來(lái)保護(hù)通信信息不被惡意攻擊者獲取。
閱讀過(guò)筆者安全基礎(chǔ)系列文章的同學(xué)應(yīng)該對(duì)如何確保通信線路上的安全不陌生安疗,如果你還有映像的話抛杨,我們介紹過(guò)如何使用對(duì)稱加密以及非對(duì)稱加密,哈希來(lái)確保通信的機(jī)密性和信息的防篡改荐类。雖然筆者在介紹這些內(nèi)容的時(shí)候并沒(méi)有和具體的部署方式對(duì)應(yīng)起來(lái)怖现,大家大可粗略的認(rèn)為所有的加密和安全手段在容器通信的場(chǎng)景中都是適用的。雖說(shuō)筆者已經(jīng)有系列文章詳細(xì)介紹了加密相關(guān)的內(nèi)容玉罐,但是對(duì)于容器部署的場(chǎng)景來(lái)說(shuō)屈嗤,咱們需要把前邊介紹的安全基礎(chǔ)內(nèi)容帶入到具體的場(chǎng)景中潘拨,來(lái)詳細(xì)介紹容器間或者容器和外部系統(tǒng)之間的安全通信如何實(shí)現(xiàn),這也是這篇文章的主要內(nèi)容饶号。
作為項(xiàng)目的技術(shù)負(fù)責(zé)人铁追,架構(gòu)師,我們經(jīng)常需要為構(gòu)建的云原生分布式系統(tǒng)配置證書(certificates)茫船,秘鑰脂信;特定情況下,我們也需要為Kubernetes集群配置安全認(rèn)證中心(certificate authorities)透硝,為etcd配置證書來(lái)確保etcd和API server之間的通信安全等等。所說(shuō)這些安全配置工作沒(méi)有什么難度疯搅,但是相信有經(jīng)驗(yàn)的讀者經(jīng)常需要面對(duì):對(duì)著操作手冊(cè)一頓執(zhí)行后濒生,發(fā)現(xiàn)結(jié)果不符合預(yù)期。背后的主要原因也不難理解幔欧,因?yàn)檫@些操作手冊(cè)告訴我們的是WHAT(做)罪治,而我們可能根本不知道WHY和HOW,因此無(wú)論是手冊(cè)本身缺少某個(gè)參數(shù)(或者由于版本問(wèn)題未更新礁蔗,某個(gè)命令和參數(shù)已經(jīng)不適用)都會(huì)導(dǎo)致我們需要花費(fèi)大量的時(shí)間來(lái)搞定觉义。因此對(duì)通信安全所涉及到的所有組件有體系化的理解,以及知道這些組件是如何集成在一起提供安全防護(hù)是非常必要的浴井。
安全通信這個(gè)概念雖然非常簡(jiǎn)單晒骇,但是筆者最近的實(shí)踐經(jīng)驗(yàn)顯示,大部分關(guān)于技術(shù)的爭(zhēng)論其實(shí)都是概念之爭(zhēng)磺浙,因?yàn)榧夹g(shù)術(shù)語(yǔ)都是經(jīng)過(guò)抽象形成的縮略語(yǔ)洪囤,每個(gè)人的背景知識(shí)體系的差異,會(huì)導(dǎo)致端看似簡(jiǎn)單的概念撕氧,有著不小的理解偏差瘤缩。特別是涉及到核心問(wèn)題的時(shí)候,一般都是由于這些細(xì)小的理解偏差伦泥,導(dǎo)致經(jīng)常會(huì)出現(xiàn)ppt上講的很歡樂(lè)剥啤,一到具體落地就是各種理解不一致,爭(zhēng)論不脯。我了讓本文后續(xù)的內(nèi)容更加準(zhǔn)確府怯,咱先從定義什么是安全通信鏈路(secure connections)開(kāi)始。
隨著互聯(lián)網(wǎng)和互聯(lián)網(wǎng)應(yīng)用的發(fā)展跨新,特別是在中國(guó)內(nèi)地富腊,我們的日常生活已經(jīng)徹底離不開(kāi)”連接“。比如昨天晚上筆者帶孩子和家人出去域帐,路過(guò)新竹路保利時(shí)代附近看到有藥店赘被,妻子臨時(shí)決定下車給孩子買抗過(guò)敏的藥是整,誰(shuí)知道這一去竟然花費(fèi)了半個(gè)小時(shí)(預(yù)期在10分鐘內(nèi),因?yàn)檫@個(gè)藥很常見(jiàn)民假,也不是最近非常敏感的感冒藥)浮入,買回來(lái)一問(wèn)原因,智鹿大藥房的網(wǎng)絡(luò)出現(xiàn)故障羊异,因此所有人必須排隊(duì)事秀,然后店員用本子記錄每一筆銷售記錄,這就非骋安埃花費(fèi)時(shí)間了易迹。從這個(gè)場(chǎng)景可見(jiàn)一斑,我們對(duì)網(wǎng)絡(luò)的依賴可能遠(yuǎn)遠(yuǎn)超過(guò)我們的認(rèn)知平道。
咱們來(lái)看另外一個(gè)例子睹欲,雖然說(shuō)大部分的銀行現(xiàn)在都有自己的App,不過(guò)在5年前網(wǎng)銀還占據(jù)主流一屋,我們通過(guò)自己的瀏覽器打開(kāi)銀行的網(wǎng)絡(luò)銀行頁(yè)面窘疮,哪個(gè)綠色的padlock讓我們可以安心的輸入自己的銀行卡賬號(hào)和密碼,而不用太擔(dān)心自己的賬號(hào)被竊取冀墨。如果我們扒開(kāi)這個(gè)綠色的padlock闸衫,支撐這種安全連接主要由兩部分組成:
- 首先你需要非常小心的確認(rèn)打開(kāi)的網(wǎng)站是真的銀行網(wǎng)絡(luò)銀行網(wǎng)站,這通過(guò)瀏覽器驗(yàn)證網(wǎng)站證書來(lái)實(shí)現(xiàn)诽嘉。
- 其次當(dāng)我們?cè)诖蜷_(kāi)的頁(yè)面上輸入銀行卡和個(gè)人隱私信息的時(shí)候蔚出,數(shù)據(jù)在通信鏈路上進(jìn)行了加密,來(lái)確保即便在中間節(jié)點(diǎn)有惡意攻擊者在偵聽(tīng)通信數(shù)據(jù)含懊,也無(wú)法對(duì)解析這密文從而讓賬戶受損身冬。
這種通信鏈路的安全通常由HTTPS協(xié)議提供,簡(jiǎn)單說(shuō)HTTPS就是安全的HTTP協(xié)議岔乔。這種安全主要由傳輸層來(lái)保障酥筝,因此我們也習(xí)慣于把提供安全通信的手段稱作TLS(Transport layer security)。說(shuō)到這里雏门,可能有同學(xué)會(huì)說(shuō)嘿歌,我還聽(tīng)說(shuō)過(guò)SSL(secure socket layer),這個(gè)和HTTPS以及TLS有啥關(guān)系茁影?本質(zhì)上都是一回事宙帝,由于傳輸層是安全手段實(shí)施的地方,因此業(yè)界逐步用TLS來(lái)替換SSL這個(gè)術(shù)語(yǔ)募闲。SSL規(guī)范是網(wǎng)景(Netscape)公司在1995年發(fā)布的通信安全規(guī)范步脓,互聯(lián)網(wǎng)工程任務(wù)組(IETF)基于網(wǎng)景公司的SSL v3.0在1999年發(fā)布了國(guó)際標(biāo)準(zhǔn)TLS v1.0,目前業(yè)界主要使用的是TLS v1.3。
因此無(wú)論是叫SSL還是TLS靴患,本質(zhì)上解決的兩個(gè)通過(guò)網(wǎng)絡(luò)連接的實(shí)體之間安全通信鏈路的問(wèn)題仍侥。不過(guò)讓人奔潰的是,經(jīng)過(guò)了大約20多年的發(fā)展鸳君,還有相當(dāng)一部分人繼續(xù)把這種安全鏈路機(jī)制稱作是SSL證書機(jī)制农渊,即便是國(guó)際標(biāo)準(zhǔn)TLS已經(jīng)更新了三個(gè)版本。你以為這就完了或颊,實(shí)際上如果你從事的是安全領(lǐng)域砸紊,這兩種叫法都不是太準(zhǔn)確,準(zhǔn)確來(lái)說(shuō)囱挑,我們應(yīng)該稱這些證書為X.509證書醉顽,因?yàn)樵趥鬏攲樱╰ransport layer)上使用的秘鑰都是通過(guò)X.509證書來(lái)交換∑教簦總結(jié)一下筆者覺(jué)得如果你不是從事專業(yè)的安全領(lǐng)域徽鼎,為了統(tǒng)一語(yǔ)言,大家還是稱之為TLS會(huì)更加實(shí)用弹惦,也不會(huì)產(chǎn)生很多誤解。
證書的格式由ITU(International Telecommunications Union)定義悄但,也就是前文提到的X.509格式證書棠隐,大白話說(shuō)就是一個(gè)數(shù)據(jù)結(jié)構(gòu),里邊包含了證書持有者的identity信息檐嚣,公鑰信息等(希望讀者還記得咱們前邊關(guān)于非對(duì)稱加密算法文章內(nèi)容助泽,公鑰加密就是非對(duì)稱加密,通常會(huì)產(chǎn)生一對(duì)秘鑰:公鑰和私鑰)嚎京。如下圖是一張證書的示意圖嗡贺,包含了證書持有者的信息,秘鑰和過(guò)期時(shí)間等:
從上邊的示意圖我們可以清晰的看到證書包含的關(guān)鍵信息包含:
- 證書的持有者唯一標(biāo)識(shí)符信息(云攀)鞍帝,我們通常把證書頒發(fā)給的實(shí)體(entity)也稱作subject诫睬,而subject的名稱一般在網(wǎng)絡(luò)通信領(lǐng)域?yàn)閐omain name的形式,比如http://wwww.example.com 之類的帕涌,在真實(shí)使用場(chǎng)景中摄凡,證書還包含一個(gè)叫subject alternative name的字段,用來(lái)提供靈活性
- subject的公鑰信息
- 證書的辦法機(jī)構(gòu)名稱
- 證書的有效期蚓曼,比如上圖中的2099-11-28
咱們來(lái)說(shuō)說(shuō)這個(gè)公鑰字段亲澡,非對(duì)稱加密需要一對(duì)秘鑰,公鑰和私鑰纫版,如其名所指床绪,公鑰就是公鑰的秘鑰的意思,任何人都可以獲取到網(wǎng)站的公鑰。和公鑰對(duì)應(yīng)的是私鑰癞己,私鑰信息應(yīng)該保證機(jī)密性膀斋,只有owner才知道的信息。
我們通過(guò)openssl這樣的工具創(chuàng)建證書的時(shí)候末秃,私鑰(private key)會(huì)首先被創(chuàng)建出來(lái)概页,然后基于私鑰來(lái)計(jì)算創(chuàng)建公鑰(public key),公鑰和私鑰雖然看起來(lái)很簡(jiǎn)單练慕,但是使用場(chǎng)景和范圍遠(yuǎn)超大家的想象:
- 通過(guò)公鑰加密的信息惰匙,只有私鑰才能解密,這解決了數(shù)據(jù)在傳輸過(guò)程中的機(jī)密性铃将,也解決了秘鑰交換的問(wèn)題项鬼,因?yàn)楣€是可以通過(guò)公共渠道獲取的信息
- 私鑰可以用來(lái)對(duì)消息進(jìn)行簽名,這個(gè)簽名信息可以用公開(kāi)的公鑰進(jìn)行驗(yàn)證(verify)劲阎,用來(lái)證明”我是我“的問(wèn)題
咱們接下來(lái)請(qǐng)出愛(ài)麗斯女王和鮑勃領(lǐng)主绘盟,看看在王國(guó)內(nèi)安全的傳遞八卦信息是如何借助于公鑰和私鑰提供的加密和簽名能力的。女王可以通過(guò)自己的”寶箱“產(chǎn)生一對(duì)秘鑰:公鑰和私鑰悯仙。然后將公鑰讓信使帶給領(lǐng)主龄毡,這樣領(lǐng)主就可以用女王的公鑰來(lái)加密信息,然后將密文發(fā)送給女王锡垄,女王收到密文后沦零,從保險(xiǎn)箱中拿出自己的私鑰,對(duì)密文進(jìn)行解密货岭,就獲知了領(lǐng)主發(fā)送給自己的八卦信息路操。
但是這里有個(gè)問(wèn)題,不知道大家是否覺(jué)察到千贯?當(dāng)女王讓信使將自己的公鑰穿越荒蠻之地帶給領(lǐng)主的時(shí)候屯仗,領(lǐng)主如何能夠相信這個(gè)公鑰就是女王的?換句話說(shuō)搔谴,如果信使換成自己公鑰魁袜,或者半路上信使被斯塔克城堡主給活捉了,然后信使和斯塔克城堡主做了交易敦第,信使帶著斯塔克城堡主的公鑰去見(jiàn)領(lǐng)主慌核,這都是可能存在的場(chǎng)景。其實(shí)這種場(chǎng)景在我們?nèi)粘I钪须S處可見(jiàn)申尼,過(guò)去幾年網(wǎng)絡(luò)上流行的段子”證明你媽是你媽“要解決的就是這個(gè)問(wèn)題垮卓。
為了讓領(lǐng)主能夠驗(yàn)證收到的證書的確來(lái)自于女王,我們需要在通信雙方之間引入大家都信任的第三方师幕,通過(guò)第三方公證機(jī)構(gòu)來(lái)為證書的可信背書粟按,這在日常生活中就是派出所诬滩,而在安全中心中叫證書中心,證書頒發(fā)中心(certificate authority)灭将。
證書中心疼鸟,或者也叫CA,是一個(gè)被廣泛信任的機(jī)構(gòu)庙曙,主要的職責(zé)就是證書管理空镜,包括證書的簽發(fā),驗(yàn)證等工作捌朴。CA在安全通信的場(chǎng)景中主要用來(lái)解決證書的可信任性問(wèn)題吴攒,舉個(gè)例子,當(dāng)我們打開(kāi)一個(gè)”自認(rèn)為“是招商銀行的網(wǎng)站砂蔽,我們的瀏覽器收到對(duì)端的證書后洼怔,需要驗(yàn)證兩個(gè)信息:第一個(gè)是證書是否頒發(fā)給這個(gè)URL;第二個(gè)是頒發(fā)證書的機(jī)構(gòu)是否可信左驾。
第一個(gè)問(wèn)題比較容易解決镣隶,證書中的subject name和alternative subjec name可以用來(lái)驗(yàn)證訪問(wèn)的網(wǎng)站是否為釣魚網(wǎng)站,而第二個(gè)問(wèn)題就沒(méi)有那么檢查诡右,我們?nèi)绾涡湃晤C發(fā)證書的CA安岂?如果解決這問(wèn)題的方案是再引入一個(gè)第三方,那么誰(shuí)能為這個(gè)新引入的第三方可信背書呢帆吻?解決這種循環(huán)依賴的問(wèn)題就是self-signed證書嗜闻,一個(gè)特殊的X.509證書來(lái)為自己背書。如下圖所示的證書鏈桅锄,女王的證書又鮑勃簽發(fā),鮑勃的證書由卡爾簽發(fā)样眠,卡爾通過(guò)self-signed類型的證書為自己背書:
有了卡洛提供的這種self-signed的自驗(yàn)證證書友瘤,我們就解決了這種先后雞還是先有蛋的問(wèn)題。通常情況下瀏覽器都默認(rèn)安裝了一批可信的證書檐束,這些證書頒發(fā)自可信的CA辫秧,我們也把辦法這些證書的機(jī)構(gòu)稱作為根CA(root CAs)。具體來(lái)說(shuō)我們的瀏覽器會(huì)信任任何來(lái)自于這些根CA簽發(fā)的證書被丧,以及證書鏈盟戏,如果訪問(wèn)網(wǎng)站提供的證書不是來(lái)自于可信的證書中心CA,那么瀏覽器會(huì)顯示錯(cuò)誤甥桂,相信大家應(yīng)該在瀏覽器上看到過(guò)類似的證書風(fēng)險(xiǎn)提醒信息柿究。
如果我們希望自己的網(wǎng)站能夠被公網(wǎng)用戶訪問(wèn),那么我們就需要提供一個(gè)來(lái)自于受信證書頒發(fā)機(jī)構(gòu)簽發(fā)的證書黄选,比如阿里云就提供這樣的服務(wù)蝇摸,有了這個(gè)證書后婶肩,我們就可以在將證書上傳到網(wǎng)站對(duì)應(yīng)的組件上,對(duì)外提供安全的HTTPS連接服務(wù)貌夕。在分布式系統(tǒng)的設(shè)計(jì)中律歼,不是所有組件都需要直接提供外部互聯(lián)網(wǎng)用戶的直接訪問(wèn),比如Kubernetes的API Server和ETCD之間的安全線路啡专,由于這是一種典型的內(nèi)網(wǎng)兩個(gè)組件之間的互操作险毁,因此這個(gè)證書是否被瀏覽器驗(yàn)證可信并不重要,重要的是兩個(gè)組件之間可以通過(guò)這個(gè)證書安全的通信们童。
無(wú)論是那種類型的證書畔况,通常情況下我們需要請(qǐng)求CA幫助我們產(chǎn)生需要的證書問(wèn)文件,證書通過(guò)CSR(Certificate Signing Request)請(qǐng)求發(fā)送給CA病附。CSR請(qǐng)求主要包含如下信息:
- 證書關(guān)聯(lián)的公鑰
- 證書簽發(fā)的域名(domain name)
- 證書簽發(fā)實(shí)體(entity)的企業(yè)基本信息问窃,比如公司名稱,公司的營(yíng)業(yè)執(zhí)照信息等
CSR請(qǐng)求會(huì)被發(fā)送給CA來(lái)生成X.509證書完沪,從上邊的信息的內(nèi)容可以看到和證書中包含的信息相匹配域庇。上邊描述的信息和大家通過(guò)openssl生成證書的步驟略微不同,因?yàn)樵蹅兺ㄟ^(guò)openssl來(lái)創(chuàng)建秘鑰對(duì)和證書是一步完成的覆积。如果深入到openssl的秘鑰創(chuàng)建過(guò)程听皿,你會(huì)發(fā)現(xiàn)openssl只接受唯一的參數(shù):私鑰來(lái)創(chuàng)建證書。
背后的原理想必大家也能理解宽档,因?yàn)楣€基于私鑰計(jì)算而成尉姨,接著openssl會(huì)基于私鑰來(lái)生成證書并簽名,整個(gè)證書生成過(guò)程中不會(huì)使用公鑰吗冤,因?yàn)楣€是用在對(duì)端對(duì)數(shù)據(jù)加密用又厉,并且對(duì)端的公鑰來(lái)自于從服務(wù)器上獲得的證書中。有了對(duì)證書的初步了解之后椎瘟,接下來(lái)咱們可以聊聊TLS(Transport Layer security)機(jī)制了置媳。
傳輸層的安全鏈路的建立由客戶端發(fā)起(client)列敲,而響應(yīng)請(qǐng)求的一端叫做服務(wù)端(server),并且從技術(shù)原理的角度看,客戶端和服務(wù)器端的概念只在傳輸層有效杰扫,因?yàn)樵趥鬏攲又戏朊悖覀円话惆淹ㄐ诺膬啥朔Q作peers舷嗡。具體來(lái)說(shuō)客戶端打開(kāi)網(wǎng)絡(luò)套接字socket發(fā)送請(qǐng)求給服務(wù)端毁腿,對(duì)于安全鏈路來(lái)說(shuō),服務(wù)端收到請(qǐng)求后會(huì)首先返回證書(certificate)仇冯。
客戶端收到服務(wù)端返回的證書后之宿,可以從中extract兩個(gè)非常重要的信息:服務(wù)器端標(biāo)識(shí)和公鑰信息。server identify連同證書會(huì)被客戶端進(jìn)行驗(yàn)證苛坚,驗(yàn)證證書是否有效以及來(lái)自于可信機(jī)構(gòu)頒發(fā)澈缺,以及證書中的domain name和訪問(wèn)的是否一致(預(yù)防釣魚網(wǎng)站)坪创。如果驗(yàn)證通過(guò),客戶端會(huì)用證書中的公鑰來(lái)和服務(wù)器端建立后續(xù)溝通需要的對(duì)稱加密秘鑰(symmetirc key)姐赡,至于為什么用對(duì)稱加密秘鑰莱预,主要原因是對(duì)稱加密的效率,具體的數(shù)據(jù)原理筆者會(huì)在后續(xù)安全基礎(chǔ)類文章中介紹项滑,大白話說(shuō)就是對(duì)稱加密基于bit操作而非對(duì)稱加密基于數(shù)學(xué)計(jì)算依沮,因此對(duì)稱加密的效率要高很多。如下圖所示:
大家在實(shí)際代碼開(kāi)發(fā)的過(guò)程中枪狂,肯定聽(tīng)說(shuō)過(guò)skip verify機(jī)制危喉,大白話說(shuō)就是在客戶端關(guān)閉對(duì)證書的驗(yàn)證,假設(shè)證書提供的信息可信州疾,這主要是為了方便開(kāi)發(fā)辜限。但是在生產(chǎn)環(huán)境中千萬(wàn)不要開(kāi)啟這個(gè)配置,因?yàn)槲覀冃枰蕾囉诳蛻舳说淖C書驗(yàn)證機(jī)制來(lái)確保服務(wù)端的真實(shí)有效严蓖。另外上圖中也把服務(wù)端對(duì)客戶端證書的verify表示出來(lái)了薄嫡,特別是在金融領(lǐng)域,服務(wù)區(qū)需要知道持有這個(gè)賬戶的客戶和聲稱的一致颗胡,因此需要驗(yàn)證客戶端的證書來(lái)提供敏感賬戶信息毫深,比如余額等。
文章的最后我們來(lái)整體看看上邊描述的這些安全手段毒姨,對(duì)于容器實(shí)例間通信意味著什么哑蔫?基于筆者過(guò)往的經(jīng)驗(yàn),以下最佳實(shí)踐需要讀者在自己的項(xiàng)目中盡量遵守:
- 咱們?cè)诎惭bK8S集群或者配置K8S集群的某些組件的時(shí)候弧呐,會(huì)涉及到證書的安裝闸迷,大家要注意這些證書和我們所說(shuō)的secure容器間的鏈路或者公網(wǎng)到容器實(shí)例間鏈路不同,不是一回事俘枫。
- 作為開(kāi)發(fā)人員腥沽,我們編寫代碼的時(shí)候可能需要設(shè)置安全訪問(wèn)鏈路,比如支持HTTPS訪問(wèn)崩哩,那么就需要手動(dòng)的來(lái)進(jìn)行證書的管理和更新。不過(guò)筆者建議大家考慮使用服務(wù)網(wǎng)格的邊車容器模式來(lái)替換言沐。
證書在分布式系統(tǒng)中已經(jīng)被當(dāng)做基礎(chǔ)設(shè)施來(lái)對(duì)待了邓嘹,由于證書本身包含敏感信息,因此大家需要在自己的應(yīng)用中险胰,特別是K8S集群中安全的管理這類隱私數(shù)據(jù)汹押。筆者在K8S集群系列文章中有關(guān)于secret管理的詳細(xì)介紹,不過(guò)我們下篇文章還是會(huì)從容器安全的角度進(jìn)行抽象和信息梳理起便。
整個(gè)基于證書的安全體系很健全棚贾,但是如果私鑰的管理出現(xiàn)安全問(wèn)題窖维,我們所做的所有努力就將付之一炬。因此在大部分安全要求高的業(yè)務(wù)場(chǎng)景中妙痹,除了證書機(jī)制之外铸史,我們還需從流程上保證證書定期更換∏右粒考慮到證書的數(shù)量以及更換可能導(dǎo)致的各種手動(dòng)配置工作造成的風(fēng)險(xiǎn)琳轿,筆者強(qiáng)力建議采用自動(dòng)的證書定期更換,以及使用像阿里云提供的KMS這樣的托管秘鑰管理服務(wù)來(lái)streamline這個(gè)過(guò)程耿芹。
好了崭篡,今天這篇文章就這么多了,下篇文章咱們來(lái)介紹在Kubernetes中如何安全的管理隱私信息吧秕,敬請(qǐng)期待琉闪!
注:在Kubernetes集群中,kublet和API Server之間需要證書的支持來(lái)進(jìn)行https通信砸彬,并且使用的證書可以被很方便的替換颠毙;另外所有調(diào)用API Server提供的服務(wù)接口的客戶端都需要證書來(lái)證明的identity。不過(guò)由于Kuberntes集群的特殊性拿霉,目前還不支持證書回收(certificate revocation)吟秩。我們需要使用RBAC來(lái)顯示的聲明某些賬戶對(duì)不可訪問(wèn)性。