全部產品
Search
文件中心

Container Service for Kubernetes:吊銷叢集的KubeConfig憑證

更新時間:Jul 17, 2024

在常見的多租情境下,Container Service for Kubernetes會為不同使用者角色簽髮帶有其身份資訊的KubeConfig憑證用於串連叢集。當企業內部員工離職或是某簽發KubeConfig疑似泄露等情況發生時,吊銷該叢集的KubeConfig可有效保障叢集的安全。本文介紹阿里雲帳號(主帳號)或RAM使用者如何吊銷已經分發的使用者KubeConfig憑證。

使用須知

叢集限制

  • 吊銷KubeConfig憑證的叢集為ACK託管叢集ACK專有叢集時,叢集建立時間需為2019年10月15日之後。

  • 吊銷KubeConfig憑證的叢集為ACK Serverless叢集時,叢集建立時間需為2019年09月06日之後。

使用情境

吊銷KubeConfig憑證包含以下兩種情境:

  • 阿里雲帳號(主帳號)吊銷其管理範圍內(其所有RAM使用者)的KubeConfig憑證。

  • RAM使用者吊銷自身的KubeConfig憑證。

吊銷叢集的KubeConfig憑證後,系統會自動分配新的KubeConfig憑證。

阿里雲帳號(主帳號)吊銷其RAM使用者的KubeConfig憑證

重要

僅支援阿里雲帳號(主帳號)吊銷其他RAM使用者或RAM角色的KubeConfig憑證。

您可以使用阿里雲帳號(主帳號)登入控制台,進行如下操作。

  1. 登入Container Service管理主控台,在左側導覽列選擇授權管理

  2. 子帳號頁簽的使用者列表,單擊目標RAM用對應的管理KubeConfig,擷取該RAM使用者建立的叢集列表,然後按照對話方塊提示完成目的地組群的吊銷操作。

RAM使用者吊銷自身的KubeConfig憑證

您可以使用RAM使用者登入控制台,進行如下操作。

重要

吊銷KubeConfig後,對應RAM使用者無法再使用原KuberConfig串連叢集。請謹慎操作。

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇叢集資訊

  3. 單擊串連資訊頁簽,然後單擊紅色按鈕吊銷 KubeConfig,然後單擊確定

吊銷離職員工或非受信使用者的KubeConfig憑證

對於離職員工或非受信使用者,請您務必先使用阿里雲帳號(主帳號)吊銷離職使用者的KubeConfig許可權,然後再刪除對應的RAM使用者或RAM角色。因為僅刪除RAM使用者或RAM角色並不會同步刪除該使用者或角色擁有的叢集KubeConfig中的RBAC許可權。

重要

請您在刪除RAM使用者帳號之前,並確保其在指定叢集的KubeConfig沒有業務依賴的情況下,吊銷離職員工或非受信使用者的KubeConfig許可權。具體操作,請參見阿里雲帳號(主帳號)吊銷其RAM使用者的KubeConfig憑證

(不推薦)若離職員工或非受信使用者的RAM使用者帳號不小心被刪除,但還未吊銷該帳號的KubeConfig憑證,請根據以下情況操作。

展開查看已刪除RAM使用者時,如何吊銷該帳號的KubeConfig憑證

  • 對於還在資源回收筒的RAM使用者

    1. 從資源回收筒恢複RAM使用者的基本資料,無需恢複RAM使用者下原有的AccessKey。具體操作,請參見從資源回收筒恢複RAM使用者

    2. 使用阿里雲帳號吊銷使用者下發的所有叢集KubeConfig。具體操作,請參見上文阿里雲帳號(主帳號)吊銷其RAM使用者的KubeConfig憑證

    3. 將RAM使用者移入資源回收筒。具體操作,請參見將RAM使用者移入資源回收筒

  • 對於已徹底刪除的RAM使用者:需手動刪除叢集中以該RAM使用者或RAM角色ID開頭的RBAC許可權綁定。

    1. 叢集管理員執行以下命令,查看叢集所有ClusterRoleBinding。

      kubectl get clusterrolebinding

      其中,由Container Service for Kubernetes授權管理功能下發的綁定格式為xxxxxxx-clusterrolebindingxxxxxxx為指定RAM使用者或RAM角色ID,以數字2開頭表示RAM使用者綁定,以數字3開頭表示RAM角色綁定。

    2. 叢集管理員執行以下命,查看叢集中所有由Container Service for Kubernetes授權管理功能下發的RoleBinding。

      kubectl get rolebinding -A | grep 'cs:ns:' 

      其中,綁定名稱格式為xxxxxxx-yyyyy-rolebindingxxxxxxx為指定RAM使用者或RAM角色ID,以數字2開頭表示RAM使用者綁定,以數字3開頭表示RAM角色綁定。

    3. 對於以數字2開頭的RAM使用者ID,可登入RAM控制台,在使用者頁面搜尋方塊,查看當前ID對應的RAM使用者是否存在。如果搜尋結果為空白,則該RAM使用者的RBAC綁定執行個體需清理。

    4. 對於以數字3開頭的RAM角色ID,可通過RAM提供的列舉RAM角色的OpenAPI,查看當前使用中的RAM角色ID。如果叢集中存在的RAM角色ID不在當前列表中,則該RAM角色的RBAC綁定執行個體需清理。

    5. 對於需要清理的RBAC綁定執行個體,您可以執行kubectl delete clusterrolebinding xxxxxxx-clusterrolebinding或執行kubectl delete rolebinding xxxxxxx-yyyyy-rolebinding -n zzzz(其中zzzz為RoleBinding所在的命名空間),手動刪除叢集中殘留的關聯RBAC綁定執行個體。