跳至主要内容

啟用使用者保留

在 Rancher v2.8.5 及更高版本中,您可以啟用使用者保留功能,在可設定的時間段後自動停用或刪除非活動使用者帳戶。

使用者保留功能預設為關閉。

使用 kubectl 啟用使用者保留​

要啟用使用者保留,您必須設定 user-retention-cron。您還必須至少設定 disable-inactive-user-after 或 delete-inactive-user-after 其中之一。您可以使用 kubectl edit setting <name-of-setting> 來開啟您選擇的編輯器並設定這些值。

設定 Rancher 以刪除使用者、停用使用者或組合操作​

Rancher 使用兩個全域使用者保留設定來確定在一定的非活動期間後是否以及何時停用或刪除使用者。停用的帳戶必須重新啟用後使用者才能再次登入。如果帳戶在未停用的情況下被刪除,使用者可能能夠透過外部身份驗證登入,並且已刪除的帳戶將被重新建立。

全域設定 disable-inactive-user-after 和 delete-inactive-user-after 不會彼此阻止運行。

例如,您可以設定兩個操作都運行。如果您給 disable-inactive-user-after 設定的持續時間比 delete-inactive-user-after 短,使用者保留過程將在刪除非活動帳戶之前先停用它們。

您還可以在特定使用者的 UserAttribute 上編輯某些使用者保留設定。設定這些值會覆蓋全域設定。有關更多詳細資訊,請參閱特定使用者的使用者保留覆蓋。

必要的使用者保留設定​

以下是全域設定:

  • user-retention-cron:描述使用者保留過程執行的頻率。該值是一個 cron 表達式(例如,0 * * * * 表示每小時)。
  • disable-inactive-user-after:使用者帳戶在過程停用帳戶之前可以非活動的時間量。停用帳戶會強制使用者請求管理員重新啟用帳戶後才能登入使用。值以 time.Duration 單位表示(例如,720h 表示 720 小時或 30 天)。該值必須大於 auth-user-session-ttl-minutes,預設為 16h。如果未設定該值、設定為空字串或等於 0,則過程不會停用任何非活動帳戶。
  • delete-inactive-user-after:使用者帳戶在過程刪除帳戶之前可以非活動的時間量。值以 time.Duration 單位表示(例如,720h 表示 720 小時或 30 天)。該值必須大於 auth-user-session-ttl-minutes,預設為 16h。該值應大於 336h(14 天),否則會被 Rancher webhook 拒絕。如果您需要該值低於 14 天,可以繞過 webhook。如果未設定該值、設定為空字串或等於 0,則過程不會刪除任何非活動帳戶。

選用的使用者保留設定​

以下是全域設定:

  • user-retention-dry-run:如果設定為 true,使用者保留過程會運行,但實際上不會刪除或停用任何使用者帳戶。這可以幫助在允許過程在生產環境中停用或刪除使用者帳戶之前測試使用者保留行為。
  • user-last-login-default:如果使用者的帳戶沒有設定 UserAttribute.LastLogin,則使用此設定代替。該值以 RFC 3339 日期時間表示,截斷到最後一秒;例如 2023-03-01T00:00:00Z。如果該值設定為空字串或等於 0,則不使用此設定。

特定使用者的使用者保留覆蓋​

以下是針對特殊情況的全域設定的使用者特定覆蓋。這些設定透過編輯與給定帳戶相關的 UserAttribute 來套用:

kubectl edit userattribute <user-name>
  • disableAfter:disable-inactive-user-after 的使用者特定覆蓋。該值以 time.Duration 單位表示,並截斷到秒。如果該值設定為 0s,則該帳戶不會受到停用的影響。
  • deleteAfter:delete-inactive-user-after 的使用者特定覆蓋。該值以 time.Duration 單位表示,並截斷到秒。如果該值設定為 0s,則該帳戶不會受到刪除的影響。

在 Rancher UI 中查看使用者保留設定​

您可以查看哪些使用者保留設定套用於哪些使用者。

  1. 在左上角,點擊 ☰ > 使用者與身份驗證。
  2. 在左側導覽選單中,選擇 使用者。

每個使用者帳戶的 Disable After 和 Delete After 欄位指示帳戶在從 Rancher 停用或刪除之前可以非活動多長時間。還有一個 Last Login 欄位大致指示帳戶上次活動的時間。

如果您在 使用者 表格中點擊使用者名稱並選擇 Detail 標籤,也可以獲得相同的資訊。