設定企業憑證條件

Chrome Enterprise 進階版的一項重要原則是「您的服務存取權是由我們根據對您本人與裝置的瞭解而授予」。系統會查詢多個資料來源,動態推斷授予單一使用者或單一裝置的存取層級。Chrome Enterprise Premium 會在決策程序中採用這個信任等級。

Access Context Manager 是 Chrome Enterprise Premium 的零信任政策引擎。管理員可透過 Access Context Manager,依據屬性為應用程式和資源定義精細的存取控管機制。 Google Cloud

根據要求的內容資訊,使用存取層級允許存取資源。您可以使用存取層級,開始整理信任層級。舉例來說,您可以建立名為 High_Level 的存取層級,允許一小群高權限使用者提出要求。您也可以識別要信任的較一般群組,例如要允許要求來自的 IP 範圍。在這種情況下,您可以建立名為 Medium_Level 的存取層級,允許這些要求。

零信任存取權的主要規定之一,就是裝置必須是由公司管理或擁有,才能允許使用者存取。判斷裝置是否為公司擁有的方式有很多種,其中一種是判斷裝置上是否有公司核發的有效憑證。裝置上的企業憑證可用於指出裝置是否為公司擁有。

情境感知存取權的企業憑證是整體 Chrome Enterprise Premium 憑證式存取解決方案的一項功能。這項功能會使用裝置憑證做為替代的情境感知信號,判斷裝置是否為公司擁有的資產。這項功能適用於 Chrome 瀏覽器 110 以上版本。

由於裝置可以有多個憑證,因此您可以在自訂存取層級中,透過巨集 .exist(e,p) 存取企業憑證:

device.certificates.exists(cert, predicate)

在本範例中,cert 是要在 predicator 中使用的 ID,可繫結至裝置憑證。exist() 巨集會結合每個元素的述詞結果和「or」(||) 運算子,也就是說,如果至少有一個憑證符合 predicate 運算式,巨集就會傳回 true。

憑證具有下列屬性,可一併檢查。請注意,比較字串時會區分大小寫。

屬性 說明 述詞運算式範例 (其中 cert 是巨集的 ID)
is_valid 如果憑證有效且並未過期,則傳回 True (布林值)。 cert.is_valid
cert_fingerprint 憑證指紋 (Base64 未填充 SHA256)。

指紋是 DER 編碼憑證的未填充 base64 編碼 SHA256 摘要 (二進位格式)。您可以使用 OpenSSL,透過下列程序,從 PEM 格式的憑證產生字串:

$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha

cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint 用來簽署憑證的根 CA 憑證指紋 (Base64 未填充 SHA256)。

指紋是 DER 編碼憑證的未填充 base64 編碼 SHA256 摘要 (二進位格式)。您可以使用 OpenSSL,透過下列程序,從 PEM 格式的憑證產生字串:

$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha

cert.root_ca_fingerprint == "the_fingerprint"
issuer 核發單位名稱 (完整的擴充名稱)。

如要找出核發單位名稱,請使用下列方法:

在憑證上執行下列指令:

$ openssl x509 -in ca_1.crt -issuer issuer= /C=IN/ST=UP/L=NCR/O=BCEDemo/OU=BCEDemo_1/CN=inter_1/emailAddress=test_inter1@beyondcorp.in

用於存取層級的核發單位字串是輸出內容的反轉,而「/」會替換為半形逗號。範例:

EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN

cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN"
subject 憑證的主體名稱 (完整的擴充名稱)。 cert.subject == "CA_SUB"
serial_number 憑證的序號 (字串)。 cert.serial_number = "123456789"
template_id 憑證的 X.509 擴充功能憑證範本 ID (字串)。 cert.template_id = "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047"

下表列出可設定的政策範例:

範例政策 運算式
裝置具備由公司根憑證簽署的有效憑證。 device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
裝置具備核發單位「CA_ABC.」核發的有效憑證 device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")

設定企業憑證

設定企業憑證前,請務必先設定自訂存取層級。如需操作說明,請參閱「建立自訂存取層級」。

您可以使用 Access Context Manager 自訂存取層級定義,設定適當的政策。自訂存取層級會使用以部分一般運算語言 (CEL) 編寫的布林運算式,測試提出要求的用戶端屬性。

在管理控制台中上傳信任錨點

如要讓 Chrome Enterprise Premium 收集及驗證裝置企業憑證,您必須上傳信任錨點和用於核發裝置憑證的所有中繼憑證。這裡的信任錨點是指自行簽署的根 CA (憑證授權單位) 憑證,以及相關的中繼和從屬憑證。如要上傳信任錨點,請完成下列步驟:

  1. 前往管理控制台,然後依序點選「裝置」>「網路」>「憑證」
  2. 選取適當的機構單位。
  3. 選取「新增憑證」
  4. 輸入憑證名稱。
  5. 上傳憑證。
  6. 勾選「端點驗證」核取方塊。
  7. 按一下「新增」
  8. 確認使用者所屬的機構單位已上傳信任錨點。

設定 AutoSelectCertificateForUrls 政策

如要讓「端點驗證」功能透過 Chrome 搜尋並收集裝置憑證,您必須完成下列步驟,設定「AutoSelectCertificateForURLs」Chrome 政策:

  1. 確認 Chrome 瀏覽器是由 Chrome 瀏覽器雲端管理服務管理。

  2. 在管理控制台中新增 AutoSelectCertificateForUrls 政策:

    1. 前往管理控制台,然後依序前往「裝置」>「Chrome」>「設定」>「使用者與瀏覽器設定」>「用戶端憑證」
    2. 選取適當的機構單位。
    3. 新增 AutoSelectCertificateForUrls 政策,如以下範例所示:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"CERTIFICATE_ISSUER_NAME"}}}
      

      CERTIFICATE_ISSUER_NAME 替換為根 CA 的常用名稱。請勿修改 pattern 的值。

如要驗證政策設定,請完成下列步驟:

  1. 在瀏覽器中前往 chrome://policy。
  2. 確認 AutoSelectCertificateForUrls 的設定值。
  3. 確認政策的「套用對象」值已設為「裝置」。在 Chrome 作業系統上,這個值會套用至「目前使用者」*。
  4. 確認政策的「狀態」未顯示「衝突」

排解設定問題

查看裝置詳細資料頁面上的憑證屬性,確認憑證屬性是否正確列出。

您可以使用「端點驗證」記錄來排解任何問題。如要下載端點驗證記錄,請完成下列步驟:

  1. 在 Endpoint Verification 擴充功能上按一下滑鼠右鍵,然後前往「選項」
  2. 依序選取「記錄層級」>「全部」>「下載記錄」
  3. 向 Cloud Customer Care 提出客服案件,並提供記錄檔以便進一步偵錯。