保護 Schematics 物件安全的最佳作法

IBM Cloud® Schematics 使用開放程式碼專案,包括作為受管理服務提供給您的 Terraform、Ansible、Red Hat OpenShift on IBM Cloud、操作員和 Helm。 而不是在本端系統上安裝每一個開放程式碼專案,並學習 API 或 CLI。 您可以宣告要在 IBM Cloud® 中執行的作業,並觀看 Schematics 為您執行這些作業。

請花時間檢閱建議的作法,以減少雲端基礎架構中所有正式作業、暫置及測試伺服器的安全風險。 這份清單是提升雲端基礎架構安全的絕佳起點。

在 Git 儲存庫中建立 Terraform 範本或模組的最佳作法

在開發 Terraform 範本並在 Git 儲存庫中發佈這些範本時,您必須遵循哪些最佳作法?

請遵循這些作法,在 Git 儲存庫中開發及發佈 Terraform 範本。

  • 使用 Terraform version1.4 或更新版本及現行 IBM Cloud 提供者 來建立 Terraform 範本。
  • 為所有認證建立環境變數。
  • 檢查是否執行前置確定連結鉤來檢查您的程式碼是否符合 Terraform 標準,請參閱 包含前置確定連結鉤的範例儲存庫
  • 檢查儲存庫是否使用 Terratest 架構來驗證要佈建的 Terraform 資源和資料來源,請參閱 已驗證 Terraform 儲存庫範例 以執行 Terratest
  • 針對 Git 未追蹤的任何檔案,檢查儲存庫是否包含 gitignore
  • 新增範本的授權檔。
  • 請勿在配置檔中將機密變數設為預設值。
  • 請將您的安全變數或輸出檢查為機密。
  • 當您的範本使用 null resources 來佈建或配置資源時,請檢查您的 Script 執行所花費的時間是否超過 60 minutes
  • 在儲存庫中只使用 容許的清單副檔名

您可以使用 IBM Cloud® 提供者範本來建立 tfvars 檔案嗎?

tfvars 檔案是您可以用來儲存機密性資訊的區域變數檔案,例如您使用 Terraform 時的 IBM Cloud API 金鑰或標準基礎架構使用者名稱。 不過,為了保護變數資料的安全,您無法在 Schematics中提供 tfvars 檔案。

Terraform 開發人員如何確保機密資料不會在日誌檔中洩漏?

開發人員需要檢查變數或輸出參數是否為機密,以確保日誌檔中的資料不會洩漏。

管理 Schematics 工作區的最佳作法

在為 Terraform 範本建立工作區時,您必須遵循哪些最佳作法?

請遵循這些為 Terraform 範本建立工作區的作法。

  • 檢查您是否具有建立工作區的 許可權
  • 當您建立或更新 Schematics 工作區時,請檢查 locationurl 端點是否指向相同的地區。 如需位置和端點的相關資訊,請參閱 資訊儲存在何處?
  • 檢查您是否要 刪除工作區 及/或 毀損 相關聯的雲端資源。 這項工作無法撤銷。 如果移除工作區並保留雲端資源,則需要使用資源清單或 CLI 管理資源。
  • 不要使用一個工作區來管理整個暫置或正式作業環境。 當您將所有雲端資源部署到單一工作區時,不同的團隊可能難以協調更新和管理這些資源的存取。

如何確保 Terraform 自動化所使用的機密資料不會洩漏在日誌或輸出中?

您需要將變數或輸出參數設為機密,以確保日誌或輸出中不會洩漏資料。

如何保護工作區及其資料的存取權?

身為帳戶擁有者或授權帳戶管理員,您可以為使用者指定 IBM Cloud® Identity and Access Management (IAM) 服務存取角色。 IAM 服務存取角色決定您可以在 IBM Cloud Schematics 資源上設定的動作,例如工作區或動作。 若要避免向各個使用者分別指派存取原則,請考慮建立 IAM 存取群組

您的工作區和動作資料儲存庫取決於您建立工作區或動作的位置。 如需相關資訊,請參閱 在 Schematics

Schematics 如何透過 Terraform 狀態檔或日誌檔來保護工作區資料?

請遵循這些作法,透過 Terraform 狀態檔或日誌檔來保護工作區資料。

  • 使用 Cloud Identity and Access Management 控制對 Schematics 工作區及相關雲端資源的存取。
  • 保護 Terraform 範本的來源儲存庫,包括存取控制、安全設定、協同作業及版本控制。
  • 使用資源提供的安全功能來保護您所建立的雲端資源。
  • 使用雲端資源所提供的工具,將安全修復、存取控制和加密套用至您的資源。

您需要指定 角色和許可權 給控制狀態檔的使用者。 有關Schematics服務存取角色和權限的更多信息,請參閱 工作區權限KMS 權限

管理 Schematics 動作的最佳作法

在為 Ansible 範本建立動作時,您必須遵循哪些最佳作法?

請遵循這些作法,針對 Ansible 範本建立 Schematics 動作。

  • 當您建立或更新 Schematics 工作區時,請檢查 locationurl 端點是否指向相同的地區。 如需位置和端點的相關資訊,請參閱 資訊儲存在何處?
  • 您無法刪除或停止 Schematics 動作的執行中工作。 等待工作完成,然後變更設定,再按一下 檢查動作執行動作
  • 身為帳戶擁有者或授權帳戶管理員,您可以為使用者指定 IAM 服務存取角色。 IAM 服務存取角色決定您可以在 IBM Cloud Schematics 資源上設定的動作,例如工作區或動作。 若要避免向各個使用者分別指派存取原則,請考慮建立 IAM 存取群組

您如何保護對動作及其資料的存取權?

身為帳戶擁有者或授權帳戶管理員,您可以為使用者指定 IAM 服務存取角色。 IAM 服務存取角色決定您可以在 IBM Cloud Schematics 資源上設定的動作,例如工作區或動作。 若要避免向各個使用者分別指派存取原則,請考慮建立 IAM 存取群組

您的工作區和動作資料儲存庫取決於您建立工作區或動作的位置。 如需相關資訊,請參閱 在 Schematics

Schematics 如何透過輸入認證狀態檔或日誌檔來保護動作資料?

請遵循下列作法,透過輸入認證狀態檔或日誌檔來保護工作區資料。

  • 使用 Cloud Identity and Access Management 來控制對 Schematics 動作的存取權。
  • 保護 Terraform 範本的來源儲存庫,包括存取控制、安全設定、協同作業及版本控制。
  • 使用雲端資源所提供的工具,將安全修復、存取控制和加密套用至您的資源。
  • 您需要指定 角色和許可權 給控制狀態檔的使用者。 如需 Schematics 服務存取角色及許可權的相關資訊
  • 動作許可權
  • KMS 許可權

保護 Schematics 的資料

以下是可以保護 Schematics 資料的各種方式。

  • 使用 Cloud Identity and Access Management來存取保護。
  • 使用 Activity Tracker的不可否認性。
  • 使用「金鑰管理系統 (KMS)」進行資料保護。

使用 Identity and Access Management 進行存取保護

建立使用者的 IAM 存取群組,並將服務存取原則指派給 IBM Cloud Schematics 及您要使用者使用的資源。 IAM 使用者會附加至存取群組。 如需相關資訊,請參閱 設定使用者的存取權

使用 Activity Tracker 的不可否認性

您可以使用IBM Cloud® Activity Tracker來追蹤和稽核使用者和應用程式如何與IBM Cloud Schematics互動。 您可以產生並維護Schematics工作區實例事件、存取、事件和存取審核日誌的稽核追蹤。 如需相關資訊,請參閱 審核事件

使用 KMS 進行資料保護

您可以透過下列方式在 Schematics 中保護及加密資訊免於毀損、危害或遺失:

下一步

請參閱 Schematics 使用案例