本頁面說明如何建立及管理信任設定,以便用於相互 TLS 驗證 (mTLS) 情境。
如要進一步瞭解 mTLS,請參閱下列資源:
如要瞭解信任設定、信任錨點和中繼憑證的概念,請參閱「信任設定」。
如要進一步瞭解 mTLS,請參閱 Cloud Load Balancing 說明文件中的「Mutual TLS 總覽」。
如要使用信任設定在目標 Proxy 上設定 mTLS,請參閱 Cloud Load Balancing 說明文件中的以下頁面:
建立信任設定
建立信任設定時,您必須指定用於驗證憑證的信任錨點。
如要建立信任設定,請完成下列步驟:
主控台
在 Google Cloud 控制台中,前往「Certificate Manager」頁面的「Trust configs」分頁。
按一下「新增信任設定」。隨即顯示「Create Trust Config」頁面。
在「Name」欄位中,輸入設定名稱。
此名稱在專案中不得重複。此外,開頭必須為小寫字母,後面最多可接 62 個小寫字母、數字或連字號,結尾不得為連字號。
選用:在「說明」欄位中輸入設定的說明。這項說明可協助您日後辨識特定設定。
選用:在「標籤」欄位中,指定要與信任設定建立關聯的標籤。如要新增標籤,請按一下
「Add label」,然後指定標籤的鍵和值。在「Location」(位置) 部分,選取「Global」(全域)或「Regional」(區域)。
如果您選取「Regional」(區域),請選取「Region」(區域)。
在「信任存放區」部分中,新增信任錨點和中繼 CA。
您可以使用憑證的完整 PEM 酬載的多個例項 (每個例項一個憑證),指定多個信任錨點和中繼憑證。
在「信任錨點」部分,按一下「新增信任錨點」,然後上傳 PEM 編碼憑證檔案,或複製憑證內容。完成後,按一下「新增」。
選用:在「中繼 CA」部分,按一下「新增中繼 CA」,然後上傳採用 PEM 編碼的中繼憑證檔案,或複製中繼憑證的內容。完成後,按一下「新增」。
這個步驟可讓您在根憑證和伺服器憑證之間新增另一層信任關係。
選用:在「允許清單憑證」部分,按一下「新增憑證」,然後上傳 PEM 編碼憑證檔案,或複製憑證內容。這會將憑證新增至許可清單。完成後,按一下「新增」。
如要在信任設定資源規格中指定多個信任錨點或中繼憑證,請使用
pemCertificate
欄位的多個例項。每個欄位例項都包含單一證書。信任設定一律會將許可清單上的憑證視為有效。如要在許可清單中封裝多個憑證,請使用
pemCertificate
欄位的多個例項,每個例項對應一個憑證。使用新增至許可清單的憑證時,您不需要信任存放區。信任設定一律會將許可清單上的憑證視為有效,前提是該憑證必須符合特定條件:必須可剖析、具備私密金鑰擁有權的證明,並遵守憑證 SAN 欄位的限制。已過期的憑證加入許可清單後,也視為有效。如要進一步瞭解 PEM 編碼格式,請參閱 RFC 7468。
按一下 [建立]。
確認新的信任設定是否顯示在設定清單中。
gcloud
建立指定信任設定參數的信任設定 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。
如要匯入信任設定 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 檔案,指定新的信任設定參數,然後將此檔案匯入憑證管理工具。
主控台
在 Google Cloud 控制台中,前往「Certificate Manager」頁面的「Trust configs」分頁。
找出並選取要更新的信任設定。
在「More Options」欄中,按一下要更新的設定的「More actions」
,然後選取「Edit」。進行必要變更。
按一下 [儲存]。
確認設定變更已更新。
gcloud
匯出信任設定 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
。
編輯信任設定 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
:新增至許可清單的憑證,用於此信任設定資源。這個值為選用。
將新的信任設定檔匯入憑證管理工具,並使用現有的信任設定資源名稱。
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
:新增至許可清單的憑證,用於此信任設定資源。這個值為選用值。
列出信任設定
您可以查看專案的所有已設定信任設定。
控制台
在 Google Cloud 控制台中,前往「Certificate Manager」頁面的「Trust configs」分頁。
在「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
欄位清單,用於排序傳回的結果。預設排序順序為遞增;如要遞減排序,請在欄位前面加上波浪號 (~
)。
查看信任設定
您可以查看特定信任設定的詳細資料。
控制台
在 Google Cloud 控制台中,前往「Certificate Manager」頁面的「Trust configs」分頁。
按一下要查看的信任設定資源。「信任設定詳細資料」頁面會顯示所選信任設定資源的詳細資訊。
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
) 資源中分離。
主控台
在 Google Cloud 控制台中,前往「Certificate Manager」頁面的「Trust configs」分頁。
找出要刪除的信任設定,然後選取對應的核取方塊。
點選「刪除」。
在出現的對話方塊中,按一下 [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。