使用 Bottlerocket FIPS AMI 讓您的工作節點符合 FIPS 就緒狀態 - Amazon EKS

協助改進此頁面

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

使用 Bottlerocket FIPS AMI 讓您的工作節點符合 FIPS 就緒狀態

美國聯邦資訊處理標準 (FIPS) 第 140-3 號公報中,美國和加拿大政府的安全標準具體說明密碼模組的安全要求,以保護敏感資訊。Bottlerocket 透過提供具有 FIPS 核心的 AMI,讓您更容易遵循 FIPS 規範。

這些 AMI 已預先設定為使用 FIPS 140-3 驗證的密碼編譯模組。其中包含 Amazon Linux 2023 核心加密 API 加密模組與 AWS-LC 加密模組。

使用 Bottlerocket FIPS AMI 可讓您的工作節點成為「FIPS 就緒」,但不會自動成為「FIPS 相容」。如需詳細資訊,請參閱美國聯邦資訊處理標準 (FIPS) 140-3

考量事項

  • 如果您的叢集使用隔離子網路,則 Amazon ECR FIPS 端點可能無法存取。這可能導致節點引導失敗。請確保您的網路組態允許存取必要的 FIPS 端點。如需詳細資訊,請參閱《AWS PrivateLink 指南》中的透過資源 VPC 端點存取資源

  • 如果您的叢集使用具有 PrivateLink的子網路,則映像提取將會失敗,因為 Amazon ECR FIPS 端點無法透過 PrivateLink 使用。

使用 Bottlerocket FIPS AMI 建立受管節點群組

Bottlerocket FIPS AMI 有兩種變體以支援您的工作負載:

  • BOTTLEROCKET_x86_64_FIPS

  • BOTTLEROCKET_ARM_64_FIPS

要使用 Bottlerocket FIPS AMI 建立受管節點群組,請在建立程序中選擇適用的 AMI 類型。如需詳細資訊,請參閱 建立叢集的受管節點群組

有關選擇啟用 FIPS 的變體的更多資訊,請參閱 擷取建議的 Bottlerocket AMI ID

針對不支援的 AWS 區域停用 FIPS 端點

Bottlerocket FIPS AMI 直接在美國 (包括 AWS GovCloud (US) 區域) 獲得支援。對於 AMI 可用但未直接獲得支援的 AWS 區域,您仍然可以透過使用啟動範本建立受管節點群組來使用這些 AMI。

Bottlerocket FIPS AMI 在啟動程序期間依賴 Amazon ECR FIPS 端點,而這些端點在美國以外地區通常不可用。要在沒有 Amazon ECR FIPS 端點的 AWS 區域中使用其 FIPS 核心的 AMI,請執行以下步驟來停用 FIPS 端點:

  1. 建立一個包含以下內容的新組態檔案,或將該內容整合到您現有的組態檔中。

[default] use_fips_endpoint=false
  1. 將檔案內容編碼為 Base64 格式。

  2. 在您的啟動範本的 UserData 中,使用 TOML 格式加入以下編碼字串:

[settings.aws] config = "<your-base64-encoded-string>"

對於其他設定,請參閱 GitHub 上 Bottlerocket 的設定描述

以下是啟動範本中 UserData 的範例:

[settings] motd = "Hello from eksctl!" [settings.aws] config = "W2RlZmF1bHRdCnVzZV9maXBzX2VuZHBvaW50PWZhbHNlCg==" # Base64-encoded string. [settings.kubernetes] api-server = "<api-server-endpoint>" cluster-certificate = "<cluster-certificate-authority>" cluster-name = "<cluster-name>" ...<other-settings>

有關使用使用者資料建立啟動範本的更多資訊,請參閱 使用啟動範本自訂受管節點