999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于服務(wù)網(wǎng)格的訪問控制的實(shí)踐研究

2024-05-16 12:09:54王兆熠于千慧袁迎迎魏星
中國新通信 2024年4期
關(guān)鍵詞:服務(wù)研究

王兆熠 于千慧 袁迎迎 魏星

摘要:云計(jì)算和微服務(wù)已經(jīng)成為廣大開發(fā)者和運(yùn)維人員的首選部署方案。它們具有更高的資源利用率、應(yīng)用間更低的耦合性和更靈活的架構(gòu)設(shè)計(jì)等優(yōu)點(diǎn),為人們提供了更多的選擇。雖然云計(jì)算和微服務(wù)降低了復(fù)雜系統(tǒng)的開發(fā)和運(yùn)維難度,但隨著服務(wù)和功能模塊的增加,對于外部和模塊間訪問的控制難度也越來越大。為了以更加簡單方便的方式進(jìn)行微服務(wù)的訪問控制,本文采用以文獻(xiàn)調(diào)查為輔、實(shí)踐為主的方法,基于Istio服務(wù)網(wǎng)格進(jìn)行微服務(wù)的訪問控制的研究與探索。通過實(shí)踐,本文發(fā)現(xiàn)借助Istio的安全能力,開發(fā)和運(yùn)維人員可以通過在Kubernetes中編寫和下發(fā)配置文件來方便地開啟或?qū)χ付ǚ?wù)配置更細(xì)粒度的訪問控制。新一代服務(wù)網(wǎng)格Istio提供了更方便、快捷和安全的信息安全把控和審計(jì)能力。

關(guān)鍵字:云計(jì)算;服務(wù)網(wǎng)格;Istio;訪問控制;Kubernetes

一、引言

(一)研究目的

軟件業(yè)務(wù)系統(tǒng)的不斷壯大,其所涉及的業(yè)務(wù)功能模塊和中間件也越來越多,這也導(dǎo)致了模塊的開發(fā)難度逐步增大,模塊間調(diào)用邏輯越發(fā)復(fù)雜。單體式架構(gòu)早已不能滿足當(dāng)今需求,其拓展性低、耦合度高、運(yùn)維難的缺點(diǎn)深受詬病。云計(jì)算和微服務(wù)的到來給了這一問題全新的解決思路,企業(yè)可以通過業(yè)務(wù)分解,將負(fù)責(zé)模塊間通信的部分抽離出來,讓研發(fā)人員專注于業(yè)務(wù)邏輯的研發(fā),而不用過多地關(guān)注其他的因素。然而,越來越多的服務(wù)數(shù)量也為服務(wù)間或外部訪問的控制帶來了難度。本文的目標(biāo)是探索訪問控制在服務(wù)網(wǎng)格(Istio)中的實(shí)踐方式和技術(shù)細(xì)節(jié)。

(二)研究背景與文獻(xiàn)綜述

Peter博士在2005年的一次云計(jì)算會議上首次使用了微服務(wù)這個(gè)術(shù)語。微服務(wù)誕生于一次架構(gòu)師大會,被用于描述許多架構(gòu)師正在嘗試的新型的架構(gòu)風(fēng)格之一。Netflix和亞馬遜是微服務(wù)的早期先驅(qū)者之一[1]。

微服務(wù)的架構(gòu)風(fēng)格是從小型、獨(dú)立的應(yīng)用程序中開發(fā)出復(fù)雜的應(yīng)用軟件,這些應(yīng)用程序使用獨(dú)立于語言的接口(API)相互通信。如果公司無法優(yōu)化長期以來形成的單體架構(gòu),那么業(yè)務(wù)架構(gòu)將難以升級或維護(hù),變得過于復(fù)雜。國內(nèi)學(xué)者對于云計(jì)算和微服務(wù)的研究較為深入。張玉超[2]在他的研究中表示,云計(jì)算具有規(guī)模大、資源利用高效、通用性強(qiáng)和成本低的特點(diǎn),這非常契合微服務(wù)所需要的基礎(chǔ)特性。借助云計(jì)算,企業(yè)可以以更經(jīng)濟(jì)、更高效的方式將應(yīng)用部署上云。張墨涵[3]等人提到,微服務(wù)間每個(gè)服務(wù)互相獨(dú)立,架構(gòu)靈活,服務(wù)職責(zé)單一。即便其中某個(gè)服務(wù)發(fā)生故障,也可以將影響面縮到最小,且有利于資源的伸縮。這非常適合應(yīng)用在當(dāng)今的云平臺環(huán)境。國內(nèi)學(xué)者同時(shí)發(fā)現(xiàn)了微服務(wù)訪問控制的重要性。潘孝陽[4]在他的研究中表明,微服務(wù)的設(shè)計(jì)暴露了更大的可攻擊面,服務(wù)間的通信更容易成為攻擊的目標(biāo)。其次,因?yàn)榉?wù)之間相互信任,所以如果某一個(gè)微服務(wù)被攻陷,可能會波及整個(gè)系統(tǒng)。因此,對微服務(wù)的訪問控制進(jìn)行設(shè)計(jì)非常重要。何修宇[5]提到,微服務(wù)運(yùn)行環(huán)境差異大又相互影響,傳統(tǒng)的權(quán)限控制方法難以適應(yīng),且權(quán)限管理規(guī)則復(fù)雜。業(yè)內(nèi)沒有統(tǒng)一標(biāo)準(zhǔn)的難題也說明了權(quán)限控制需要著重研究。

(三)研究方法與研究范圍

本文主要采用了文獻(xiàn)研究法和實(shí)驗(yàn)法兩種方法。通過文獻(xiàn)研究法,本文對研究背景和歷史進(jìn)行了學(xué)習(xí),并對已有的研究成果進(jìn)行了總結(jié)。這樣做可以建立對本次研究的宏觀認(rèn)知。同時(shí),本文還通過實(shí)驗(yàn)法在服務(wù)網(wǎng)格中應(yīng)用訪問控制,并確定了訪問控制的內(nèi)部邏輯和控制機(jī)制等。本文首先對微服務(wù)的變革進(jìn)行了探索,包括其演進(jìn)模式,每個(gè)階段的特性,以及對新一代服務(wù)網(wǎng)格Istio的研究。其次,本文對訪問控制的原理和部署進(jìn)行了實(shí)踐,對JWT和Istio的安全策略進(jìn)行了探索和學(xué)習(xí)。

二、微服務(wù)的變革

(一)微服務(wù)的演進(jìn)

過去,在業(yè)務(wù)項(xiàng)目中,快速開發(fā)和上線是最重要的考慮因素,導(dǎo)致對系統(tǒng)后期的發(fā)展、拓展性、健壯性和可用性不夠關(guān)注。隨著業(yè)務(wù)的發(fā)展,性能和需求滿足不了的問題逐步顯現(xiàn)。對于傳統(tǒng)的單體系統(tǒng)來說,所有模塊之間耦合緊密,功能邊界不清晰,調(diào)用關(guān)系錯(cuò)綜復(fù)雜,難以調(diào)整和排查問題。當(dāng)系統(tǒng)遇到性能瓶頸時(shí),只能通過負(fù)載均和多實(shí)例部署無法解決問題,無法對模塊進(jìn)行拆分和縱向擴(kuò)展。此外,由于高耦合特性,當(dāng)其中一個(gè)小模塊出現(xiàn)問題時(shí),可能會波及整個(gè)系統(tǒng),導(dǎo)致整體服務(wù)不可用。微服務(wù)是基于云原生架構(gòu)的一種方法,是SOA架構(gòu)模式的演變。微服務(wù)希望開發(fā)人員將龐大的系統(tǒng)劃分為不同的小模塊,解耦功能,并通過輕量級協(xié)議使服務(wù)協(xié)同工作。微服務(wù)具有以下特性:單一職責(zé)、輕量級通信、獨(dú)立性、進(jìn)程隔離、支持混合技術(shù)棧、簡化治理、易于維護(hù)。

在Phil的文章《Service Mesh》中[6],提出了微服務(wù)通信的演變過程。最初,開發(fā)人員希望兩個(gè)服務(wù)之間可以直接簡單通信,但實(shí)際情況非常復(fù)雜,網(wǎng)絡(luò)可能面臨丟包、錯(cuò)誤等問題。因此,開發(fā)人員需要單獨(dú)處理網(wǎng)絡(luò)問題,而不僅僅是業(yè)務(wù)邏輯。隨著TCP協(xié)議的出現(xiàn),網(wǎng)絡(luò)處理可以下沉,從業(yè)務(wù)服務(wù)中分離出來,成為系統(tǒng)網(wǎng)絡(luò)層的一部分。隨后,諸如Spring Cloud等分布式框架的出現(xiàn),實(shí)現(xiàn)了分布式系統(tǒng)所需的各種通用功能,如服務(wù)注冊,負(fù)載均衡,認(rèn)證授權(quán)等。這些框架在一定程度上封裝了底層邏輯,使開發(fā)人員能夠更快速地開發(fā)健壯的分布式系統(tǒng)。盡管Spring Cloud是一個(gè)出色的開發(fā)框架,但仍存在一些問題,如侵入性強(qiáng)、升級成本高、治理功能不完善、開發(fā)門檻高及不支持語言無關(guān)性。為解決這些問題,Service Mesh的出現(xiàn)為開發(fā)者帶來了全新的解決方案。作為基礎(chǔ)設(shè)施,Service Mesh可以與業(yè)務(wù)解耦,以Side Car(邊車)的形式部署,解決復(fù)雜環(huán)境下的微服務(wù)通信問題。

(二)服務(wù)網(wǎng)格

本文主要基于對Istio服務(wù)網(wǎng)格的研究。在云原生領(lǐng)域中,Istio和Kubernetes密不可分,因此備受關(guān)注。官方對Istio的描述是一個(gè)開放平臺,用于連接、加固安全、控制和觀察服務(wù)。“連接”代表能夠智能地控制服務(wù)之間的調(diào)用流量,實(shí)現(xiàn)灰度升級、AB測試和紅黑部署等功能;“加固安全”表示自動(dòng)為服務(wù)之間的調(diào)用提供認(rèn)證、授權(quán)和加密;“控制”保證資源在消費(fèi)者之間公平分配;“觀察”表示能夠查看服務(wù)運(yùn)行過程中的各種數(shù)據(jù),例如日志、監(jiān)控和tracing,以了解服務(wù)的運(yùn)行情況。

Istio擴(kuò)展了Kubernetes的能力,利用強(qiáng)大的Envoy服務(wù)代理建立了一個(gè)可編程的、應(yīng)用感知的網(wǎng)絡(luò)。Istio與Kubernetes協(xié)作,為大規(guī)模的服務(wù)部署管理提供了統(tǒng)一、通用的流量管理、遙測和安全方案。

為了提供統(tǒng)一的上層入口,服務(wù)網(wǎng)格(Istio)演化出了控制面的概念,如圖1所示。控制面負(fù)責(zé)和所有的數(shù)據(jù)面(即邊車組成的網(wǎng)絡(luò))進(jìn)行交互,例如下發(fā)策略,采集監(jiān)控?cái)?shù)據(jù)等。

三、訪問控制

(一)訪問控制的意義

訪問控制是系統(tǒng)安全基礎(chǔ)設(shè)施中的一個(gè)基本要素。每個(gè)網(wǎng)絡(luò)安全工程師都希望在不影響工作流程的情況下,應(yīng)用最小特權(quán)原則、零信任原則、職責(zé)分離或其他安全方案的原則。訪問控制的主要目的是限制對信息和功能系統(tǒng)的訪問。當(dāng)訪問控制功能正常工作時(shí),它可以降低信息在沒有正確授權(quán)的情況下被非法訪問和數(shù)據(jù)泄露的風(fēng)險(xiǎn)。Algimantas在他的研究中提到[7],訪問控制在確保基于微服務(wù)的系統(tǒng)的身份管理和網(wǎng)絡(luò)安全方面起著關(guān)鍵作用。訪問控制是微服務(wù)架構(gòu)的一個(gè)重要功能組件,因?yàn)樗?guī)范了對每個(gè)微服務(wù)內(nèi)部資源的訪問,并幫助維護(hù)數(shù)據(jù)的保密性和完整性。微服務(wù)中的訪問控制有助于執(zhí)行安全策略,防止對API、數(shù)據(jù)存儲和其他資源的未授權(quán)訪問。這確保只有經(jīng)過授權(quán)的實(shí)體才能訪問敏感信息。此外,訪問控制有助于增強(qiáng)審計(jì)功能,可以更方便地記錄誰在什么時(shí)間訪問了哪些資源。

(二)JSON Web Token

提到訪問控制,JWT是其中不可或缺的一環(huán)。JWT的全稱為Json Web Token,它是一個(gè)用于安全地以JSON的格式傳輸信息的標(biāo)準(zhǔn)(RFC 7519)。JWT是一種基于令牌(Token)的無狀態(tài)認(rèn)證機(jī)制。由于它是一個(gè)基于客戶端的無狀態(tài)會話,服務(wù)器不必完全依賴數(shù)據(jù)存儲介質(zhì)來保存會話信息。一個(gè)正確的JWT通常由三部分組成,分別是頭部(Header)、負(fù)載 (Payload)和簽名(Signature)。這三部分之間由英文的句點(diǎn)進(jìn)行分隔。頭部部分主要聲明了Token的類型和加密所使用的算法。負(fù)載部分的信息相對豐富,可以使用鍵值對格式自定義字段,當(dāng)然,也有一些預(yù)留字段用于聲明Token的簽發(fā)者、主體、過期時(shí)間等。簽名是其中最重要的部分,它由加密后的頭部和負(fù)載計(jì)算而來,用于確定Token的信息是否被非法篡改。用戶在訪問目標(biāo)資源時(shí),需要在請求的頭部中加入”Authorization: Bearer ”字段來進(jìn)行訪問。服務(wù)端收到請求后會對JWT進(jìn)行驗(yàn)證和解碼,以判斷身份是否合法以及獲取傳遞的信息。若JWT不正確或不傳遞,訪問將被拒絕。

(三)JSON Web Key

當(dāng)談及Istio的訪問控制時(shí),JWK同樣是必不可少的一個(gè)元素,并且與JWT相輔相成,共同完成了訪問控制的認(rèn)證和鑒權(quán)。JWK全稱是Json Web Key,顧名思義,它是一個(gè)密鑰,用于加密JWT。JWK采用鍵值(Key-Value)形式。在JWK中,常見的字段有:Kty(加密算法類型)、Use(密鑰用途)、Sig(簽名)、Alg(密鑰算法)和Kid(密鑰標(biāo)識)。

(四)訪問控制在Istio中的實(shí)現(xiàn)

1.環(huán)境準(zhǔn)備

①準(zhǔn)備一臺安裝有Linux(Ubuntu或CentOS)系統(tǒng)的電腦或虛擬機(jī);②在設(shè)備中安裝好Docker和Kubernetes;③安裝Istio;④在期望的命名空間中安裝Istio的Bookinfo示例;⑤對集群和網(wǎng)格進(jìn)行調(diào)試,確保Bookinfo相關(guān)服務(wù)部署后可以正常訪問。

2.訪問控制的實(shí)踐

研究實(shí)踐的目的是為Productpage服務(wù)創(chuàng)建訪問控制規(guī)則,以確保只有攜帶正確Token的請求才能正常訪問Productpage服務(wù)。在Istio中啟用訪問控制功能需要兩個(gè)組件資源,它們分別稱為訪問控制(RequestAuthentication)和認(rèn)證策略(AuthorizationPolicy)。在Istio中,認(rèn)證策略的工作模式如圖2所示,以外部用戶訪問網(wǎng)格內(nèi)的服務(wù)為例。

首先,用戶需向認(rèn)證服務(wù)器請求一個(gè)JWT。該JWT使用加密密鑰JWK和相關(guān)負(fù)載信息生產(chǎn)。用戶攜帶JWT請求目標(biāo)服務(wù)時(shí),首先要經(jīng)過服務(wù)網(wǎng)格的網(wǎng)關(guān)IngressGateway。網(wǎng)關(guān)將流量導(dǎo)向目標(biāo)容器。流量進(jìn)入該容器時(shí),將被邊車劫持。邊車負(fù)責(zé)對JWT進(jìn)行校驗(yàn),如果合法有效,則允許訪問通過;否則,訪問將被拒絕。邊車中的相關(guān)配置由上文提到的Istio控制面下發(fā)。因此,在相關(guān)配置中,需要聲明密鑰信息和token中的信息用于解密和驗(yàn)證。在某些情況下,也需要通過聲明來決定哪些特定的服務(wù)需要開啟訪問控制功能。

在上面兩個(gè)配置文件樣例中,配置文件通過selector標(biāo)簽選擇器進(jìn)行指定資源的選擇,這個(gè)selector和k8s中的selector一致。

在部署時(shí),上述兩個(gè)配置文件缺一不可,必須同時(shí)存在,訪問控制功能才能被正確地開啟。當(dāng)然,訪問控制的范圍可以不局限于指定的應(yīng)用,還可以是k8s中的某個(gè)命名空間或者整個(gè)k8s集群。下面以RequestAuthentication配置為例。

通過觀察上述配置,可以發(fā)現(xiàn)控制范圍的主要參數(shù)為Selector和Namespace。當(dāng)存在Selector時(shí),訪問控制的生效范圍被縮小到指定的應(yīng)用 (或者是容器)上。當(dāng)Selector不存在,Namespace參數(shù)為Istio-System以外的集群名稱時(shí),生效范圍為指定的命名空間。當(dāng)Namespace參數(shù)為Istio-System,即Istio的安裝命名空間時(shí),生效范圍為整個(gè)集群。部署成功后,用戶需要在請求的Header中攜帶正確的Token來進(jìn)行訪問。若Token信息錯(cuò)誤或未攜帶Token,都會提示訪問錯(cuò)誤。這里使用Curl命令對服務(wù)進(jìn)行訪問測試。

四、結(jié)束語

當(dāng)下越來越多的業(yè)務(wù)系統(tǒng)或數(shù)字化解決方案正被部署在現(xiàn)代化的平臺上,例如各大廠商的云平臺。同時(shí),越來越多的開發(fā)者傾向于使用容器化和微服務(wù)的方式來構(gòu)建他們的程序。在過去,諸如負(fù)載均衡和路由等基礎(chǔ)能力是與軟件能力融為一體的;然而,現(xiàn)在云平臺將這些能力集成或封裝起來,使開發(fā)者能夠更方便地使用。云計(jì)算和微服務(wù)的流行降低了復(fù)雜業(yè)務(wù)場景的開發(fā)和后續(xù)維護(hù)難度,但也給外部訪問或服務(wù)間訪問的控制和審計(jì)帶來了挑戰(zhàn)。

借助Istio服務(wù)網(wǎng)格的能力,開發(fā)者可以輕松地接管網(wǎng)格內(nèi)部流量,對微服務(wù)進(jìn)行流量和安全上的統(tǒng)一管控和配置。通過Istio的安全策略配置,開發(fā)者和運(yùn)維人員可以輕松地基于JWT對訪問進(jìn)行把控,這是一種更為簡單、有效、安全、可靠的訪問控制體系。

作者單位:王兆熠 于千慧 袁迎迎 魏星 中國聯(lián)合網(wǎng)絡(luò)通信有限公司濟(jì)南軟件研究院

參考文獻(xiàn)

[1]? Laura Mauersberger. Microservices: What They Are and Why Use Them [EB/OL]. 2017-08-14[2023-06-01]. https://www.leanix.net/en/blog/a-brief-history-of-microservices.

[2] 張玉超.計(jì)算機(jī)網(wǎng)絡(luò)與云計(jì)算技術(shù)的應(yīng)用[J].集成電路應(yīng)用,2023,40(02): 44-46.

[3] 張墨涵,王雪英,沈?qū)W東等. 微服務(wù)架構(gòu)技術(shù)與挑戰(zhàn)[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用, 2023(02):3-4.

[4] 潘孝陽,黃曉芳.微服務(wù)框架的安全管控機(jī)制的設(shè)計(jì)[J].西南科技大學(xué)學(xué)報(bào),2018,33(4):71-75.

[5] 何修宇.微服務(wù)環(huán)境下訪問控制技術(shù)的研究與應(yīng)用[D].北京郵電大學(xué), 2018.

[6]Phil Calcado. Pattern: Service Mesh [EB/OL]. [2023-06-01]. https://philcalcado.com/2017/08/03/pattern_service_mesh.html.

[7] Algimantas Venckauskas,Donatas Kukta,Sarunas Grigaliunas,Rasa Bruzgien? . Enhancing Microservices Security with Token-Based Access Control Method [EB/OL]. [2023-06-01]. https://doi.org/10.3390/s23063363.

中國聯(lián)合網(wǎng)絡(luò)通信有限公司濟(jì)南軟件研究院 - 平臺架構(gòu)項(xiàng)目集 - 應(yīng)用交付能力項(xiàng)目組。

王兆熠(1998.07-),男,漢族,山東濟(jì)南,碩士,初級工程師,研究方向:人工智能與云計(jì)算運(yùn)維研發(fā);

于千慧(2000.04-),女,漢族,山東煙臺,本科,研究方向:云計(jì)算運(yùn)維研發(fā);

袁迎迎(1996.05-),女,漢族,山東濰坊,碩士,初級工程師,研究方向:云計(jì)算運(yùn)維研發(fā);

魏星(1990.08-),男,漢族,山東臨沂,本科,初級工程師,研究方向:云計(jì)算運(yùn)維研發(fā)。

猜你喜歡
服務(wù)研究
FMS與YBT相關(guān)性的實(shí)證研究
2020年國內(nèi)翻譯研究述評
遼代千人邑研究述論
視錯(cuò)覺在平面設(shè)計(jì)中的應(yīng)用與研究
科技傳播(2019年22期)2020-01-14 03:06:54
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
EMA伺服控制系統(tǒng)研究
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
主站蜘蛛池模板: 91色在线观看| 婷婷午夜影院| 污网站在线观看视频| 国产第一福利影院| 日韩在线播放中文字幕| 国产在线91在线电影| 国产一区二区三区精品欧美日韩| 日韩精品亚洲一区中文字幕| 久久久四虎成人永久免费网站| 在线观看网站国产| 极品性荡少妇一区二区色欲| 午夜日b视频| 性色在线视频精品| 青草国产在线视频| 久久黄色影院| 3344在线观看无码| 她的性爱视频| 欧美日韩国产在线播放| 国产在线自乱拍播放| 亚洲日本一本dvd高清| 美女扒开下面流白浆在线试听| 欧美一道本| 国产91特黄特色A级毛片| 亚洲精品国产综合99| 国产无码网站在线观看| 久久精品无码一区二区国产区| 久久免费视频6| 亚洲国产亚综合在线区| 免费在线不卡视频| 高h视频在线| 强奷白丝美女在线观看| 91人妻在线视频| 亚洲视频二| 中国黄色一级视频| 亚洲黄色视频在线观看一区| а∨天堂一区中文字幕| 人妻丝袜无码视频| 欧美另类视频一区二区三区| 欧美一区二区自偷自拍视频| 男人天堂伊人网| 欧美第一页在线| 91黄色在线观看| 亚洲日韩日本中文在线| 欧美三级自拍| 亚洲成a人片7777| 91精品啪在线观看国产91| 国产成人无码AV在线播放动漫| 成人午夜在线播放| 97se亚洲| 国产精品美女免费视频大全| 日韩A∨精品日韩精品无码| 亚洲第一视频区| 中文字幕乱码中文乱码51精品| 亚洲国产综合精品中文第一| 亚洲欧洲日韩综合色天使| 国产精品太粉嫩高中在线观看| 国产尤物在线播放| 色婷婷在线播放| 2021亚洲精品不卡a| 就去色综合| 免费观看三级毛片| 久久黄色一级视频| 国产乱肥老妇精品视频| 国产小视频免费| 国产精品亚洲va在线观看| 老色鬼欧美精品| 91美女视频在线观看| 亚洲伊人天堂| 色综合综合网| 午夜少妇精品视频小电影| 国产在线拍偷自揄观看视频网站| 日韩欧美国产另类| 国产成人精品第一区二区| 四虎免费视频网站| 国产小视频a在线观看| 多人乱p欧美在线观看| 91精品免费高清在线| 国产小视频a在线观看| 亚洲综合片| 热这里只有精品国产热门精品| 日本AⅤ精品一区二区三区日| 五月婷婷欧美|