使用端點驗證憑證啟用以憑證為準的存取權

本頁說明如何使用已佈建的端點驗證憑證,啟用憑證式存取權 (CBA)。

您可以使用端點驗證,自動為裝置佈建自行簽署的憑證。端點驗證佈建的憑證可讓您使用 CBA,不必使用 PKI 基礎架構。這些憑證會儲存在 macOS 的鑰匙圈、Windows 的憑證存放區,以及 Linux 的檔案系統。

如果您有 PKI 基礎架構,請參閱「使用企業憑證啟用憑證式存取權」,瞭解如何啟用 CBA。

您可以在下列作業系統上啟用端點驗證佈建的憑證:

  • 使用 Chrome 瀏覽器的 macOS 和 Windows
  • macOS、Windows 和 Linux (使用 Google Cloud CLI)

如果您的作業系統未列出,請參閱「使用未完全支援的作業系統」。

事前準備

繼續操作前,請確認符合下列條件:

設定端點驗證

按照說明,為貴機構的所有使用者裝置安裝 Chrome 端點驗證擴充功能。這項擴充功能會在裝置上佈建自簽憑證,並將憑證中繼資料同步至 Google Cloud。

安裝端點驗證輔助應用程式。使用 CBA 搭配端點驗證時,必須安裝這個應用程式。

設定使用者的 Chrome 瀏覽器

如要設定使用者的 Chrome 瀏覽器,以使用端點驗證佈建的憑證,您必須設定 AutoSelectCertificateForURLs Chrome 政策,允許端點驗證透過 Chrome 搜尋並收集裝置憑證。

  1. 確認使用者的 Chrome 瀏覽器由 Chrome 瀏覽器雲端管理服務管理。
  2. 在 Google 管理控制台中,新增 AutoSelectCertificateForUrls 政策。

    1. 依序前往「裝置」>「Chrome」>「設定」>「使用者與瀏覽器設定」>「用戶端憑證」。
    2. 選取適當的組織單位。
    3. 新增政策。以下範例會新增 AutoSelectCertificateForUrls 政策:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      

設定完成後,使用者就能透過 Chrome 瀏覽器前往 console-secure.cloud.google.com,存取受保護的資源。Google Cloud

(選用) 驗證政策設定

  1. 在 Chrome 瀏覽器中輸入 chrome://policy。
  2. 確認「AutoSelectCertificateForUrls」列在「Chrome 政策」下方。
  3. 確認「套用對象」的值為「裝置」。在 ChromeOS 中,「適用對象」的值為「目前使用者」。
  4. 確認政策的狀態未顯示衝突。如果狀態有衝突,請參閱「瞭解 Chrome 政策管理」一文。

設定指令列工具

您可以設定下列工具,使用端點驗證佈建的憑證:

  • Google Cloud CLI
  • Terraform CLI (需要 gcloud CLI 才能安裝及設定輔助元件)。

由於裝置憑證儲存在 macOS 和 Windows 金鑰儲存區中,因此 gcloud CLI 會與 Enterprise Certificate Proxy (ECP) 開放原始碼元件一併封裝,以便與金鑰管理 API 互動。

如果您使用 Windows 系統,必須安裝 Visual Studio C++ 執行階段程式庫。

  1. 安裝 gcloud CLI。 安裝時啟用隨附的 Python 選項。
  2. 啟用 CBA。
  3. 如果是 macOS 和 Linux,請下載並執行 install.sh 指令碼。

    ./google-cloud-sdk/install.sh
    
  4. Linux 使用者請前往「啟用 CBA 和端點驗證佈建憑證 」步驟。macOS 和 Windows 使用者請完成下列步驟。

    1. 使用 gcloud CLI 安裝 ECP 輔助元件。

      
      gcloud components install enterprise-certificate-proxy
      
    2. 使用 gcloud CLI 初始化 ECP 憑證設定。

      macOS

      
      gcloud auth enterprise-certificate-config create macos \
      --issuer="Google Endpoint Verification"
      

      Windows

      
      gcloud auth enterprise-certificate-config create windows \
      --issuer="Google Endpoint Verification" \
      --provider=current_user \
      --store=MY
      

      (選用) 執行下列指令,手動設定 ECP 憑證。

      macOS

      ECP 設定會儲存在 ~/.config/gcloud/certificate_config.json 中的 JSON 檔案。

      {
        "cert_configs": {
            "macos_keychain": {
              "issuer": "Google Endpoint Verification"
            }
        },
        "libs": {
          "ecp": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/bin/ecp",
          "ecp_client": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libecp.dylib",
          "tls_offload": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dylib"
        }
      }
      

      Windows

      ECP 設定會儲存在 %APPDATA%\gcloud\certificate_config.json 中的 JSON 檔案。

      {
        "cert_configs": {
          "windows_store": {
            "store": "MY",
            "provider": "current_user",
            "issuer":"Google Endpoint Verification"
          }
        },
        "libs": {
          "ecp": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/ecp.exe",
          "ecp_client": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libecp.dll",
          "tls_offload": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dll"
        }
      }
      
  5. 啟用 CBA 和端點驗證佈建的憑證。

    • 如果是 gcloud CLI,請執行下列指令。

      gcloud config set context_aware/use_client_certificate true
      
    • 如要使用其他指令列工具 (包括 Terraform),請設定環境變數。

      export GOOGLE_API_USE_CLIENT_CERTIFICATE=true
      

使用未完全支援的作業系統

如果您的作業系統不在支援的作業系統清單中,但您想使用 Endpoint Verification 佈建的憑證,可以免除環境的憑證強制執行,改用其他類型的強制執行措施保護環境。舉例來說,您可以透過公司擁有的裝置政策來達成這個目標。

請注意,相較於其他類型的強制執行方式,憑證式強制執行可提供更強大的保護機制,因為這類方式會透過 mTLS 握手,強制執行來自裝置的每項要求。

以下範例說明如何免除環境的憑證強制執行,並使用其他類型的強制執行來保護環境。

在本例中,機構使用 macOS、Windows 和 ChromeOS 裝置。該機構想保護來自Google Cloud 控制台的存取權。

  1. 建立存取層級,針對所有裝置強制執行以憑證為基礎的存取權,但 ChromeOS 裝置除外,因為這類裝置必須採用公司擁有的裝置政策。將 YAML 檔案替換成下列自訂運算式:

    certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE
     || (device.os_type == OsType.DESKTOP_CHROME_OS && device.is_corp_owned_device)
    
  2. 完成先前程序中的步驟。

    1. 建立情境感知政策
    2. 設定端點驗證
    3. 設定使用者的 Chrome 瀏覽器,以使用端點驗證佈建的憑證