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。 |
| |
RAM使用者或RAM角色維度 | 管理指定使用者所擁有的叢集KubeConfig。 |
| |
已失效RAM使用者或RAM角色維度 | 帳號中存在已刪除的RAM使用者或RAM角色,但KubeConfig仍在生效中。 |
|
叢集維度KubeConfig管理樣本
登入Container Service管理主控台,在左側導覽列選擇授權管理。
在授權管理頁面,單擊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管理樣本
登入Container Service管理主控台,在左側導覽列選擇授權管理。
在授權管理頁面,單擊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樣本
通過Container Service管理主控台清除
登入Container Service管理主控台,在左側導覽列選擇授權管理。
在授權管理頁面,如果您的帳號中存在已刪除的失效使用者的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管理的最佳安全實踐是什嗎?
您應自行管理帳號和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憑證。