日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)kubernetes教程:KubernetesAPI訪問控制

用戶使用 ?kubectl?、客戶端庫(kù)或通過發(fā)出 REST 請(qǐng)求來訪問 Kubernetes API。 human用戶和 Kubernetes 服務(wù)帳戶都可以被授權(quán)訪問 API。 當(dāng)請(qǐng)求到達(dá) API 時(shí),它會(huì)經(jīng)歷幾個(gè)階段,如下圖所示:

專注于為中小企業(yè)提供做網(wǎng)站、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)岫巖免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

運(yùn)輸安全

在典型的 Kubernetes 集群中,API 服務(wù)于端口 443,受 TLS 保護(hù)。 API 服務(wù)器提供一個(gè)證書。 該證書可以使用私有證書頒發(fā)機(jī)構(gòu) (CA) 進(jìn)行簽名,也可以基于鏈接到公認(rèn) CA 的公鑰基礎(chǔ)設(shè)施進(jìn)行簽名。

如果您的集群使用私有證書頒發(fā)機(jī)構(gòu),您需要將該 CA 證書的副本配置到客戶端的 ?~/.kube/config? 中,以便您可以信任連接并確信它沒有被攔截。

您的客戶端可以在此階段出示 TLS 客戶端證書。

驗(yàn)證

建立 TLS 后,HTTP 請(qǐng)求將移至身份驗(yàn)證步驟。這在圖中顯示為步驟 1。集群創(chuàng)建腳本或集群管理員將 API 服務(wù)器配置為運(yùn)行一個(gè)或多個(gè) Authenticator 模塊。

身份驗(yàn)證步驟的輸入是整個(gè) HTTP 請(qǐng)求;但是,它通常會(huì)檢查標(biāo)頭和/或客戶端證書。

身份驗(yàn)證模塊包括客戶端證書、密碼和普通令牌、引導(dǎo)令牌和 JSON Web 令牌(用于服務(wù)帳戶)。

可以指定多個(gè)認(rèn)證模塊,依次嘗試每一個(gè),直到其中一個(gè)成功。

如果請(qǐng)求無法通過身份驗(yàn)證,則會(huì)以 HTTP 狀態(tài)代碼 401 拒絕該請(qǐng)求。否則,用戶將作為特定用戶名進(jìn)行身份驗(yàn)證,并且該用戶名可供后續(xù)步驟在其決策中使用。一些身份驗(yàn)證器還提供用戶的組成員身份,而其他身份驗(yàn)證器不提供。

雖然 Kubernetes 使用用戶名進(jìn)行訪問控制決策和請(qǐng)求日志記錄,但它沒有用戶對(duì)象,也沒有在其 API 中存儲(chǔ)用戶名或其他有關(guān)用戶的信息。

授權(quán)

在請(qǐng)求被驗(yàn)證為來自特定用戶之后,該請(qǐng)求必須被授權(quán)。 這在圖中顯示為步驟 2。

請(qǐng)求必須包含請(qǐng)求者的用戶名、請(qǐng)求的操作以及受該操作影響的對(duì)象。 如果現(xiàn)有策略聲明用戶有權(quán)完成所請(qǐng)求的操作,則該請(qǐng)求被授權(quán)。

例如,如果 Bob 具有以下策略,那么他只能讀取命名空間 ?projectCaribou ?中的 pod:

{
    "apiVersion": "abac.authorization.kubernetes.io/v1beta1",
    "kind": "Policy",
    "spec": {
        "user": "bob",
        "namespace": "projectCaribou",
        "resource": "pods",
        "readonly": true
    }
}

如果 Bob 發(fā)出以下請(qǐng)求,則該請(qǐng)求被授權(quán),因?yàn)樵试S他讀取 ?projectCaribou ?命名空間中的對(duì)象:

{
  "apiVersion": "authorization.K8S.io/v1beta1",
  "kind": "SubjectAccessReview",
  "spec": {
    "resourceAttributes": {
      "namespace": "projectCaribou",
      "verb": "get",
      "group": "unicorn.example.org",
      "resource": "pods"
    }
  }
}

如果 Bob 請(qǐng)求寫入(?create?或?update?)?projectCaribou ?命名空間中的對(duì)象,他的授權(quán)將被拒絕。如果 Bob 請(qǐng)求讀?。?get?)不同命名空間(例如 ?projectFish?)中的對(duì)象,那么他的授權(quán)將被拒絕。

Kubernetes 授權(quán)要求您使用通用 REST 屬性與現(xiàn)有的組織范圍或云提供商范圍的訪問控制系統(tǒng)進(jìn)行交互。使用 REST 格式很重要,因?yàn)檫@些控制系統(tǒng)可能會(huì)與 Kubernetes API 之外的其他 API 交互。

Kubernetes 支持 ABAC 模式、RBAC 模式、Webhook 模式等多種授權(quán)模塊。當(dāng)管理員創(chuàng)建集群時(shí),他們配置應(yīng)該在 API 服務(wù)器中使用的授權(quán)模塊。如果配置了多個(gè)授權(quán)模塊,Kubernetes 會(huì)檢查每個(gè)模塊,如果有任何模塊授權(quán)請(qǐng)求,則請(qǐng)求可以繼續(xù)。如果所有模塊都拒絕該請(qǐng)求,則該請(qǐng)求被拒絕(HTTP 狀態(tài)代碼 403)。

準(zhǔn)入控制

準(zhǔn)入控制模塊是可以修改或拒絕請(qǐng)求的軟件模塊。除了授權(quán)模塊可用的屬性外,準(zhǔn)入控制模塊還可以訪問正在創(chuàng)建或修改的對(duì)象的內(nèi)容。

準(zhǔn)入控制器對(duì)創(chuàng)建、修改、刪除或連接(代理)對(duì)象的請(qǐng)求進(jìn)行操作。準(zhǔn)入控制器不會(huì)對(duì)僅讀取對(duì)象的請(qǐng)求進(jìn)行操作。配置多個(gè)準(zhǔn)入控制器時(shí),按順序調(diào)用。

這在圖中顯示為步驟 3。

與身份驗(yàn)證和授權(quán)模塊不同,如果任何準(zhǔn)入控制器模塊拒絕,則請(qǐng)求會(huì)立即被拒絕。

除了拒絕對(duì)象,準(zhǔn)入控制器還可以為字段設(shè)置復(fù)雜的默認(rèn)值。

一旦請(qǐng)求通過了所有準(zhǔn)入控制器,就會(huì)使用相應(yīng) API 對(duì)象的驗(yàn)證例程對(duì)其進(jìn)行驗(yàn)證,然后將其寫入對(duì)象存儲(chǔ)(如步驟 4 所示)。

Auditing

Kubernetes auditing提供了一組與安全相關(guān)的、按時(shí)間順序排列的記錄,記錄了集群中的操作順序。 集群審核用戶、使用 Kubernetes API 的應(yīng)用程序以及控制平面本身生成的活動(dòng)。

API 服務(wù)器端口和 IP

前面的討論適用于發(fā)送到 API 服務(wù)器安全端口的請(qǐng)求(典型情況)。 API 服務(wù)器實(shí)際上可以在 2 個(gè)端口上服務(wù):

默認(rèn)情況下,Kubernetes API 服務(wù)器在 2 個(gè)端口上提供 HTTP:

  1. 本地主機(jī)端口:
    • 用于測(cè)試和引導(dǎo),以及主節(jié)點(diǎn)的其他組件(調(diào)度程序、控制器管理器)與 API 對(duì)話
    • 沒有 TLS
    • 默認(rèn)為 8080 端口
    • 默認(rèn) IP 是 localhost,使用 ?--insecure-bind-address? 標(biāo)志進(jìn)行更改。
    • 請(qǐng)求繞過身份驗(yàn)證和授權(quán)模塊。
    • 由準(zhǔn)入控制模塊處理的請(qǐng)求。
    • 受需要擁有主機(jī)訪問權(quán)限的保護(hù)
  2. “安全端口”:
    • 盡可能使用
    • 使用 TLS。 使用 ?--tls-cert-file? 設(shè)置證書,使用 ?--tls-private-key-file? 標(biāo)志設(shè)置密鑰。
    • 默認(rèn)為端口 6443,使用 ?--secure-port? 標(biāo)志進(jìn)行更改。
    • 默認(rèn) IP 是第一個(gè)非本地主機(jī)網(wǎng)絡(luò)接口,使用 ?--bind-address? 標(biāo)志進(jìn)行更改。
    • 由身份驗(yàn)證和授權(quán)模塊處理的請(qǐng)求。
    • 由準(zhǔn)入控制模塊處理的請(qǐng)求。
    • 身份驗(yàn)證和授權(quán)模塊運(yùn)行。


本文題目:創(chuàng)新互聯(lián)kubernetes教程:KubernetesAPI訪問控制
文章地址:http://m.5511xx.com/article/djcsgpd.html