全部產品
Search
文件中心

Container Service for Kubernetes:清除KubeConfig

更新時間:Jun 19, 2024

Container Service Kubernetes 版會為不同阿里雲帳號、RAM使用者或角色簽髮帶有其身份資訊的KubeConfig憑證用於串連叢集。阿里雲帳號或RAM使用者或RAM角色可以通過KubeConfig管理功能,從叢集維度或使用者維度擷取所有已下發的KubeConfig狀態,並針對部分有安全風險的KubeConfig進行清理和解除授權。

KubeConfig介紹

KubeConfig用於在用戶端配置叢集的訪問憑據,您可以通過Container Service管理主控台擷取叢集KubeConfig介面等方式擷取。請妥善管理叢集的KubeConfig憑據,避免KubeConfig泄露帶來的資料泄露等安全風險。

重要

擷取的KubeConfig具備特定的生效時間,到期之後將自動失效。關於KubeConfig有效期間時間查詢,請參見如何擷取KubeConfig所使用的認證的到期時間?

KubeConfig狀態

Container Service Kubernetes 版的KubeConfig具備以下四個狀態。

KubeConfig狀態

說明

未頒發

對當前RAM使用者或RAM角色從未下發過該叢集的KubeConfig。

生效

當前RAM使用者或RAM角色的叢集KubeConfig存在且未到期。

當前RAM使用者或RAM角色的叢集KubeConfig已被清除,但仍然存在殘留的RBAC許可權。

到期

當前RAM使用者或RAM角色的叢集KubeConfig存在,但已到期。

已清除

當前RAM使用者或RAM角色下發過叢集的KubeConfig,但是目前KubeConfig已經被清除。

清除KubeConfig即刪除叢集的KubeConfig資訊和該RAM使用者或RAM角色的RBAC Binding。

如需清除正在生效的KubeConfig,請您謹慎核對憑據下發的合理性和有效性。例如,離職員工請逐一清除其持有的KubeConfig,避免正在合理使用的KubeConfig到期。同時建議您通過ack-ram-authenticator完成ACK託管叢集APIServer的Webhook認證實現更加靈活可控的RBAC授權體驗,實現刪除RAM使用者或RAM角色時資料面KubeConfig憑據的自動吊銷。

重要
  • 請務必確認不存在風險後,再執行KubeConfig清除操作,否則,您將無法使用該使用者的KubeConfig訪問叢集API Server。

  • KubeConfig的營運和管理是使用者的職責,請您務必及時清除有安全風險的KubeConfig。

KubeConfig管理

管理維度

適用情境

使用要求的權限

使用樣本

叢集維度

管理目的地組群下所有使用者的KubeConfig。

叢集維度KubeConfig管理樣本

RAM使用者或RAM角色維度

管理指定使用者所擁有的叢集KubeConfig。

RAM使用者或RAM角色維度KubeConfig管理樣本

已失效RAM使用者或RAM角色維度

帳號中存在已刪除的RAM使用者或RAM角色,但KubeConfig仍在生效中。

清除失效使用者KubeConfig樣本

叢集維度KubeConfig管理樣本

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

  2. 授權管理頁面,單擊KubeConfig 管理頁簽,單擊目的地組群右側的KubeConfig 管理進入KubeConfig 管理頁面。

    在該頁面可查看擁有該叢集KubeConfigKubeConfig過去被清除但是仍殘留RBAC授權的使用者列表,列表包含使用者資訊和KubeConfig認證資訊兩部分:

    • 使用者資訊:包括使用者名稱、使用者ID、帳號類型以及帳號狀態。

    • KubeConfig認證資訊:包括KubeConfig到期時間、KubeConfig狀態等。

  3. 確認待清除使用者的KubeConfig沒有被任何業務應用依賴使用後,單擊目標使用者右側操作列下的清除 KubeConfig,清除目標使用者在該叢集下的KubeConfig。

    重要
    • 請務必確認不存在風險後,再執行KubeConfig清除操作,否則,您將無法使用該使用者的KubeConfig訪問叢集API Server。

    • KubeConfig的營運和管理是使用者的職責,請您務必及時清除有安全風險的KubeConfig。

    單擊清除 KubeConfig時,將會對待刪除的KubeConfig進行七天內在指定叢集API Server審計日誌的訪問記錄檢查,此輔助檢查使用前提為對應叢集已開啟叢集的API Server審計功能

RAM使用者或RAM角色維度KubeConfig管理樣本

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

  2. 授權管理頁面,單擊RAM 使用者頁簽,然後單擊目標使用者右側的管理 KubeConfig進入該使用者的管理 KubeConfig頁面。

    在該頁面可查看該使用者各個叢集KubeConfig的下髮狀態列表,列表包含叢集資訊和KubeConfig認證資訊兩部分:

    • 叢集資訊:叢集名稱、叢集ID。

    • KubeConfig認證資訊:KubeConfig到期時間和狀態、七天日誌檢查(即認證訪問記錄)。

  3. 單個或批量清除該使用者對應叢集的KubeConfig。清除前,請確認待清除使用者的KubeConfig沒有被任何業務應用依賴使用。

    • 單個清除:單擊目的地組群右側操作列下的清除 KubeConfig,清除目前使用者在該叢集下的KubeConfig。

    • 批量清除:在叢集名稱列選擇多個待清除的叢集,然後在頁面左下角單擊清除 KubeConfig

      重要
      • 請務必確認不存在風險後,再執行KubeConfig清除操作,否則,您將無法使用該使用者的KubeConfig訪問叢集API Server。

      • KubeConfig的營運和管理是使用者的職責,請您務必及時清除有安全風險的KubeConfig。

      單擊清除 KubeConfig時,將會對待刪除的KubeConfig進行七天內在指定叢集API Server審計日誌的訪問記錄檢查,此輔助檢查使用前提為對應叢集已開啟叢集的API Server審計功能

清除失效使用者KubeConfig樣本

通過Container Service管理主控台清除

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

  2. 授權管理頁面,如果您的帳號中存在已刪除的失效使用者的KubeConfig殘留,該頁面會顯示如下提示資訊。image.png

  3. 單擊紅色提示框中的處理與失效帳號關聯的 KubeConfig,進入清除已刪除 RAM 使用者/角色的 KubeConfig頁面。

    該頁面可查看KubeConfig 以及 RBAC 授權仍在生效的已刪除的 RAM使用者或RAM角色列表。

  4. 確認待清除使用者的KubeConfig沒有被任何業務應用依賴使用後,單擊已失效使用者右側的清除 KubeConfig清除該失效使用者的KubeConfig。

    重要
    • 請務必確認不存在風險後,再執行KubeConfig清除操作,否則,您將無法使用該使用者的KubeConfig訪問叢集API Server。

    • KubeConfig的營運和管理是使用者的職責,請您務必及時清除有安全風險的KubeConfig。

    單擊清除 KubeConfig時,將會對待刪除的KubeConfig進行七天內在指定叢集API Server審計日誌的訪問記錄檢查,此輔助檢查使用前提為對應叢集已開啟叢集的API Server審計功能

通過ack-ram-tool工具清除

關於如何使用ack-ram-tool工具清除KubeConfig的具體操作,請參見通過ack-ram-tool清理叢集中指定使用者的許可權

KubeConfig使用常見問題

清除KubeConfig時,什麼是七天日誌檢查?

七天日誌檢查是一種輔助檢查手段,用於查看對應的KubeConfig在最近七天是否訪問過此叢集,使用前提為叢集已開啟叢集的API Server審計功能。此檢查具有一定的局限性,僅作輔助檢查供您參考,您仍需要自行確保KubeConfig未被任何業務應用依賴使用。

如何解讀七天日誌檢查的結果?

檢查結果

結果類型

可能原因

成功

未發現訪問記錄

近七天內使用者可能並未使用該KubeConfig訪問叢集API Server。

存在訪問記錄

近七天內使用者使用過該KubeConfig訪問叢集API Server。

失敗

無法尋找訪問記錄

叢集未開通日誌審計,無法自動進行檢查。

其他錯誤原因,例如叢集串連失敗、網路問題等。

不能清除KubeConfig的情境有哪些?

  • 叢集狀態異常:刪除失敗刪除中已刪除失敗四種狀態的叢集無法進行KubeConfig清除。

  • KubeConfig或認證狀態異常:叢集KubeConfig處於未頒發已清除未知狀態的使用者無法進行 KubeConfig清除。

  • 使用者無法清除自己的KubeConfig。

  • 使用者無法清除阿里雲帳號的KubeConfig。

KubeConfig誤清除可以恢複嗎?可以恢複指定版本的KubeConfig嗎?

如果您需要恢複誤清除的KubeConfig,或復原某個歷史版本的KubeConfig,您可以通過KubeConfig資源回收筒功能來實現。更多資訊,請參見使用KubeConfig資源回收筒

KubeConfig管理的最佳安全實踐是什嗎?

您應自行管理帳號和Container Service叢集的訪問憑據,妥善保管帳號和Container Service叢集的訪問憑據,例如RAM AK、Token和Container Service叢集KubeConfig用戶端等。您自行管理帳號和Container Service叢集的授權範圍,應遵循許可權的最小化原則,並及時更新清除不恰當、失效的授權,例如,已離職員工不應再持有Container Service叢集的存取權限。同時,建議您通過ack-ram-authenticator完成ACK託管叢集APIServer的Webhook認證實現更加靈活的RBAC授權體驗,實現刪除RAM使用者或角色時資料面KubeConfig憑據的自動吊銷。

重要

因您營運不當導致的訪問憑據(例如RAM憑據、KubeConfig)泄露或到期引起的一切損失和後果均由您自行承擔,請仔細閱讀並遵循安全責任共擔模型的要求。

相關文檔

當企業內部員工離職或是某簽發KubeConfig疑似泄露等情況發生時,您可以吊銷該叢集的KubeConfig,產生新的KubeConfig。具體操作,請參見吊銷叢集的KubeConfig憑證