管理憑證對應關係

憑證對應關係會參照一或多個憑證對應項目,這些對應項目會將特定憑證指派給特定主機名稱。本頁面說明如何建立及管理憑證對應表。

詳情請參閱「憑證地圖」。

建立憑證對應關係

您建立憑證對應關係,以便參照與憑證相關聯的憑證對應項目。

gcloud

如要建立憑證對應,請使用 gcloud certificate-manager maps create 指令

gcloud certificate-manager maps create CERTIFICATE_MAP_NAME

更改下列內容:

  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱。

API

如要建立憑證對應關係,請對 certificateMaps.create 方法發出 POST 要求:

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps?certificate_map_id=CERTIFICATE_MAP_NAME

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱。

Terraform

如要建立憑證對應關係,您可以使用 google_certificate_manager_certificate_map 資源

resource "google_certificate_manager_certificate_map" "default" {
  name        = "${local.name}-certmap1-${random_id.tf_prefix.hex}"
  description = "${local.domain} certificate map"
  labels = {
    "terraform" : true
  }
}

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

將憑證對應關係附加至 Proxy

使用憑證對應項目建立並設定憑證對應關係後,請將憑證對應關係附加至目標 Proxy。憑證管理工具支援全域範圍的目標 HTTPS 和目標 SSL Proxy。如要進一步瞭解這些 Proxy 類型的差異,請參閱「使用目標 Proxy」。

如果您將 TLS (SSL) 憑證附加至目標 Proxy,並透過憑證對應附加憑證,Proxy 會使用憑證對應中參照的憑證,並忽略直接附加的憑證。

gcloud

如要將憑證對應附加至目標 HTTPS Proxy,請使用 gcloud compute target-https-proxies update 指令

gcloud compute target-https-proxies update PROXY_NAME \
    --certificate-map="CERTIFICATE_MAP_NAME"

如要將憑證對應附加至目標 SSL Proxy,請使用 gcloud compute target-ssl-proxies update 指令

gcloud compute target-ssl-proxies update PROXY_NAME \
    --certificate-map="CERTIFICATE_MAP_NAME"

更改下列內容:

  • PROXY_NAME:目標 Proxy 的名稱。
  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱,其中包含參照目標憑證的憑證對應項目。

API

如要將憑證對應項目附加至目標 HTTPS Proxy,請向 targetHttpsProxies 方法提出 POST 要求:

POST /projects/PROJECT_ID/global/targetHttpsProxies/PROXY_NAME/setCertificateMap
{
  certificateMap: "//certificatemanager.googleapis.com/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME",
}

如要將憑證對應項目附加至目標 SSL Proxy,請向 targetSslProxies 方法提出 POST 要求:

POST /projects/PROJECT_ID/global/targetSslProxies/PROXY_NAME/setCertificateMap
{
  certificateMap: "//certificatemanager.googleapis.com/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME",
}

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • PROXY_NAME:目標 Proxy 的名稱。
  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱,其中包含參照目標憑證的憑證對應項目。

從 Proxy 中分離憑證對應

從 Proxy 中分離憑證對應前,請注意下列事項:

  • 如果任何 TLS (SSL) 憑證直接附加至 Proxy,則解除憑證對應會導致 Proxy 恢復使用這些憑證。

  • 如果沒有 TLS (SSL) 憑證直接附加至 Proxy,則無法解除憑證對應。請先將至少一個 TLS 憑證直接附加至 Proxy,再卸除憑證對應關係。

gcloud

如要將任何已附加的憑證對應項目從目標 HTTPS Proxy 中分離,請使用 gcloud compute target-https-proxies update 指令

gcloud compute target-https-proxies update PROXY_NAME \
    --clear-certificate-map

如要將任何已附加的憑證對應項目從目標 SSL Proxy 中分離,請使用 gcloud compute target-ssl-proxies update 指令

gcloud compute target-ssl-proxies update PROXY_NAME \
    --clear-certificate-map

更改下列內容:

  • PROXY_NAME:目標 Proxy 的名稱。

API

如要將任何已附加的憑證對應項目從目標 HTTPS Proxy 中解除,請向 targetHttpsProxies 方法提出 POST 要求:

POST /projects/PROJECT_ID/global/targetHttpsProxies/PROXY_NAME/setCertificateMap
{
  certificateMap: "",
}

如要將任何已附加的憑證對應項目從目標安全資料傳輸層 (SSL) Proxy 中解除連結,請向 targetSslProxies 方法提出 POST 要求:

POST /projects/PROJECT_ID/global/targetSslProxies/PROXY_NAME/setCertificateMap
{
  certificateMap: "",
}

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • PROXY_NAME:目標 Proxy 的名稱。

更新憑證對應關係

您可以更新憑證對應的說明和標籤。

gcloud

如要更新憑證對應,請使用 gcloud certificate-manager maps update 指令

gcloud certificate-manager maps update CERTIFICATE_MAP_NAME \
    --description="DESCRIPTION"
    --update-labels="LABELS"

更改下列內容:

  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱。
  • DESCRIPTION:此憑證對應項目的新說明。
  • LABELS:以逗號分隔的標籤清單,套用至此憑證對應。

API

如要更新憑證對應表,請對 certificateMaps.patch 方法提出 PATCH 要求:

PATCH /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME?updateMask=labels,description"
{
  "description": "DESCRIPTION",
  "labels": {
    "LABEL_KEY": "LABEL_VALUE",
  }
}

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱。
  • DESCRIPTION:此憑證對應項目的新說明。
  • LABEL_KEY:套用至此憑證對應的標籤鍵。
  • LABEL_VALUE:套用至此憑證對應的標籤。

列出憑證對應關係

您可以列出、篩選及排序專案的所有已設定憑證對應關係。

主控台

  1. 在 Google Cloud 控制台中,前往「Certificate Manager」頁面的「Certificate maps」分頁。

    前往 Certificate Manager

  2. 您可以在「證照對應」分頁中,查看所選專案中所有已設定的證照對應項目清單。

gcloud

如要列出憑證對應項目,請使用 gcloud certificate-manager maps list 指令

gcloud certificate-manager maps list \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

更改下列內容:

  • 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 欄位清單,用於排序傳回的結果。預設排序順序為遞增;如要遞減排序,請在欄位前面加上波浪號 (~)。

API

如要列出已設定的憑證對應關係,請對 certificateMaps.list 方法發出 LIST 要求:

GET /v1/projects/PROJECT_ID/locations/global/certificateMaps?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • 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」頁面的「Certificate maps」分頁。

    前往 Certificate Manager

  2. 按一下包含對應項目的憑證對應關係名稱。「Certificate Map Details」頁面會顯示所選憑證對應關係的詳細資訊。

gcloud

如要查看憑證對應項目的狀態,請使用 gcloud certificate-manager maps describe 指令

gcloud certificate-manager maps describe CERTIFICATE_MAP_NAME

更改下列內容:

  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱。

API

如要查看憑證對應項目的詳細資料,請對 certificateMaps.get 方法提出 GET 要求:

GET /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱。

刪除憑證對應關係

刪除憑證對應關係前,請先執行下列操作:

gcloud

如要刪除憑證對應,請使用 gcloud certificate-manager maps delete 指令

gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME

更改下列內容:

  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱。

API

如要刪除憑證對應,請向 certificateMaps.delete 方法提出 DELETE 要求:

DELETE /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_MAP_NAME:憑證對應關係的名稱。

後續步驟