本頁說明如何建立及管理信任設定,以用於各種相互 TLS 驗證 (mTLS) 情境。
如要進一步瞭解 mTLS,請參閱下列資源:
如要瞭解信任設定、信任錨點和中繼憑證的概念,請參閱「信任設定」。
如要進一步瞭解 mTLS,請參閱 Cloud Load Balancing 說明文件中的相互 TLS 總覽。
如要使用信任設定在目標 Proxy 上設定 mTLS,請參閱 Cloud Load Balancing 文件中的下列頁面:
建立信任設定
建立信任設定時,您必須指定用於驗證憑證的信任錨點。
如要建立信任設定,請完成下列步驟:
控制台
在 Google Cloud 控制台中,前往「Certificate Manager」頁面的「Trust configs」分頁。
按一下「新增信任設定」。系統隨即會顯示「Create Trust Config」(建立信任設定) 頁面。
在「Name」(名稱) 欄位中,輸入設定名稱。
此名稱在專案中不得重複。此外,開頭須為小寫英文字母,後面最多可接 62 個小寫英文字母、數字或連字號,結尾不得為連字號。
選用:在「Description」(說明) 欄位中輸入設定的說明。這項說明有助於日後識別特定設定。
選用:在「標籤」欄位中,指定要與信任設定建立關聯的標籤。如要新增標籤,請按一下「新增標籤」,然後指定標籤的鍵和值。
在「位置」部分,選取「全域」或「區域」。
如果選取「區域」,請選取「區域」。
在「信任存放區」部分,新增信任錨點和中繼 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 檔案,指定新的信任設定參數,然後將這個檔案匯入 Certificate Manager。
控制台
在 Google Cloud 控制台中,前往「Certificate Manager」頁面的「Trust configs」分頁。
找出並選取要更新的信任設定。
在「更多選項」欄中,點選要更新的設定「更多動作」,然後選取「編輯」。
進行必要變更。
按一下 [儲存]。
確認設定變更已更新。
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:新增至允許清單的憑證,可用於這個信任設定資源。這個值為選用。
將新的信任設定檔匯入 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:新增至許可清單的憑證,可用於這個信任設定資源。這個值為選用項目。
列出信任設定
您可以查看專案的所有已設定信任設定。
控制台
在 Google Cloud 控制台中,前往「Certificate Manager」頁面的「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。