管理憑證對應項目

憑證對應項目會將憑證與目標主機名稱和目標憑證對應相關聯。本頁面說明如何建立及管理憑證對應項目。

詳情請參閱「憑證對應項目」。

建立憑證對應關係項目

您可以建立憑證對應項目,並最多與四個憑證建立關聯。為主機名稱指定多個憑證時,建議您為每個憑證使用不同的金鑰演算法。舉例來說,您可以為一個憑證使用 ECDSA,另一個憑證使用 RSA。將多個憑證與單一憑證對應項目建立關聯,也有助於將自行管理的憑證遷移至 Google 代管憑證。

如要將多個憑證與憑證對應項目建立關聯,請提供以半形逗號分隔的憑證名稱清單。您必須為每個子網域建立個別的憑證對應項目。

gcloud

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

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --hostname="HOSTNAME"

更改下列內容:

  • CERTIFICATE_MAP_ENTRY_NAME:憑證對應項目的名稱。
  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。
  • CERTIFICATE_NAMES:您要與此憑證對應項目建立關聯的憑證名稱清單,以半形逗號分隔。
  • HOSTNAME:您要與憑證對應項目建立關聯的主機名稱。

API

如要建立憑證對應關係項目,請對 certificateMaps.certificateMapEntries.create 方法發出 POST 要求,如下所示:

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME"
{
 hostname: "HOSTNAME"
 certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。
  • CERTIFICATE_MAP_ENTRY_NAME:憑證對應項目的名稱。
  • HOSTNAME:您要與憑證對應項目建立關聯的主機名稱。
  • CERTIFICATE_NAME1:您要與此憑證對應項目建立關聯的第一個憑證名稱。
  • CERTIFICATE_NAME2:您要與此憑證對應項目建立關聯的第二個憑證名稱。

Terraform

如要建立憑證對應項目,您可以使用 google_certificate_manager_certificate_map_entry 資源

resource "google_certificate_manager_certificate_map_entry" "default" {
  name        = "${local.name}-first-entry-${random_id.tf_prefix.hex}"
  description = "example certificate map entry"
  map         = google_certificate_manager_certificate_map.default.name
  labels = {
    "terraform" : true
  }
  certificates = [google_certificate_manager_certificate.default.id]
  hostname     = local.domain
}

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

如要瞭解負載平衡器如何在握手期間選取憑證,請參閱「憑證選取邏輯」。

建立主要憑證對應項目

如果用戶端未提供主機名稱,或是負載平衡器無法將主機名稱比對至已設定的憑證對應項目,您可以指定要供負載平衡器提供的主要憑證。

gcloud

如要建立主要憑證對應項目,請使用 gcloud certificate-manager maps entries create 指令搭配 set-primary 旗標:

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --set-primary

更改下列內容:

  • CERTIFICATE_MAP_ENTRY_NAME:憑證對應項目的名稱。
  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。
  • CERTIFICATE_NAMES:您要與此憑證對應項目建立關聯的憑證名稱清單,以半形逗號分隔。

API

如要建立憑證對應項目,請對 certificateMaps.certificateMapEntries.create 方法發出 POST 要求,如下所示:

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME"
{
   matcher: "PRIMARY",
   certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。
  • CERTIFICATE_MAP_ENTRY_NAME:憑證對應項目的名稱。
  • CERTIFICATE_NAME1:您要與主要憑證對應項目建立關聯的第一個憑證名稱。
  • CERTIFICATE_NAME2:您要與主要憑證對應項目建立關聯的第二個憑證名稱。

如要瞭解負載平衡器如何在握手期間選取憑證,請參閱「憑證選取邏輯」。

更新憑證對應項目

更新憑證對應項目時,您可以執行下列操作:

  • 指派或取消指派憑證
  • 修改說明
  • 修改標籤

gcloud

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

gcloud certificate-manager maps entries update CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAME,CERTIFICATE_NAME" \
    --description="DESCRIPTION" \
    --update-labels="LABELS"

更改下列內容:

  • CERTIFICATE_MAP_ENTRY_NAME:憑證對應項目的名稱。
  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。
  • CERTIFICATE_NAME:您要與憑證對應項目建立關聯的憑證名稱。
  • DESCRIPTION:此憑證對應項目的實用說明。
  • LABELS:套用至此憑證對應項目的標籤清單。

API

如要更新憑證對應項目,請對 certificateMaps.certificateMapEntries.patch 方法發出 PATCH 要求,如下所示:

PATCH  /v1/projects/example-project/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries/CERTIFICATE_MAP_ENTRY_NAME?updateMask=labels,description,certificates
{
  "certificates": ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
  "description": "DESCRIPTION",
  "labels": { "LABEL_KEY": "LABEL_VALUE" }
}

更改下列內容:

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

列出憑證對應項目

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

主控台

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

    前往 Certificate Manager

  2. 按一下包含對應項目的憑證對應關係名稱。「Certificate Map Details」頁面會顯示所選憑證對應關係的詳細資訊,以及相關聯的地圖項目清單。

gcloud

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

更改下列內容:

  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。
  • FILTER:限制傳回結果的值的運算式。

    舉例來說,您可以依下列條件篩選結果:

    • 放送狀態:--filter='state=ACTIVE'
    • 比對器 (設為主要):--filter='-matcher=PRIMARY'
    • 主機名稱:--filter='hostname=example.com'
    • 已指派的憑證:--filter='certificates:my-cert'
    • 標籤和建立時間:--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.certificateMapEntries.list 方法提出 LIST 要求:

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

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_MAP_NAME:目標憑證對應項目的名稱。
  • FILTER:限制傳回結果的值的運算式。

    舉例來說,您可以依下列條件篩選結果:

    • 放送狀態:--filter='state=ACTIVE'
    • 比對器 (設為主要):--filter='-matcher=PRIMARY'
    • 主機名稱:--filter='hostname=example.com'
    • 已指派的憑證:--filter='certificates:my-cert'
    • 標籤和建立時間:--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」頁面會顯示所選憑證對應關係的詳細資訊,以及相關聯的地圖項目清單。

  3. 在「地圖項目」部分,按一下要查看的地圖項目名稱。「對應關係項目詳細資料」頁面會顯示所選對應關係項目的詳細資訊。

gcloud

gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

更改下列內容:

  • CERTIFICATE_MAP_ENTRY_NAME:憑證對應項目的名稱。
  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。

API

如要查看憑證對應項目的狀態,請向 certificateMaps.certificateMapEntries.get 方法提出 GET 要求,如下所示:

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

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。
  • CERTIFICATE_MAP_ENTRY_NAME:憑證對應項目的名稱。

刪除憑證對應關係項目

刪除憑證對應項目後,系統會將與憑證對應項目相關聯的憑證從目標 Proxy 中分離。刪除憑證對應項目不會從 Google Cloud刪除相關聯的憑證。您必須手動刪除這些憑證

gcloud

gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

更改下列內容:

  • CERTIFICATE_MAP_ENTRY_NAME:憑證對應項目的名稱。
  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。

API

如要刪除憑證對應項目,請對 certificateMaps.certificateMapEntries.delete 方法發出 DELETE 要求,如下所示:

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

更改下列內容:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • CERTIFICATE_MAP_NAME:憑證對應項目所屬的憑證對應關係名稱。
  • CERTIFICATE_MAP_ENTRY_NAME:憑證對應項目的名稱。

後續步驟