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

本頁說明如何使用已佈建的端點驗證憑證,啟用憑證式存取權 (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=1
      

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

如果您的作業系統不在支援的作業系統清單中,但您想使用已佈建的端點驗證憑證,可以免除環境的憑證強制執行,改用其他類型的強制執行措施來保護環境。例如使用公司擁有的裝置政策。

請注意,相較於其他類型的強制執行方式,以憑證為基礎的強制執行方式可提供更強大的保護機制,因為這類方式會透過 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 瀏覽器,以使用端點驗證佈建的憑證