共用方式為


以安全的方式管理秘密

正確管理憑證的秘密、金鑰、憑證和私密金鑰對於系統安全性至關重要。 本文提供管理這些資產的最佳做法。 某些做法也可能符合您的合規性和證明需求。

Microsoft 建議您執行下列動作來準備實作最佳做法:

  1. 瞭解並記錄各種安全性設定如何影響效能和成本。 請確定您的檔符合您的商務需求。
  2. 針對每個商務需求,請確定所有專案關係人都接受需求對秘密管理實作所造成的額外負荷和複雜度。
  3. 記錄您的合規性和證明需求,例如,建議或授權的需求:
    1. 互聯網安全中心(CIS)
    2. 國家標準與技術研究所(NIST)
    3. 1996年《醫療保險可攜性和責任法》(HIPAA)
    4. The HITRUST CSF
    5. 網路安全性成熟度模型認證 (CMMC)
    6. 加拿大網路安全中心
    7. 聯邦資訊處理標準(FIPS)。
  4. 使用 Azure 服務中的內建治理原則型規則集,判斷是否可以實作合規性需求。 例如,Azure 原則中有各種安全性控制措施可以套用至 Azure 金鑰保存庫。
  5. 識別對各種 Azure 服務所需的角色和存取權。 例如,開發人員和應用程式可能只需要讀取儲存在開發環境中的金鑰保存庫秘密。 另一方面,操作員或系統管理員需要金鑰保存庫的完整管理存取權。
  6. 識別組織用來確保記錄、監視、稽核和警示設定符合業務需求的整體 可觀察性方法

下圖是這些處理常式的高階邏輯標記法:

High-level process for managing secrets

預期限制和例外狀況

最佳做法的例外狀況可能會發生在雲端旅程的各個階段。 期待他們很難。 當您發現其中一個時,請盡可能加以修正。 否則,請記錄它,並從專案關係人獲得接受。 每個 Azure 服務都有記載的限制或配額。 請注意適用于您工作負載的限制和配額,並設定專案關係人的期望。

可能有其他限制和例外狀況需要檔,且需要符合您的業務需求。 例如,當您執行金鑰、秘密和認證備份時,金鑰保存庫中允許 的物件版本數目 有限制。

重要

針對所遇到的每個例外狀況套用的最佳做法是: 盡可能降低風險,以確保風險降到 最低。 如果無法減輕風險,請確定您的 可觀察性方法 可讓您儘早使用支援您的資訊識別任何惡意活動:

  • 通知和承認的平均時間(MTTA)
  • 平均偵測時間(MTTD)
  • 平均復原時間 (MTTR)

外部組態存放區模式

部署至雲端的工作負載大部分最佳做法都會使用存放區來保存秘密。 瞭解外部組態存放區雲端設計模式可讓您深入瞭解可能會影響工作負載架構設計的各種問題和考慮。

例如,使用金鑰保存庫來儲存秘密的安全性最佳做法有罕見的例外狀況,例如連接字串。 當您在實作期間執行效能和負載測試時,有時會顯示這些例外狀況。 請確定您的商務專案關係人指出效能對工作負載至關重要。

瞭解使用 金鑰保存庫 並遵循外部組態存放區設計模式的替代方案,以符合最佳做法和合規性需求。 金鑰保存庫的其中一個替代方法是將秘密儲存在更接近應用程式的計算層。 例如,Azure App 服務應用程式設定,這些設定只能由指定和核准的角色存取需要快速回應的連線。

重要

實作外部組態存放區雲端設計模式的原因如下:

  • 符合您的商務和合規性需求
  • 確保遵守最低許可權安全性模型
  • 實作可檢視性,例如:記錄、監視和警示

重要

如果您使用金鑰保存庫:

如需詳細資訊,請參閱

以安全的方式管理金鑰

各種 Azure 服務中使用的金鑰類型不同:

  • 密碼編譯的金鑰,例如待用加密和傳輸中加密的金鑰。
  • 用於連線的金鑰,例如各種 Azure 服務的驗證權杖和授權。

密碼編譯金鑰:待用加密

如需 Azure 中加密的概觀,請參閱 Azure 加密概觀

有兩種類型的金鑰用於待用加密:

  • 平臺管理的金鑰 (PMK)
  • 客戶自控金鑰 (CMK),也稱為自備金鑰 (BYOK) 金鑰

如先前所述,記錄各種商務需求。 例如,與金鑰管理相關的待用加密需求為何? 問自己: 我需要注意是否有任何限制或例外狀況?

某些 Azure 服務因為限制或例外狀況,不支援 CMK。 針對您使用的所有 Azure 服務,驗證並記錄這些專案與您的商務專案關係人。

重要

當不需要 CMK 時,請使用 PMK 以方便操作。 使用 PMK 時,平臺會管理金鑰,包括輪替。

如果您的企業需要 CMK 進行待用加密,請記錄支援 CMK 的各種 Azure 服務及其限制和發行狀態,例如預覽或正式運作(GA)。 例如,Azure 監視器支援 CMK,檔會揭露任何限制。

重要

  • 當您使用 CMK 時,應該經常輪替 Azure 服務所使用的金鑰。
  • 如果使用 CMK 加密備份,請確定您的金鑰輪替能夠視需要還原備份。
  • 如果您的合規性需求指定保留數年備份,請確定用來加密備份的金鑰可供使用,且可以成功還原這些備份。

如需加密金鑰的詳細資訊,請參閱:

其他以安全性為基礎的雲端設計模式

兩種雲端設計模式可解決金鑰的安全性最佳做法(做為權杖)和秘密。 當您設計工作負載時,請考慮這些模式。 其中包括:

  • 代客金鑰模式: 使用權杖可讓用戶端限制直接存取特定資源,以便從應用程式卸載資料傳輸。

  • 命令和查詢責任隔離 (CQRS) 模式: 分隔資料存放區的讀取和更新作業。 在應用程式中實作 CQRS 可以最大化應用程式的效能、延展性和安全性。 實作 CQRS 的應用程式可以隨著時間而改善。 CQRS 模式也會防止更新命令在網域層級造成合併衝突。

重要

針對每個工作負載,找出各種已建立的雲端設計模式,以解決每個問題網域,以確保符合您的商務安全性需求。

如需詳細資訊,請參閱

連線ivity 索引鍵

其他類型的金鑰會用於各種 Azure 服務以進行連線或權杖。 範例包括Azure 儲存體和Azure 服務匯流排存取金鑰。

各種 Azure 服務的金鑰有限制或例外狀況。 瞭解並配合您的商務需求會驗證最佳選擇或做法。 例如,Azure 儲存體支援共用存取原則、共用存取簽章、Microsoft Entra ID 等等。

Azure 儲存體有許多選項可用來授權存取資料。 其描述于 授權存取Azure 儲存體 中的資料。 瞭解這些選項,並根據您的商務需求進行評估。

許多 Azure 服務都支援受控識別以進行驗證。 如需詳細資訊,請參閱 什麼是 Azure 資源的受控識別?

重要

您可以在此使用 Microsoft Entra 受控識別。 如果您無法,因為它不適合您使用的 Azure 服務使用案例或不支援,請遵循最低許可權安全性模型-使用預存存取原則或共用存取簽章(SAS)搭配明確存取和時間限制值。

如果 Azure 服務不支援使用預存存取簽章,可能改為具有下列原則功能:管理、傳送、接聽。 例如,Azure 服務匯流排、Azure 事件中樞和 Azure IoT 中樞 具有這些類型的安全性存取原則,也可以使用 Microsoft Entra ID。

重要

在定義及設定原則時,遵循最低許可權安全性模型表示只有存取訊號和資源的程式和使用者才有存取該原則的合法用途。

數個 Azure 服務會使用金鑰來允許執行調用。 例如,非匿名函式應用程式具有存取碼(也稱為金鑰)。

重要

確定用於叫用的索引鍵具有已定義的用途。 建立數個金鑰以供其預定用途,並經常更新或重新產生金鑰,以及每當金鑰遭到入侵時。

最後,各種 Azure 服務都有支援金鑰輪替的功能。 瞭解 雲端 中的共同責任可支援各種工作負載的檔。

重要

在每個工作負載中,定期輪替每個 Azure 服務的連接字串金鑰。 使用自動化和外部組態存放區,例如金鑰保存庫,將中斷降到最低。 不使用外部組態存放區時,這些 Azure 服務都有兩個金鑰,可用來將維護期間中斷降至最低。

如需用於調用或連接字串中之金鑰的詳細資訊,請參閱:

以安全的方式管理秘密

秘密是機密資訊,例如密碼、認證和完整連接字串。

密碼和密碼是在應用程式成品外部使用金鑰保存庫之類的工具來管理。 API 金鑰、資料庫連接字串和密碼必須儲存在安全存放區中,而不是儲存在應用程式程式碼或組態中。 使用集中管理的外部組態存放區可簡化金鑰輪替等作業工作,並改善整體安全性。

套用自動化可提升營運效率。 針對各種自動化 Runbook 使用認證必須符合您的商務需求。 例如,從儲存體帳戶清除過期資料的Azure 自動化帳戶中的 Runbook 必須有認證才能執行該動作。

重要

使用外部組態存放區,例如金鑰保存庫來儲存敏感性資訊,例如完整連接字串或密碼。 盡可能自動輪替秘密,並將其儲存在金鑰保存庫中,以將中斷降至最低。

如需詳細資訊,請參閱

更新憑證

憑證用於加密、授權自動化動作、裝置管理,以及其他許多工作。 憑證是時間系結的。 當他們在沒有健全的作業模型的情況下到期時,它們會中斷您的工作負載。

有一些限制和例外狀況,例如:

  • 使用 Desired 狀態設定 (DSC) 時,在Azure 自動化帳戶中授權自動化動作
  • 憑證儲存位置

重要

請與授權的人員一致,使用這些憑證的集中儲存體,例如金鑰保存庫,並確保會監視 SSL/TLS 憑證的到期日,而且有符合您業務需求的更新程式。

如需詳細資訊,請參閱

下一步