憑證對應項目會將憑證與目標主機名稱和目標憑證對應關係建立關聯。本頁說明如何建立及管理憑證對應項目。
詳情請參閱「憑證對應項目」。
建立憑證對應關係項目
您可以建立憑證地圖項目,並將最多四張憑證與該項目建立關聯。為主機名稱指定多個憑證時,建議您為每個憑證使用不同的金鑰演算法。舉例來說,您可以為一個憑證使用 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 資源。
如要瞭解如何套用或移除 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:套用至這個憑證對應項目的標籤值。
列出憑證對應項目
您可以列出、篩選及排序專案的所有已設定憑證對應項目。
主控台
在 Google Cloud 控制台中,前往「Certificate Manager」(憑證管理工具) 頁面的「Certificate maps」(憑證對應) 分頁。
按一下包含對應項目的憑證對應關係名稱。「憑證對應關係詳細資料」頁面會顯示所選憑證對應關係的詳細資訊,以及相關聯的對應項目清單。
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欄位清單,傳回的結果會依這些欄位排序。預設排序順序為遞增;如要遞減排序,請在欄位前面加上波狀符號 (~)。
查看憑證對應關係項目的狀態
您可以查看憑證對應關係項目的狀態。
主控台
在 Google Cloud 控制台中,前往「Certificate Manager」(憑證管理工具) 頁面的「Certificate maps」(憑證對應) 分頁。
按一下包含對應項目之憑證對應關係的名稱。 「憑證對應關係詳細資料」頁面會顯示所選憑證對應關係的詳細資訊,以及相關聯的對應項目清單。
在「對應項目」部分中,按一下要查看的對應項目名稱。「對應關係項目詳細資料」頁面會顯示所選對應關係項目的詳細資訊。
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:憑證對應項目名稱。