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

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

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

如果您有 PKI 基礎架構,請參閱這篇文章,瞭解如何啟用 CBA。

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

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

如果您的作業系統未列於清單中,請參閱使用不完全支援的作業系統

事前準備

請先確認您符合下列條件再繼續操作:

設定端點驗證

請按照指示為貴機構的所有使用者裝置安裝 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 設定會儲存在 JSON 檔案中,位於 ~/.config/gcloud/certificate_config.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 設定會儲存在 JSON 檔案中,位於 %APPDATA%\gcloud\certificate_config.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 瀏覽器,以便使用端點驗證佈建的憑證