政策控制項總覽

政策控管會強制執行憑證授權單位 (CA) 運作和 CA 核發憑證的標準。政策控管是您設定的規則和限制,用於定義 CA 核發憑證的方式,以及要求中可包含的參數和可接受的值。在憑證授權單位服務中,政策控管分為下列兩種:

  • 粗略政策,例如憑證核發政策: 憑證核發政策適用於整個 CA 集區,並定義高階限制,例如允許的金鑰類型、允許的憑證生命週期,以及主體和主體別名 (SAN) 限制。

  • 細部政策,例如憑證範本: 憑證範本可讓您定義可核發的憑證類型,以及有權核發憑證的使用者,防止濫用並維護安全性。 憑證範本可讓您為不同用途定義不同類型的憑證,進一步控管憑證。舉例來說,您可以為特定用途建立憑證範本,例如網頁伺服器的 TLS 憑證,以及開發人員的程式碼簽署憑證。您也可以為不同部門或團隊建立範本,讓每個團隊都能要求具有所需特定權限的憑證。

除了憑證核發政策和憑證範本,您也可以強制執行特定政策控管 (例如名稱限制),防止 CA 為未經授權的網域或實體核發憑證。

關於憑證核發政策

憑證核發政策會定義 CA 集區內所有憑證核發作業的控管措施。CA 管理員可以將憑證核發政策附加至 CA 集區,藉此定義 CA 集區中 CA 可核發的憑證類型限制。憑證核發政策可協助您執行下列操作:

  • 新增可要求的主體和 SAN 限制。這項功能會驗證憑證中可識別的身分或事物,例如只允許貴公司網域的憑證。
  • 定義憑證身分、憑證生命週期、金鑰類型和憑證要求模式的限制。
  • 在所有核發的憑證中附加特定 X.509 擴充功能。

如果符合下列任一或全部情況,建議您使用憑證核發政策:

  1. CA 集區的設計目的是根據單一明確定義的設定檔核發憑證。舉例來說,您有一個專屬的 CA 集區,只為貴公司的內部網路伺服器核發憑證。這些憑證都需要相同的基本參數。

    • 所有核發的憑證主體都包含「O=My organization」。
    • 所有 DNS 名稱都以 .cymbalgroup.com 結尾。
    • 有效期限為 1 年。

    憑證核發政策會強制執行這些規則,確保這個 CA 集區核發的每張憑證都符合這個設定檔。

  2. 您想為 X.509 擴充功能和適用於所有憑證核發設定檔的其他限制,定義通用基準。舉例來說,您有不同類型的憑證,例如員工電子郵件簽署憑證 (效期 2 年),以及公開網站的 TLS 憑證 (效期 1 年)。您可以定義適用於所有憑證的基準核發政策:

    • 所有憑證的主體都必須包含公司名稱。
    • 所有憑證都必須使用一組特定的 X.509 擴充功能,以符合貴機構的安全標準。

    然後,您可以使用憑證範本,在該基準上為每種憑證類型定義特定變體。

如要瞭解如何新增憑證核發政策,請參閱將憑證核發政策新增至 CA 集區

關於憑證範本

憑證範本代表機構內相對靜態且定義完善的憑證核發架構。使用憑證範本時,無論核發 CA 為何,從各種 CA 集區核發的憑證都會採用相同的格式和屬性。CertificateTemplate 資源包括下列項目:

  • 一般運算語言 (CEL) 運算式,會針對使用範本的所有憑證要求中,所要求的主體和 SAN 進行評估。如要進一步瞭解如何使用 CEL,請參閱「使用 CEL」。
  • 允許清單,用於指定是否可將主體或主體別名從使用者要求複製到核發的憑證。
  • 選用許可清單,指定可從使用者要求複製到核發憑證的 X.509 擴充功能 (如有)。
  • 一組選用的 X.509 擴充功能值,會新增至使用範本的所有核發憑證。

憑證範本可成為完整的垂直憑證核發架構。詳情請參閱完整的「CertificateTemplate」訊息定義。

如果憑證核發情境明確,即可使用憑證範本。 您可以使用憑證範本,確保從不同 CA 集區核發的憑證一致。您也可以使用認證範本,限制不同使用者可核發的認證類型。

您也可以結合使用憑證範本和 Identity and Access Management (IAM) 條件式角色繫結,定義適用於特定服務帳戶所提出憑證要求的限制。舉例來說,您可以建立憑證範本,只允許以 .altostrat.com 結尾的 DNS 名稱。接著,您可以新增條件式角色繫結,授予服務帳戶 my-service-account@my-project.iam.gserviceaccount.com 權限,在向特定 CA 集區要求憑證時,僅使用該範本。這麼做可限制服務帳戶只能核發具有特定 SAN 限制的憑證。

如要瞭解如何建立認證範本,請參閱「建立認證範本」。

CA 憑證名稱限制

CA Service 會根據 RFC 5280 文件「名稱限制」一節的定義,強制執行 CA 憑證中的名稱限制。您可以透過名稱限制,控管 CA 核發的憑證中允許或排除的名稱。

名稱限制是透過 X.509 憑證中的名稱限制擴充功能實作。這個擴充功能可讓您為各種名稱格式 (例如 DNS 名稱、IP 位址、電子郵件地址和網址) 指定允許和排除的命名空間。

舉例來說,您可以建立具有名稱限制的 CA,強制執行下列條件:

  • 只有 myownpersonaldomain.com 和其子網域可做為 DNS 名稱。
  • examplepetstore.com 和子網域不得做為 DNS 名稱。

名稱限制是在 CA 自己的憑證中定義。也就是說,該 CA 核發的任何憑證都受這些限制約束。CA 核發憑證時,會根據定義的名稱限制,檢查要求的主體名稱和任何主體別名 (SAN)。如有任何名稱違反限制,系統會拒絕核發憑證。

您只能在建立 CA 時指定名稱限制。

使用政策控制選項的好處

政策控制項可協助您達成下列目標:

  • 限制可核發的憑證類型,並降低未經授權建立及濫用憑證的風險,藉此提升安全性。
  • 符合法規要求和產業最佳做法,管理憑證。
  • 減少人工作業和潛在錯誤。憑證範本可讓您更輕鬆地核發一致且有效率的憑證。
  • 制定明確的政策和嚴格的控管措施,有助於提高對您核發憑證的信任度。

強制執行政策控制項

有人要求憑證時,CA 服務會在下列層級評估這些政策控制項:

  1. 身分與存取權管理 (IAM) 權限:首先,服務會檢查要求者是否具備建立憑證或使用指定憑證範本的必要 IAM 權限。確保只有授權使用者可以取得憑證。

  2. 憑證核發政策:接著,這項服務會根據 CA 集區的核發政策驗證憑證要求。確保要求符合該 CA 核發憑證的一般規定。

  3. 憑證範本:如果使用範本,系統會根據範本的特定限制進一步驗證要求。確保憑證適用於預期用途。

系統會將 CA 集區憑證核發政策和憑證範本中的 X.509 擴充功能新增至憑證,並根據這些政策捨棄特定值。簽署憑證前,系統會根據憑證驗證 CA 憑證中的名稱限制,確保主體符合規定。

政策衝突

如果同時使用不同的政策控管機制,不同層級的政策可能會發生衝突。舉例來說,憑證範本可能允許 CA 集區核發政策禁止的金鑰類型 (例如 ECDSA)。或者,憑證範本和核發政策可能會為相同的 X.509 擴充功能指定不同的值。

如要瞭解如何管理 CA 服務中的政策衝突,請參閱「關於政策衝突」。

後續步驟