您好,登錄后才能下訂單哦!
本文主要給大家簡單講講實現Istio13:Istio基礎認證講析,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔實現Istio13:Istio基礎認證講析主題吧,希望可以給大家帶來一些實際幫助。
前言
微服務架構提供了更好的靈活性、可伸縮性以及服務復用的能力,但,微服務也有特殊的安全需求,Istio Security嘗試提供全面的安全解決方案。為了提供靈活的服務訪問控制,需要雙向 TLS 和細粒度的訪問策略。Istio 提供兩種類型的身份驗證:傳輸身份驗證和來源身份驗證。通過配置不同級別的認證策略,可以快速控制不同的安全訪問粒度。
典型的使用場景:
1.在未啟用雙向TLS的安裝好 Istio 的 Kubernetes 集群中,需要快速啟用全網格雙向TLS;
2.網格內某些服務之間需要使用雙向TLS,可以將這些服務放入同一命名空間并在命名空間啟用雙向TLS;
3.當單個服務需要啟用TLS時,可以在配置策略中通過spec字段指定;
認證策略是對服務收到的請求生效的,要在雙向 TLS 中指定客戶端認證策略,需要在DetinationRule 中設置 TLSSettings,每個認證策略需要和目的地規則共同生效。下面通過實例來演示在不同存儲范圍內配置傳輸身份認證策略的過程,來源身份驗證通過spec中的origins字段指定。
環境準備:裝好istio的集群,禁用全局雙向TLS;Httpbin應用鏡像和sleep應用鏡像
1.創建命名空間、部署應用
創建3個命名空間:foo、bar、legacy,foo和bar中部署帶sidecar的httpbin應用和sleep應用,legacy中部署不帶sidecar的httpbin應用和sleep應用。
將sleep作為客戶端,httpbin作為服務端,驗證客戶端服務端可達性
2.驗證系統中目前不存在認證策略
可以看到在foo、bar和legacy命名空間中沒有任何策略和規則
3.為網格中的所有服務啟用雙向TLS認證
配置網格認證策略:
配置目的地規則:
需要注意的是,網格范圍內的認證策略名稱必須是default,其它名稱的策略都會被拒絕和忽視,它的策略類型是MeshPolicy,不同于其它級別的策略類型
這些認證策略和目的地規則有效地配置了所有的sidecars,使服務在雙向TLS模式下收發請求。但是對不帶sidecar的服務并不適用。
可以看到上面有兩種連接不適用:從帶有 sidecar 的客戶端到不帶 sidecar 的服務端的連接以及從不帶 sidecar 的客戶端到帶有 sidecar 的服務端的連接。
① 為了修復從帶有 sidecar 的客戶端到不帶 sidecar 的服務端的連接,可以專門為這些服務端添加目的地規則來覆蓋 TLS 設置:
重新測試連接
當啟用全局雙向 TLS 認證時,這種方法也可以用來配置 Kubernetes 的 API 云服務器。
② 從不帶 sidecar 的客戶端到帶有 sidecar 的服務端(工作在雙向 TLS 模式)的連接,唯一的選擇是從雙向 TLS 模式切換到 PERMISSIVE 模式,該模式允許服務端接收 HTTP 或(雙向) TLS 流量
從 sleep.legacy 到 httpbin.foo 的請求應當是成功的,但是到 httpbin.bar 的請求依然會失敗。
可以配置策略為每一個命名空間單獨啟用雙向 TLS 而不必啟用全局雙向 TLS:
注意:命名空間范圍內的策略必須命名為 default,并且不限定任何特定的服務(沒有 targets 設置域)
添加相應的目的地規則:
測試連接:
由于當前配置的策略和目的地規則只對命名空間foo有效,可以看到,只有從不帶 sidecar 的客戶端 (sleep.legacy) 到 httpbin.foo 的請求會失敗。
5.為單個服務啟用雙向TLS
你也可以為某個特定的服務設置認證策略和目的地規則。執行以下命令只為 httpbin.bar 服務新增一項策略。
配置目的地規則:
假設我們已經為命名空間 foo 中所有的服務添加了啟用雙向 TLS 的命名空間層級的策略并且觀察到從 sleep.legacy 到 httpbin.foo 的請求都失敗了(見上文)。現在專門為 httpbin 服務添加額外的策略來禁用雙向 TLS (peers 域留空):
可以看到服務層級的策略覆蓋了命名空間層級的策略,連接成功。
對于以上關于實現Istio13:Istio基礎認證講析,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。