建立信任設定

本頁面說明如何建立及管理信任設定,以便在各種雙向傳輸層安全標準 (mTLS) 驗證情境中使用。

如要進一步瞭解 mTLS,請參閱下列資源:

建立信任設定

建立信任設定時,您必須指定用於驗證憑證的信任錨點。

如要建立信任設定,請完成下列步驟:

控制台

  1. 在 Google Cloud 控制台,前往「Certificate Manager」頁面的「Trust configs」(信任設定) 分頁。

    前往「Certificate Manager」

  2. 按一下「新增信任設定」。「Create Trust Config」(建立信任設定) 頁面隨即顯示。

  3. 在「Name」(名稱) 欄位中,輸入設定名稱。

    專案中的名稱不得重複。此外,名稱開頭必須是小寫英文字母,後面最多可接 62 個小寫英文字母、數字或連字號,結尾不得為連字號。

  4. 選用:在「Description」(說明) 欄位中輸入設定說明。這項說明可協助您日後識別特定設定。

  5. 選用:在「Labels」(標籤) 欄位中,指定要與信任設定建立關聯的標籤。如要新增標籤,請按一下 「Add label」(新增標籤),然後指定標籤的鍵和值。

  6. 在「位置」部分,選取「全域」或「區域」。

    如果選取「區域」,請選取「區域」。

  7. 在「Trust store」(信任存放區) 部分,新增信任錨點和中繼 CA。

    您可以使用多個憑證的完整 PEM 酬載例項,指定多個信任錨點和中繼憑證,每個例項一個憑證。

    1. 在「Trust anchors」(信任錨點) 區段中,按一下「Add trust anchor」(新增信任錨點),然後上傳 PEM 編碼憑證檔案,或複製憑證內容。完成後,按一下「新增」。

    2. 選用:在「Intermediate CAs」(中繼 CA) 專區,按一下「Add intermediate CA」(新增中繼 CA),然後上傳 PEM 編碼的中繼憑證檔案,或複製中繼憑證的內容。完成後,按一下「Add」(新增)。

      這個步驟可讓您在根憑證和伺服器憑證之間,新增另一層信任關係。

    3. 選用:在「Allowlisted certificates」(許可清單憑證) 區段中,按一下「Add certificate」(新增憑證),然後上傳 PEM 編碼憑證檔案,或複製憑證內容。這會將憑證加入許可清單。完成後,按一下「新增」。

    如要在信任設定資源規格中指定多個信任錨點或中繼憑證,請使用多個 pemCertificate 欄位。欄位的每個例項都包含一個憑證。

    信任設定一律會將許可清單中的憑證視為有效。如要在許可清單中封裝多個憑證,請使用多個 pemCertificate 欄位例項,每個例項一個憑證。使用加入許可清單的憑證時,不需要信任存放區。

    如果許可清單中的憑證符合特定條件,信任設定一律會視為有效:憑證必須可剖析、具備私密金鑰擁有權證明,並遵守憑證 SAN 欄位的限制。過期的憑證加入許可清單後,也會視為有效。如要進一步瞭解 PEM 編碼格式,請參閱 RFC 7468。

  8. 點選「建立」。

確認新的信任設定顯示在設定清單中。

gcloud

  1. 建立信任設定 YAML 檔案,指定信任設定參數。

    檔案格式如下:

    name: "TRUST_CONFIG_ID"
    trustStores:
    - trustAnchors:
      - pemCertificate: "CERTIFICATE_PEM_PAYLOAD"
      intermediateCas:
      - pemCertificate: "INTER_CERT_PEM_PAYLOAD"
    allowlistedCertificates:
    - pemCertificate: "ALLOWLISTED_CERT1"
    - pemCertificate: "ALLOWLISTED_CERT2"
    

    更改下列內容:

    • TRUST_CONFIG_ID:信任設定資源的 ID。
    • CERTIFICATE_PEM_PAYLOAD:信任設定資源所用憑證的完整 PEM 酬載。
    • INTER_CERT_PEM_PAYLOAD:中繼憑證的完整 PEM 酬載,用於信任設定資源。
    • ALLOWLISTED_CERT1 和 ALLOWLISTED_CERT2:新增至許可清單的憑證,用於這項信任設定資源。

    如要在信任設定資源規格中指定多個信任錨點或中繼憑證,請使用多個 pemCertificate 欄位。欄位的每個例項都包含一個憑證。

    信任設定一律會將許可清單中的憑證視為有效。如要在許可清單中封裝多個憑證,請使用多個 pemCertificate 欄位例項,每個例項一個憑證。使用加入許可清單的憑證時,不需要信任存放區。

    如果許可清單中的憑證符合特定條件,信任設定一律會視為有效:憑證必須可剖析、具備私密金鑰擁有權證明,並遵守憑證 SAN 欄位的限制。過期的憑證加入許可清單後,也會視為有效。如要進一步瞭解 PEM 編碼格式,請參閱 RFC 7468。

  2. 如要匯入信任設定 YAML 檔案,請使用 gcloud certificate-manager trust-configs import 指令:

    gcloud certificate-manager trust-configs import TRUST_CONFIG_ID \
      --project=PROJECT_ID \
      --source=TRUST_CONFIG_FILE \
      --location=LOCATION
    

    更改下列內容:

    • TRUST_CONFIG_ID:信任設定資源的 ID。
    • PROJECT_ID: Google Cloud 專案 ID。
    • TRUST_CONFIG_FILE:您在步驟 1 建立的信任設定 YAML 檔案完整路徑和名稱。
    • LOCATION:儲存信任設定資源的區域。預設位置為 global。

API

向 trustConfigs.create 方法發出 POST 要求:

POST /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs?trust_config_id=TRUST_CONFIG_ID
{
  "description": "DESCRIPTION",
  "trust_stores": [{
    "trust_anchors": [{
      "pem_certificate": "CERTIFICATE_PEM_PAYLOAD"
    }],
    "intermediate_cas": [{
      "pem_certificate": "INTER_CERT_PEM_PAYLOAD"
    }],
  }],
  "allowlistedCertificates": [{
    "pem_certificate": "ALLOWLISTED_CERT"
  }],
}

更改下列內容:

  • PROJECT_ID: Google Cloud 專案 ID。
  • LOCATION:儲存信任設定資源的區域。預設位置為 global。
  • TRUST_CONFIG_ID:信任設定資源的 ID。
  • DESCRIPTION:這項信任設定資源的實用說明。這個值為選用。
  • CERTIFICATE_PEM_PAYLOAD:信任設定資源所用憑證的完整 PEM 酬載。
  • INTER_CERT_PEM_PAYLOAD:中繼憑證的完整 PEM 酬載,用於信任設定資源。這個值為選用。
  • ALLOWLISTED_CERT:加入許可清單的憑證,用於這項信任設定資源。這個值為選用。

更新信任設定

如要更新信任設定,請建立另一個信任設定 YAML 檔案,指定新的信任設定參數,然後將這個檔案匯入 Certificate Manager。

控制台

  1. 在 Google Cloud 控制台,前往「Certificate Manager」頁面的「Trust configs」(信任設定) 分頁。

    前往「Certificate Manager」

  2. 找出並選取要更新的信任設定。

  3. 在「More Options」(更多選項) 欄中,按一下要更新的設定對應的 「More actions」(更多動作),然後選取「Edit」(編輯)。

  4. 進行必要變更。

  5. 按一下 [儲存]。

確認設定變更已更新。

gcloud

  1. 匯出信任設定 YAML 檔案。

    gcloud certificate-manager trust-configs export TRUST_CONFIG_ID \
        --project=PROJECT_ID \
        --destination=TRUST_CONFIG_FILE \
        --location=LOCATION
    

    更改下列內容:

    • TRUST_CONFIG_ID:信任設定資源的 ID。
    • PROJECT_ID: Google Cloud 專案 ID。
    • TRUST_CONFIG_FILE:信任設定 YAML 檔案的完整路徑和名稱。
    • LOCATION:儲存信任設定資源的區域。預設位置為 global。
  2. 編輯信任設定 YAML 檔案。

    檔案格式如下:

    name: "TRUST_CONFIG_ID"
    trustStores:
    - trustAnchors:
      - pemCertificate: "CERTIFICATE_PEM_PAYLOAD"
      intermediateCas:
      - pemCertificate: "INTER_CERT_PEM_PAYLOAD"
    allowlistedCertificates:
    - pemCertificate: "ALLOWLISTED_CERT1"
    - pemCertificate: "ALLOWLISTED_CERT2"
    

    更改下列內容:

    • TRUST_CONFIG_ID:信任設定資源的 ID。
    • CERTIFICATE_PEM_PAYLOAD:信任設定資源所用憑證的完整 PEM 酬載。
    • INTER_CERT_PEM_PAYLOAD:中繼憑證的完整 PEM 酬載,用於信任設定資源。這個值為選填。
    • ALLOWLISTED_CERT1 和 ALLOWLISTED_CERT2:新增至許可清單的憑證,用於這項信任設定資源。這個值為選填。
  3. 將新的信任設定檔匯入 Certificate Manager,並對應至現有的信任設定資源名稱。

    gcloud certificate-manager trust-configs import TRUST_CONFIG_ID \
        --project=PROJECT_ID \
        --source=TRUST_CONFIG_FILE \
        --location=LOCATION
    

    更改下列內容:

    • TRUST_CONFIG_ID:信任設定資源的 ID。
    • PROJECT_ID: Google Cloud 專案 ID。
    • TRUST_CONFIG_FILE:信任設定 YAML 檔案的完整路徑和名稱。
    • LOCATION:儲存信任設定資源的區域。預設位置為 global。

API

向 trustConfigs.update 方法發出 PATCH 要求:

PATCH /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs/TRUST_CONFIG_ID?update_mask=*
  {
    "description": "DESCRIPTION",
    "trust_stores": [{
      "trust_anchors": [{
        "pem_certificate": "CERTIFICATE_PEM_PAYLOAD"
      }],
      "intermediate_cas": [{
        "pem_certificate": "INTER_CERT_PEM_PAYLOAD"
      }],
    }],
    "allowlistedCertificates": [{
      "pem_certificate": "ALLOWLISTED_CERT"
  }],
  }

更改下列內容:

  • PROJECT_ID: Google Cloud 專案 ID。
  • LOCATION:儲存信任設定資源的區域。預設位置為 global。
  • TRUST_CONFIG_ID:信任設定資源的 ID。
  • DESCRIPTION:這項信任設定資源的實用說明。這項說明為選填。
  • CERTIFICATE_PEM_PAYLOAD:信任設定資源所用憑證的完整 PEM 酬載。
  • INTER_CERT_PEM_PAYLOAD:中繼憑證的完整 PEM 酬載,用於信任設定資源。這個值為選用。
  • ALLOWLISTED_CERT:加入許可清單的憑證,用於這項信任設定資源。這個值為選用。

列出信任設定

您可以查看專案的所有信任設定。

控制台

  1. 在 Google Cloud 控制台,前往「Certificate Manager」頁面的「Trust configs」(信任設定) 分頁。

    前往「Certificate Manager」

  2. 在「Trust configs」(信任設定) 分頁中,您可以查看所選專案中所有已設定的信任設定資源清單。

gcloud

使用 gcloud certificate-manager trust-configs list 指令:

gcloud certificate-manager trust-configs list \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY" \
    --location=LOCATION

更改下列內容:

  • FILTER:運算式,用於將傳回結果限制為特定值。

    舉例來說,如要依標籤和建立時間篩選結果,可以指定: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    如要查看更多可與 Certificate Manager 搭配使用的篩選範例,請參閱 Cloud Key Management Service 說明文件中的「排序及篩選清單結果」。

  • PAGE_SIZE:每頁要傳回的結果數量

  • LIMIT:要傳回的結果數量上限

  • SORT_BY:以半形逗號分隔的 name 欄位清單,傳回的結果會依這些欄位排序。預設排列順序為遞增;如要遞減排列順序,請在欄位前面加上波浪號 (~)。

  • LOCATION:儲存信任設定資源的區域。如要列出所有區域的信任設定,請使用 - 做為值。預設值為 -。這個旗標是選用的。

API

向 trustConfigs.list 方法發出 GET 要求:

GET /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

更改下列內容:

  • PROJECT_ID: Google Cloud 專案 ID。
  • LOCATION:儲存信任設定資源的區域。如要查看所有位置的所有信任設定,請指定單一連字號 (-)。
  • FILTER:運算式,用於將傳回結果限制為特定值。

    舉例來說,如要依標籤和建立時間篩選結果,可以指定: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    如要查看更多可與 Certificate Manager 搭配使用的篩選範例,請參閱 Cloud Key Management Service 說明文件中的「排序及篩選清單結果」。

  • PAGE_SIZE:每頁要傳回的結果數量

  • SORT_BY:以半形逗號分隔的 name 欄位清單,傳回的結果會依這些欄位排序。預設排列順序為遞增;如要遞減排列順序,請在欄位前面加上波浪號 (~)。

查看信任設定

您可以查看特定信任設定的詳細資料。

控制台

  1. 在 Google Cloud 控制台,前往「Certificate Manager」頁面的「Trust configs」(信任設定) 分頁。

    前往「Certificate Manager」

  2. 按一下要查看的信任設定資源。「Trust Config details」(信任設定詳細資料) 頁面會顯示所選信任設定資源的詳細資訊。

gcloud

使用 gcloud certificate-manager trust-configs describe 指令:

gcloud certificate-manager trust-configs describe TRUST_CONFIG_ID \
    --location=LOCATION

更改下列內容:

  • TRUST_CONFIG_ID:信任設定資源的 ID。
  • LOCATION:儲存信任設定資源的區域。預設位置為 global。

API

向 trustConfigs.get 方法發出 GET 要求:

GET /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs/TRUST_CONFIG_ID

更改下列內容:

  • PROJECT_ID: Google Cloud 專案 ID。
  • LOCATION:儲存信任設定資源的區域。預設位置為 global。
  • TRUST_CONFIG_ID:信任設定資源的 ID。

刪除信任設定

刪除信任設定前,請先將信任設定從用戶端驗證 (ServerTlsPolicy) 資源中卸載。

控制台

  1. 在 Google Cloud 控制台,前往「Certificate Manager」頁面的「Trust configs」(信任設定) 分頁。

    前往「Certificate Manager」

  2. 找出要刪除的信任設定,然後勾選對應的核取方塊。

  3. 點選「刪除」。

  4. 在出現的對話方塊中,按一下 [Delete] (刪除) 以進行確認。

gcloud

使用 gcloud certificate-manager trust-configs delete 指令:

gcloud certificate-manager trust-configs delete TRUST_CONFIG_ID \
    --location=LOCATION

更改下列內容:

  • TRUST_CONFIG_ID:信任設定資源的 ID。
  • LOCATION:儲存信任設定資源的區域。預設位置為 global。

API

向 trustConfigs.delete 方法發出 DELETE 要求:

DELETE /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs/TRUST_CONFIG_ID

更改下列內容:

  • PROJECT_ID: Google Cloud 專案 ID。
  • LOCATION:儲存信任設定資源的區域。預設位置為 global。
  • TRUST_CONFIG_ID:信任設定資源的 ID。

後續步驟