容器服務 Kubernetes 版會為不同阿里云賬號、RAM用戶或角色簽發帶有其身份信息的KubeConfig憑證用于連接集群。阿里云賬號或RAM用戶或RAM角色可以通過KubeConfig管理功能,從集群維度或用戶維度獲取所有已下發的KubeConfig狀態,并針對部分有安全風險的KubeConfig進行清理和解除授權。
KubeConfig介紹
KubeConfig用于在客戶端配置集群的訪問憑據,您可以通過容器服務管理控制臺、獲取集群KubeConfig接口等方式獲取。請妥善管理集群的KubeConfig憑據,避免KubeConfig泄露帶來的數據泄露等安全風險。
獲取的KubeConfig具備特定的生效時間,到期之后將自動失效。關于KubeConfig有效期時間查詢,請參見如何獲取KubeConfig所使用的證書的過期時間?
KubeConfig狀態
容器服務 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。 |
| |
RAM用戶或RAM角色維度 | 管理指定用戶所擁有的集群KubeConfig。 |
| |
已失效RAM用戶或RAM角色維度 | 賬號中存在已刪除的RAM用戶或RAM角色,但KubeConfig仍在生效中。 |
|
集群維度KubeConfig管理示例
登錄容器服務管理控制臺,在左側導航欄選擇授權管理。
在授權管理頁面,單擊KubeConfig 管理頁簽,單擊目標集群右側的KubeConfig 管理進入KubeConfig 管理頁面。
在該頁面可查看擁有該集群KubeConfig或KubeConfig過去被清除但是仍殘留RBAC授權的用戶列表,列表包含用戶信息和KubeConfig證書信息兩部分:
用戶信息:包括用戶名、用戶ID、賬號類型以及賬號狀態。
KubeConfig證書信息:包括KubeConfig過期時間、KubeConfig狀態等。
確認待清除用戶的KubeConfig沒有被任何業務應用依賴使用后,單擊目標用戶右側操作列下的清除 KubeConfig,清除目標用戶在該集群下的KubeConfig。
重要請務必確認不存在風險后,再執行KubeConfig清除操作,否則,您將無法使用該用戶的KubeConfig訪問集群API Server。
KubeConfig的運維和管理是用戶的職責,請您務必及時清除有安全風險的KubeConfig。
單擊清除 KubeConfig時,將會對待刪除的KubeConfig進行七天內在指定集群API Server審計日志的訪問記錄檢查,此輔助檢查使用前提為對應集群已開啟集群的API Server審計功能。
RAM用戶或RAM角色維度KubeConfig管理示例
登錄容器服務管理控制臺,在左側導航欄選擇授權管理。
在授權管理頁面,單擊RAM 用戶頁簽,然后單擊目標用戶右側的管理 KubeConfig進入該用戶的管理 KubeConfig頁面。
在該頁面可查看該用戶各個集群KubeConfig的下發狀態列表,列表包含集群信息和KubeConfig證書信息兩部分:
集群信息:集群名稱、集群ID。
KubeConfig證書信息:KubeConfig過期時間和狀態、七天日志檢查(即證書訪問記錄)。
單個或批量清除該用戶對應集群的KubeConfig。清除前,請確認待清除用戶的KubeConfig沒有被任何業務應用依賴使用。
單個清除:單擊目標集群右側操作列下的清除 KubeConfig,清除當前用戶在該集群下的KubeConfig。
批量清除:在集群名稱列選擇多個待清除的集群,然后在頁面左下角單擊清除 KubeConfig。
重要請務必確認不存在風險后,再執行KubeConfig清除操作,否則,您將無法使用該用戶的KubeConfig訪問集群API Server。
KubeConfig的運維和管理是用戶的職責,請您務必及時清除有安全風險的KubeConfig。
單擊清除 KubeConfig時,將會對待刪除的KubeConfig進行七天內在指定集群API Server審計日志的訪問記錄檢查,此輔助檢查使用前提為對應集群已開啟集群的API Server審計功能。
清除失效用戶KubeConfig示例
通過容器服務管理控制臺清除
登錄容器服務管理控制臺,在左側導航欄選擇授權管理。
在授權管理頁面,如果您的賬號中存在已刪除的失效用戶的KubeConfig殘留,該頁面會顯示如下提示信息。
單擊紅色提示框中的處理與失效賬號關聯的 KubeConfig,進入清除已刪除 RAM 用戶/角色的 KubeConfig頁面。
該頁面可查看KubeConfig 以及 RBAC 授權仍在生效的已刪除的 RAM用戶或RAM角色列表。
確認待清除用戶的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管理的最佳安全實踐是什么?
您應自行管理賬號和容器服務集群的訪問憑據,妥善保管賬號和容器服務集群的訪問憑據,例如RAM AK、Token和容器服務集群KubeConfig客戶端等。您自行管理賬號和容器服務集群的授權范圍,應遵循權限的最小化原則,并及時更新清除不恰當、失效的授權,例如,已離職員工不應再持有容器服務集群的訪問權限。同時,建議您通過ack-ram-authenticator完成ACK托管集群APIServer的Webhook認證實現更加靈活的RBAC授權體驗,實現刪除RAM用戶或角色時數據面KubeConfig憑據的自動吊銷。
因您運維不當導致的訪問憑據(例如RAM憑據、KubeConfig)泄露或過期引起的一切損失和后果均由您自行承擔,請仔細閱讀并遵循安全責任共擔模型的要求。
相關文檔
當企業內部員工離職或是某簽發KubeConfig疑似泄露等情況發生時,您可以吊銷該集群的KubeConfig,生成新的KubeConfig。具體操作,請參見吊銷集群的KubeConfig憑證。