新增憑證範本
憑證範本可協助您定義應用於在 IBM Cloud® Secrets Manager 服務實例中建立的私人憑證的參數。 透過使用憑證範本,您可以包括參數來控制憑證通用名稱、替代名稱、金鑰的有效用途等等。
每個實例最多可以定義 10 個憑證範本。 若要檢視特定憑證授權可用的範本清單,請前往 Secrets Manager UI 的 Secrets engines > Private certificates 頁面。
每個實例最多可以定義 10 個憑證範本。 若要取得特定憑證管理中心可用的範本清單,您可以使用 列出配置 API。
為產生的憑證指定容許的網域
您可以指定您產生的憑證所容許的網域。
- 使用 網域設定 區段來新增範本容許的網域。 然後,該清單會與 容許裸機網域 及 容許子網域 選項搭配使用,以判定這些網域與用戶端可以為其要求憑證之網域之間的相符類型。
- 啟用 容許裸機網域 選項,以指定用戶端是否可以要求符合範本容許之網域的憑證。
- 啟用 容許子網域 選項,以指出用戶端是否可以要求符合此範本所容許之網域的子網域的憑證。 這個選項包含萬用字元子網域。
開始之前
開始之前,請確定您具有必要的存取層次。 若要管理實例的引擎配置,您需要 管理員 服務角色或更高版本。
在使用者介面中新增憑證範本
建立實例的中繼憑證管理中心 之後,您可以使用 Secrets Manager 使用者介面來建立憑證範本。
-
在主控台中,按一下 功能表 圖示
> 資源清單。
-
從服務清單中,選取 Secrets Manager的實例。
-
在「密鑰引擎」頁面中,按一下 專用憑證 標籤。
-
在「憑證管理中心」表格中,展開您要用作專用憑證之發出 CA 的中繼憑證管理中心列。
-
按一下 範本 標籤,以顯示現有的憑證範本。
-
按一下 新增範本,以建立新範本的關聯。
-
提供名稱以輕鬆識別您的範本。
-
選用項目: 為產生的憑證設定存活時間 (TTL)。
透過設定 TTL,您可以判定 CA 發出的憑證保持有效的時間長度。 證書租期結束後,會自動廢止。
您在憑證範本上定義的 TTL 或有效期間不能超出針對相關聯 CA 定義的 TTL 值上限。 如需相關資訊,請參閱 選擇憑證的有效期。
-
選用項目: 選取您要用來產生所產生憑證之金鑰的金鑰演算法。
-
選用項目: 選取您要為所產生憑證指派的 密鑰群組實例中包含密鑰的環境及限制必須遵循。 使用者可以與秘密群組相關聯,以實現存取和協作。 。
透過從清單中選取一或多個密鑰群組,您可以限制只建立那些群組的專用憑證。 如需密鑰群組的相關資訊,請參閱 組織密鑰。
-
選用項目: 針對產生的專用憑證啟用進階選項。
-
網域設定: 新增要套用至所產生專用憑證的特定網域、子網域或萬用字元。
-
憑證角色:標示您所產生的私人憑證的特定用途。
-
主題名稱: 將「主題名稱」參數欄位套用至產生的專用憑證。
-
若要確認您的選擇,請按一下 新增。
使用 API 新增憑證範本
您可以透過呼叫 Secrets Manager API 來建立服務實例的憑證範本。
下列範例顯示可用來建立憑證範本的查詢,並將其與針對實例所配置的現有中繼憑證管理中心相關聯。
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"config_type": "private_cert_configuration_template",
"name": "test-certificate-template",
"allow_any_name": true,
"allowed_uri_sans": [
"https://www.example.com/test"
],
"certificate_authority": "test-intermediate-CA",
"enforce_hostnames": false,
"max_ttl": "8760h"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"
成功回應會將範本配置新增至服務實例。
{
"allow_any_name": true,
"allow_bare_domains": false,
"allow_glob_domains": false,
"allow_ip_sans": true,
"allow_localhost": true,
"allow_subdomains": false,
"allowed_domains": [],
"allowed_domains_template": false,
"allowed_other_sans": [],
"allowed_uri_sans": [
"https://www.example.com/test"
],
"basic_constraints_valid_for_non_ca": false,
"certificate_authority": "test-intermediate-CA",
"client_flag": true,
"code_signing_flag": false,
"config_type": "private_cert_configuration_template",
"created_at": "2022-06-27T11:58:15Z",
"created_by": "iam-ServiceId-e4a2f0a4-3c76-4bef-b1f2-fbeae11c0f21",
"country": [],
"email_protection_flag": false,
"enforce_hostnames": false,
"ext_key_usage": [],
"ext_key_usage_oids": [],
"key_bits": 2048,
"key_type": "rsa",
"key_usage": [
"DigitalSignature",
"KeyAgreement",
"KeyEncipherment"
],
"locality": [],
"max_ttl_seconds": 31536000,
"name": "test-certificate-template",
"not_before_duration_seconds": 30,
"organization": [],
"ou": [],
"policy_identifiers": [],
"postal_code": [],
"province": [],
"require_cn": true,
"secret_type": "private_cert",
"server_flag": true,
"street_address": [],
"ttl_seconds": 43200,
"updated_at": "2022-10-05T21:33:11Z",
"use_csr_common_name": true,
"use_csr_sans": true
}
從 CLI 新增憑證範本
您可以使用 ibmcloud secrets-manager configuration-create 指令來建立服務實例的憑證範本。
下列範例顯示一個指令,您可以使用該指令來建立憑證範本,並將它與為實例配置的現有中繼憑證管理中心相關聯。
ibmcloud secrets-manager configuration-create
--configuration-prototype='{
"config_type": "private_cert_configuration_template",
"name": "example-certificate-template",
"allow_any_name": true,
"allow_bare_domains": true,
"allow_glob_domains": true,
"allow_ip_sans": true,
"allow_localhost": true,
"allow_subdomains": false,
"allow_wildcard_certificates": true,
"allowed_domains": ["example.com","acme.com"],
"allowed_domains_template": true,
"allowed_other_sans": [
"1.2.3.5.4.3.201.10.4.3;utf8:test@example.com",
"1.3.6.1.4.1.201.10.5.5;UTF-8:*"
],
"allowed_secret_groups": "d898bb90-82f6-4d61-b5cc-b079b66cfa76",
"allowed_uri_sans": ["example.com","acme://*"],
"certificate_authority": "example-intermediate-CA",
"client_flag": true,
"code_signing_flag": false,
"email_protection_flag": false,
"enforce_hostnames": false,
"key_bits": 2048,
"key_type": "rsa",
"key_usage": [
"DigitalSignature",
"KeyAgreement",
"KeyEncipherment"
],
"max_ttl": "24h",
"server_flag": true,
"ttl": "8h",
"use_csr_common_name": true,
"use_csr_sans": true
}'
使用 Terraform 新增憑證範本
您可以使用 Secrets Manager的 Terraform 來建立服務實例的憑證範本。
下列範例顯示可用來建立憑證範本的配置,並將其與針對實例配置的現有中繼憑證管理中心相關聯。
resource "ibm_sm_private_certificate_configuration_template" "test_ca_template" {
instance_id = local.instance_id
region = local.region
name = "test-ca-template"
certificate_authority = ibm_sm_private_certificate_configuration_intermediate_ca.test_int_ca.name
allowed_domains = ["example1.com", "my.example.com"]
allow_any_name = true
}
如需必要及選用要求參數的相關資訊,請參閱 新增配置。
在使用者介面中擷取憑證範本
您可以使用 Secrets Manager 使用者介面來擷取憑證範本值。
- 在 公用憑證 密鑰引擎中,按一下 動作 功能表
,以開啟引擎配置的選項清單。
- 若要檢視組態值,請按一下檢視組態。
- 確定您位於安全環境之後,請按一下 確認。
密鑰值會顯示 15 秒,然後對話框會關閉。
使用 CLI 擷取憑證範本
您可以使用 Secrets Manager CLI 來擷取憑證範本值。 在下列範例指令中,將引擎配置名稱取代為您配置的名稱。
ibmcloud secrets-manager configuration --name EXAMPLE_CONFIG --service-url https://{instance_ID}.{region}.secrets-manager.appdomain.cloud
將 {instance_ID} 和 {region} 取代為適用於 Secrets Manager 服務實例的值。 要找到專屬於您的實例的端點 URL,您可以從 Secrets Manager UI 的端點頁面複製它。 如需相關資訊,請參閱 檢視端點 URL
使用 API 擷取憑證範本
您可以使用 Secrets Manager API 來擷取憑證範本值。 在下列範例要求中,將引擎配置名稱取代為您配置的名稱。
curl -X GET --location --header "Authorization: Bearer {iam_token}" \
--header "Accept: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/{name}"
將 {instance_ID} 和 {region} 取代為適用於 Secrets Manager 服務實例的值。 要找到專屬於您的實例的端點 URL,您可以從 Secrets Manager UI 的端點頁面複製它。 如需相關資訊,請參閱 檢視端點 URL
成功回應會傳回引擎配置的值,以及其他 meta 資料。 如需必要及選用要求參數的相關資訊,請參閱 取得密鑰。
下一步
- 建立專用憑證。
- 使用適用於 Secrets Manager 私有憑證引擎的 Terraform IBM 模組 (TIM) 以代碼形式部署憑證範本。