인증서 템플리트 추가
인증서 템플리트는 IBM Cloud® Secrets Manager 서비스 인스턴스에서 작성하는 개인 인증서에 적용할 매개변수를 정의하는 데 도움이 됩니다. 인증서 템플리트를 사용하여 인증서 공통 이름, 대체 이름, 유효한 키 사용을 제어하는 데 필요한 매개변수를 포함할 수 있습니다.
인스턴스당 최대 10개의 인증서 템플리트를 정의할 수 있습니다. 특정 인증 기관에 사용 가능한 템플리트 목록을 보려면 Secrets Manager UI의 시크릿 엔진 > 개인 인증서 페이지로 이동하십시오.
인스턴스당 최대 10개의 인증서 템플리트를 정의할 수 있습니다. 특정 인증 기관에 사용 가능한 템플리트 목록을 얻기 위해 구성 나열 API를 사용할 수 있습니다.
생성된 인증서에 허용된 도메인 지정
생성하는 인증서에 허용되는 도메인을 지정할 수 있습니다.
- 템플리트가 허용하는 도메인을 추가하려면 도메인 설정 섹션을 사용하십시오. 그런 다음 목록은 기본 도메인 허용 및 하위 도메인 허용 옵션과 함께 사용되어 이러한 도메인과 클라이언트가 인증서를 요청할 수 있는 도메인 간의 일치 유형을 판별합니다.
- 베어 도메인 허용 옵션을 사용으로 설정하여 클라이언트가 템플리트가 허용하는 도메인과 일치하는 인증서를 요청할 수 있는지 여부를 지정하십시오.
- 서브도메인 허용 옵션을 사용하여 클라이언트가 이 템플리트가 허용하는 도메인의 서브도메인과 일치하는 인증서를 요청할 수 있는지 여부를 표시하십시오. 와일드카드 서브도메인이 이 옵션에 포함됩니다.
시작하기 전에
시작하기 전에 필수 액세스 레벨이 있는지 확인하십시오. 인스턴스의 엔진 구성을 관리하려면 관리자 서비스 역할 이상이 필요합니다.
UI에 인증서 템플리트 추가
인스턴스에 대한 중간 인증 기관을 작성한 후 Secrets Manager UI를 사용하여 인증서 템플리트를 작성할 수 있습니다.
-
콘솔에서 메뉴 아이콘
> 리소스 목록을 클릭하십시오.
-
서비스 목록에서 Secrets Manager의 인스턴스를 선택하십시오.
-
시크릿 엔진 페이지에서 개인 인증서 탭을 클릭하십시오.
-
인증 기관 테이블에서 개인 인증서에 대한 발행 CA로 사용할 중간 인증 기관의 행을 펼치십시오.
-
템플리트 탭을 클릭하여 기존 인증서 템플리트를 표시하십시오.
-
템플리트 추가를 클릭하여 새 템플리트를 연관시키십시오.
-
템플리트를 쉽게 식별할 수 있도록 이름을 제공하십시오.
-
선택사항: 생성된 인증서에 대해 TTL(Time-To-Live)을 설정하십시오.
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
}
필수 및 선택 요청 매개변수에 대한 자세한 내용은 구성 추가를 참조하세요.
UI에서 인증서 템플릿 검색하기
Secrets Manager UI를 사용하여 인증서 템플리트 값을 검색할 수 있습니다.
- 공용 인증서 시크릿 엔진에서 조치 메뉴
을 클릭하여 엔진 구성에 대한 옵션 목록을 여십시오.
- 구성 값을 보려면 구성 보기를 클릭합니다.
- 안전한 환경에 있는지 확인한 후 확인 을 클릭하십시오.
시크릿 값이 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 보기를
참조하십시오.
성공적인 응답은 다른 메타데이터와 함께 엔진 구성 값을 반환합니다. 필수 및 선택적 요청 매개변수에 대한 자세한 내용은 비밀번호 가져오기를 참조하세요.
다음 단계
- 개인용 인증서를 작성하십시오.
- Secrets Manager 개인 인증서 엔진용 Terraform IBM 모듈(TIM)을 사용하여 인증서 템플릿을 코드로 배포합니다.