建立從屬憑證授權單位
本頁說明如何在 CA 集區中建立從屬憑證授權單位 (CA)。
下層 CA 負責直接向使用者、電腦和裝置等終端實體核發憑證。從屬 CA 會由父項 CA (通常是根 CA) 進行加密簽署。因此,信任根 CA 的系統會自動信任從屬 CA,以及從屬 CA 核發的終端實體憑證。
事前準備
- 確認您具備 CA 服務作業管理員 (
roles/privateca.caManager) 或 CA 服務管理員 (roles/privateca.admin) IAM 角色。詳情請參閱「設定 IAM 政策」。 - 建立 CA 集區。
- 選取根 CA。
建立從屬 CA
與根 CA 相比,從屬 CA 更容易撤銷及輪替。如果您有多個憑證核發情境,可以為每個情境建立從屬 CA。在 CA 集區中新增多個從屬 CA,有助於更妥善地平衡分配憑證要求負載,並提高總有效 QPS。
如要建立下層 CA,請按照下列步驟操作:
控制台
前往Google Cloud 控制台的「Certificate Authority Service」(憑證授權單位服務) 頁面。
按一下「CA 管理員」分頁標籤。
按一下「建立 CA」。
選取 CA 類型
- 按一下「Subordinate CA」(下層 CA)。
- 按一下「根 CA 位於 Google Cloud」。
- 在「Valid for」(效期) 欄位中,輸入您希望 CA 憑證的效期。
- 選用:選擇 CA 的層級。預設層級為「Enterprise」(企業)。詳情請參閱「選取作業層級」。
- 按一下「區域」,為 CA 選取位置。詳情請參閱「位置」一節。
- 選用:在「Initialized state」(已初始化狀態) 下,選取要建立 CA 的作業狀態。
- 選用:在「設定核發情境」下方,按一下「憑證設定檔」,然後從清單中選取最符合需求的憑證設定檔。詳情請參閱「憑證設定檔」。
- 點選「下一步」。
- 在「Organization (O)」(機構 (O)) 欄位中,輸入貴公司名稱。
- 選用:在「機構單位 (OU)」欄位中,輸入公司部門或業務單位。
- 選用:在「Country name (C)」(國家/地區名稱 (C)) 欄位中,輸入包含兩個英文字母的國家/地區代碼。
- 選用:在「州/省名稱」欄位中,輸入您所在州/省的名稱。
- 選用:在「Locality name」(所在地名稱) 欄位中,輸入您的城市名稱。
- 在「CA common name (CN)」(CA 一般名稱 (CN)) 欄位中,輸入 CA 名稱。
- 按一下「繼續」。
- 請選擇最符合需求的金鑰演算法。如要進一步瞭解簽署金鑰選項,請參閱「設定 CA 簽署金鑰」。
- 如要使用客戶管理的簽署金鑰,請選取「客戶管理的金鑰」,並提供 Cloud Key Management Service 加密金鑰版本。
- 按一下「繼續」。
- 選擇要使用 Google 代管或客戶自行管理的 Cloud Storage bucket。
- 如果是 Google 管理的 Cloud Storage bucket,CA 服務會在與 CA 相同的位置建立 Google 管理的 bucket。
- 如果是客戶代管的 Cloud Storage bucket,請按一下「瀏覽」,然後選取現有的 Cloud Storage bucket。
- 按一下「繼續」。
下列步驟為選用步驟。
如要為 CA 新增標籤,請按照下列步驟操作:
- 按一下「新增項目」。
- 在「Key 1」欄位中,輸入標籤鍵。
- 在「Value 1」(值 1) 欄位中輸入標籤值。
- 如要新增其他標籤,請按一下「新增項目」。然後,按照步驟 2 和 3 所述,新增標籤鍵和值。
- 按一下「繼續」。
仔細檢查所有設定,然後按一下「完成」建立 CA。
gcloud
為從屬 CA 建立 CA 集區:
gcloud privateca pools create SUBORDINATE_POOL_ID --location=LOCATION更改下列內容:
- SUBORDINATE_POOL_ID:CA 集區的名稱。
- LOCATION:要建立 CA 集區的位置。如需完整地點清單,請參閱「地點」。
如要進一步瞭解如何建立 CA 集區,請參閱「建立 CA 集區」。
如要進一步瞭解
gcloud privateca pools create指令,請參閱「gcloud privateca pools create」。在建立的 CA 集區中建立從屬 CA。
gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_POOL_ID \ --location=LOCATION \ --issuer-pool=ISSUER_POOL_ID \ --issuer-location=ISSUER_LOCATION \ --key-algorithm="ec-p256-sha256" \ --subject="CN=Example Server TLS CA, O=Example LLC"更改下列內容:
- SUBORDINATE_CA_ID:下層 CA 的專屬 ID。
- SUBORDINATE_POOL_ID:CA 集區的名稱。
- LOCATION:CA 集區的位置。
- ISSUER_POOL_ID:包含核發 CA 的 CA 集區名稱。
ISSUER_LOCATION:包含核發 CA 的 CA 集區位置。
--key-algorithm旗標會指定您要用於建立 CA 受管理 Cloud HSM 金鑰的加密編譯演算法。--subject旗標會指定憑證主體的 X.501 名稱。
如要使用客戶管理的簽署金鑰建立下層 CA,請執行下列指令:
gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_POOL_ID \ --location=LOCATION \ --issuer-pool=ISSUER_POOL_ID \ --issuer-location=ISSUER_LOCATION \ --kms-key-version=KMS_KEY_VERSION \ --subject="CN=Example Server TLS CA, O=Example LLC"更改下列內容:
- SUBORDINATE_POOL_ID:CA 集區的名稱。
- LOCATION:CA 集區的位置。
- ISSUER_POOL_ID:包含核發 CA 的 CA 集區名稱。
- ISSUER_LOCATION:包含核發 CA 的 CA 集區位置。
- KMS_KEY_VERSION:客戶管理的 Cloud KMS 加密編譯金鑰版本的完整資源 ID,用做簽署金鑰。
如要進一步瞭解簽署金鑰選項,以及如何準備客戶自行管理的簽署金鑰,請參閱「設定 CA 簽署金鑰」。
建立從屬 CA 時,系統會傳回下列陳述式。
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID].
如要指定自訂授權資訊存取 (AIA) 和 CRL 發布點 (CDP) 存取網址,請使用
--custom-aia-urls和--custom-cdp-urls標記。如果指定這些網址,CA 核發的所有憑證都會包含這些網址,並取代預設的 Cloud Storage 值區存取網址。如要查看完整的設定清單,請執行下列
gcloud指令:gcloud privateca subordinates create --help這個指令會傳回範例,用於建立發行者位於 CA 服務或他處的從屬 CA。
Terraform
Java
如要向 CA Service 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 CA Service 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
啟用從屬 CA
如要啟用從屬 CA,請按照下列步驟操作:
控制台
前往Google Cloud 控制台的「Certificate Authority Service」(憑證授權單位服務) 頁面。
按一下「CA 管理員」分頁標籤。
在「憑證授權單位」下方,選取要啟用的 CA。
按一下「啟用」。
在隨即開啟的對話方塊中,按一下「下載 CSR」,即可下載核發憑證的 CA 可簽署的 PEM 編碼 CSR 檔案。
點選「下一步」。
在「Upload Certificate Chain」(上傳憑證鏈) 欄位中,按一下「Browse」(瀏覽)。
上傳副檔名為
.crt的簽署憑證檔案。點按「Activate」(啟用)。
gcloud
如要啟用新建立的下層 CA,請執行下列指令:
gcloud privateca subordinates enable SUBORDINATE_CA_ID \
--pool=SUBORDINATE_POOL_ID \
--location=LOCATION
更改下列內容:
- SUBORDINATE_CA_ID:下層 CA 的專屬 ID。
- SUBORDINATE_POOL_ID:包含從屬 CA 的 CA 集區名稱。
- LOCATION:CA 集區的位置。如需完整的位置清單,請參閱「位置」。
如要進一步瞭解 gcloud privateca subordinates enable 指令,請參閱「gcloud privateca subordinates enable」。
Terraform
在下層 CA 上將欄位 desired_state 設為 ENABLED,然後執行 terraform apply。