인증서 관리

이 페이지에서는 인증서 관리자를 사용하여 전송 계층 보안(TLS) 인증서를 만들고 관리하는 방법을 설명합니다. 인증서 관리자는 다음과 같은 유형의 TLS(SSL) 인증서를 지원합니다.

  • Google 관리형 인증서는 Google Cloud가 가져오고 관리하는 인증서입니다. 인증서 관리자에서 다음 유형의 Google 관리형 인증서를 만들 수 있습니다.
    • 전역 인증서
      • 부하 분산기 승인을 사용하는 Google 관리형 인증서
      • DNS 승인을 사용하는 Google 관리형 인증서
      • Certificate Authority Service(CA 서비스)를 사용하는 Google 관리형 인증서
    • 리전별 인증서
      • 리전별 Google 관리형 인증서
      • CA 서비스를 사용하는 리전별 Google 관리형 인증서
  • 자체 관리형 SSL 인증서는 사용자가 직접 가져와 프로비저닝하고 갱신하는 인증서입니다.

인증서에 대한 자세한 내용은 인증서 관리자의 작동 방식을 참조하세요.

인증서 관리자로 인증서를 배포하는 방법은 배포 개요를 참조하세요.

이 페이지에서 사용된 gcloud CLI 명령어에 대한 자세한 내용은 인증서 관리자 CLI 참조를 확인하세요.

부하 분산기 승인을 사용하여 Google 관리형 인증서 만들기

부하 분산기 승인을 사용하여 Google 관리형 인증서를 만들려면 이 섹션의 단계를 완료하세요. global 위치에서 부하 분산기 승인을 통해서만 Google 관리형 인증서를 만들 수 있습니다.

인증서에 여러 도메인 이름을 지정하려면 쉼표로 구분된 인증서의 대상 도메인 이름 목록을 제공합니다.

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.

  • 인증서 관리자 편집자
  • 인증서 관리자 소유자

자세한 내용은 역할 및 권한을 참조하세요.

gcloud

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES"

다음을 바꿉니다.

  • CERTIFICATE_NAME: 이 인증서를 설명하는 고유한 이름입니다.
  • DOMAIN_NAMES: 쉼표로 구분된 이 인증서의 대상 도메인 목록입니다. 각 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.

Terraform

Google 관리형 인증서를 만들려면 managed 블록과 함께 google_certificate_manager_certificate 리소스를 사용하면 됩니다.

resource "google_certificate_manager_certificate" "default" {
  name        = "prefixname-rootcert-${random_id.default.hex}"
  description = "Google-managed cert"
  managed {
    domains = ["example.me"]
  }
  labels = {
    "terraform" : true
  }
}

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.

API

다음과 같이 certificates.create 메서드에 POST 요청을 전송하여 인증서를 만듭니다.

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
 }
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_NAME: 이 인증서를 설명하는 고유한 이름입니다.
  • DOMAIN_NAME: 이 인증서의 대상 도메인입니다. 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.

인증서 배포 프로세스에 대한 개요는 배포 개요를 참조하세요.

DNS 승인을 사용하여 Google 관리 인증서 만들기

DNS 승인을 사용하여 전역 Google 관리형 인증서를 만들려면 다음을 수행합니다.

  1. 인증서에 포함된 각 도메인 이름을 참조하는 해당 DNS 승인을 만듭니다. 자세한 내용은 DNS 승인 만들기를 참조하세요.
  2. 대상 도메인의 DNS 영역에서 검증 하위 도메인에 대한 유효한 CNAME 레코드를 구성합니다. 자세한 내용은 DNS 구성에 CNAME 레코드 추가를 참조하세요.
  3. 이 섹션의 단계를 완료합니다.

regionalglobal Google 관리형 인증서를 모두 만들 수 있습니다. regional Google 관리형 인증서를 만드는 방법에 대한 자세한 내용은 리전별 Google 관리형 인증서 만들기를 참조하세요.

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.

  • 인증서 관리자 편집자
  • 인증서 관리자 소유자

자세한 내용은 역할 및 권한을 참조하세요.

gcloud

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --dns-authorizations="AUTHORIZATION_NAMES"

다음을 바꿉니다.

  • CERTIFICATE_NAME: 이 인증서를 설명하는 고유한 이름입니다.
  • DOMAIN_NAMES: 쉼표로 구분된 이 인증서의 대상 도메인 목록입니다. 각 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.
  • AUTHORIZATION_NAMES: 이 인증서에 만든 DNS 승인의 이름을 쉼표로 구분한 목록입니다.

와일드 카드 도메인 이름으로 Google 관리형 인증서를 만들려면 다음 명령어를 사용합니다. 와일드 카드 도메인 이름 인증서는 지정된 도메인의 모든 첫 번째 수준 하위 도메인을 포함합니다.

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="*.DOMAIN_NAME,DOMAIN_NAME" --dns-authorizations=AUTHORIZATION_NAME

다음을 바꿉니다.

  • CERTIFICATE_NAME: 이 인증서를 설명하는 고유한 이름입니다.
  • DOMAIN_NAME: 이 인증서의 대상 도메인입니다. 별표 점 프리픽스(*.) 프리픽스는 와일드 카드 인증서를 나타냅니다. 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.
  • AUTHORIZATION_NAME: 이 인증서에 만든 DNS 승인의 이름입니다.

Terraform

DNS 승인으로 Google 관리형 인증서를 만들려면 managed 블록의 dns_authorizations 속성과 함께 google_certificate_manager_certificate 리소스를 사용하면 됩니다.

resource "google_certificate_manager_certificate" "root_cert" {
  name        = "${local.name}-rootcert-${random_id.tf_prefix.hex}"
  description = "The wildcard cert"
  managed {
    domains = [local.domain, "*.${local.domain}"]
    dns_authorizations = [
      google_certificate_manager_dns_authorization.default.id
    ]
  }
  labels = {
    "terraform" : true
  }
}

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.

API

다음과 같이 certificates.create 메서드에 POST 요청을 전송하여 인증서를 만듭니다.

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "dnsAuthorizations": [
   "projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME",
  ],
 }
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_NAME: 이 인증서를 설명하는 고유한 이름입니다.
  • DOMAIN_NAME: 이 인증서의 대상 도메인입니다. 별표 점 프리픽스(*.)는 와일드 카드 인증서를 나타냅니다. 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.
  • AUTHORIZATION_NAME: 이 인증서에 만든 DNS 승인의 이름입니다.

여러 프로젝트에서 인증서를 독립적으로 관리하려면 프로젝트별 DNS 승인(미리보기)을 사용하면 됩니다. 프로젝트별 DNS 승인을 사용하여 인증서를 만드는 방법에 대한 자세한 내용은 DNS 승인 만들기를 참조하세요.

인증서 배포 프로세스에 대한 개요는 배포 개요를 참조하세요.

CA 서비스에서 발급한 Google 관리형 인증서 만들기

사용자가 관리하는 CA 서비스 인스턴스에서 발급한 Google 관리형 인증서를 만들려면 이 섹션의 단계를 완료합니다. regionalglobal Google 관리형 인증서를 모두 만들 수 있습니다. CA 서비스에서 발급한 리전별 Google 관리형 인증서를 만드는 방법에 대한 자세한 내용은 CA 서비스에서 발급한 리전별 Google 관리형 인증서 만들기를 참조하세요.

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 대해 다음 역할이 있어야 합니다.

이 섹션에 사용된 gcloud CLI 명령어에 대한 자세한 내용은 인증서 관리자 CLI 참조를 확인하세요.

인증서 관리자와 CA 서비스 통합 구성

아직 수행하지 않았으면 이 섹션에 설명된 대로 CA 서비스와 통합하도록 인증서 관리자를 구성해야 합니다. 대상 CA 풀에 인증서 발급 정책이 적용되면 다음 이유 중 하나로 인해 인증서 프로비저닝이 실패할 수 있습니다.

  • 인증서 발급 정책이 요청된 인증서를 차단했습니다. 이 경우 인증서가 발급되지 않아 비용이 청구되지 않습니다.
  • 정책이 인증서 관리자에서 지원하지 않는 인증서에 변경사항을 적용했습니다. 이 경우 인증서 관리자와 완벽하게 호환되지 않더라도 인증서가 발급된 이후 요금이 계속 청구됩니다.

발급 정책 제한사항과 관련된 문제는 문제 해결 페이지를 참조하세요.

인증서 관리자와 CA 서비스 통합을 구성하려면 다음을 수행합니다.

  • 인증서 관리자에 대상 CA 풀에서 인증서를 요청할 수 있는 기능을 부여합니다.
    1. 다음 명령어를 사용하여 대상 Google Cloud 프로젝트에 인증서 관리자 서비스 계정을 만듭니다.
     gcloud beta services identity create --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
     

    PROJECT_ID를 대상 Google Cloud 프로젝트의 ID로 바꿉니다.

    이 명령어는 생성된 서비스 계정의 이름을 반환합니다. 예를 들면 다음과 같습니다.

    service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com

    1. 인증서 관리자 서비스 계정에 다음과 같이 대상 CA 풀 내에서 인증서 요청자 역할을 부여합니다.
     gcloud privateca pools add-iam-policy-binding CA_POOL \
        --location REGION \
        --member="serviceAccount:SERVICE_ACCOUNT" \
        --role roles/privateca.certificateRequester
     

    다음을 바꿉니다.

    • CA_POOL: 대상 CA 풀의 ID입니다.
    • REGION: 대상 Google Cloud 리전입니다.
    • SERVICE_ACCOUNT: 1단계에서 만든 서비스 계정의 전체 이름입니다.
  1. CA 풀의 인증서 발급 구성 리소스를 만듭니다.

     gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
         --ca-pool=CA_POOL \
         [--lifetime=CERTIFICATE_LIFETIME] \
         [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \
         [--key-algorithm=KEY_ALGORITHM]
     

    다음을 바꿉니다.

    • ISSUANCE_CONFIG_NAME: 이 인증서 발급 구성 리소스를 식별하는 고유한 이름입니다.
    • CA_POOL: 이 인증서 발급 구성 리소스에 할당할 CA 풀의 전체 리소스 경로와 이름입니다.
    • CERTIFICATE_LIFETIME: 인증서 수명(일)입니다. 유효한 값은 표준 기간 형식의 21~30일입니다. 기본값은 30일(30D)입니다. 이 설정은 선택사항입니다.
    • ROTATION_WINDOW_PERCENTAGE: 갱신이 트리거되는 인증서 수명 비율입니다. 기본값은 66%입니다. 인증서 발급 후 최소 7일이 지나고 만료되기 최소 7일 전에 인증서가 갱신되도록 인증서 수명과 관련하여 순환 기간 비율을 설정해야 합니다. 이 설정은 선택사항입니다.
    • KEY_ALGORITHM: 비공개 키를 생성하는 데 사용되는 암호화 알고리즘입니다. 유효한 값은 ecdsa-p256 또는 rsa-2048입니다. 기본값은 rsa-2048입니다. 이 설정은 선택사항입니다.

    인증서 발급 구성 리소스에 대한 자세한 내용은 인증서 발급 구성 관리를 참조하세요.

CA 서비스 인스턴스에서 발급한 Google 관리 인증서 만들기

다음과 같이 CA 서비스 인스턴스에서 발급한 Google 관리형 인증서를 만듭니다.

gcloud

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config=ISSUANCE_CONFIG_NAME

다음을 바꿉니다.

  • CERTIFICATE_NAME: 이 인증서를 설명하는 고유한 이름입니다.
  • DOMAIN_NAMES: 쉼표로 구분된 이 인증서의 대상 도메인 목록입니다. 각 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.
  • ISSUANCE_CONFIG_NAME: 대상 CA 풀을 참조하는 인증서 발급 구성 리소스의 이름입니다.

API

다음과 같이 certificates.create 메서드에 POST 요청을 전송하여 인증서를 만듭니다.

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": ["ISSUANCE_CONFIG_NAME"],
 }
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_NAME: 이 인증서를 설명하는 고유한 이름입니다.
  • DOMAIN_NAME: 이 인증서의 대상 도메인입니다. 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.
  • ISSUANCE_CONFIG_NAME: 대상 CA 풀을 참조하는 인증서 발급 구성 리소스의 이름입니다.

인증서 배포 프로세스에 대한 개요는 배포 개요를 참조하세요.

CA 서비스에서 발급한 리전별 Google 관리형 인증서 만들기

사용자가 관리하는 CA 서비스 인스턴스에서 발급한 리전별 Google 관리형 인증서를 만들려면 이 섹션의 단계를 완료합니다.

인증서 관리자와 CA 서비스 통합 구성

다음과 같이 CA 서비스와 통합하도록 인증서 관리자를 구성합니다.

  1. 대상 Google Cloud 프로젝트에서 인증서 관리자 서비스 계정을 만듭니다.

    gcloud beta services identity create
        --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
    

    PROJECT_ID를 대상 Google Cloud 프로젝트의 ID로 바꿉니다.

이 명령어는 다음 예시와 같이 생성된 서비스 ID의 이름을 반환합니다.

service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
  1. 인증서 관리자 서비스 계정에 다음과 같이 대상 CA 풀 내에서 인증서 요청자 역할을 부여합니다.

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --location LOCATION \
        --member "serviceAccount:SERVICE_ACCOUNT" \
        --role roles/privateca.certificateRequester
    

    다음을 바꿉니다.

    • CA_POOL: 대상 CA 풀의 ID입니다.
    • LOCATION: 대상 Google Cloud 위치입니다. CA 풀, 인증서 발급 구성 리소스, 관리형 인증서와 동일한 위치를 지정해야 합니다.
    • SERVICE_ACCOUNT: 1단계에서 만든 서비스 계정의 전체 이름입니다.
  2. CA 풀의 인증서 발급 구성 리소스를 만듭니다.

    gcloud beta certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
        --ca-pool=CA_POOL \
        --location=LOCATION> \
        [--lifetime=CERTIFICATE_LIFETIME] \
        [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \
        [--key-algorithm=KEY_ALGORITHM] \
    

    다음을 바꿉니다.

    • ISSUANCE_CONFIG_NAME: 인증서 발급 구성 리소스의 고유한 이름입니다.
    • CA_POOL: 이 인증서 발급 구성 리소스에 할당할 CA 풀의 전체 리소스 경로와 이름입니다.
    • LOCATION: 대상 Google Cloud 위치입니다. CA 풀, 인증서 발급 구성 리소스, 관리형 인증서와 동일한 위치를 지정해야 합니다.
    • CERTIFICATE_LIFETIME: 인증서 수명(일)입니다. 유효한 값은 표준 기간 형식의 21~30일입니다. 기본값은 30일(30D)입니다. 이 설정은 선택사항입니다.
    • ROTATION_WINDOW_PERCENTAGE: 갱신이 트리거되는 인증서 수명 비율입니다. 이 설정은 선택사항입니다. 기본값은 66%입니다. 인증서 발급 후 최소 7일이 지나고 만료되기 최소 7일 전에 인증서가 갱신되도록 인증서 수명과 관련하여 순환 기간 비율을 설정해야 합니다.
    • KEY_ALGORITHM: 비공개 키를 생성하는 데 사용되는 암호화 알고리즘입니다. 유효한 값은 ecdsa-p256 또는 rsa-2048입니다. 기본값은 rsa-2048입니다. 이 설정은 선택사항입니다.
    • DESCRIPTION: 인증서 발급 구성 리소스에 대한 설명입니다. 이 설정은 선택사항입니다.

인증서 발급 구성 리소스에 대한 자세한 내용은 인증서 발급 구성 관리를 참조하세요.

CA 서비스에서 발급한 리전별 Google 관리형 인증서 만들기

이전 단계에서 만든 인증서 발급 구성 리소스를 사용하여 CA 서비스에서 발급한 리전별 Google 관리형 인증서를 만듭니다.

gcloud

다음 명령어를 실행합니다.

gcloud beta certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config="ISSUANCE_CONFIG_NAME" \
    --location="LOCATION"

다음을 바꿉니다.

  • CERTIFICATE_NAME: 인증서의 고유한 이름입니다.
  • DOMAIN_NAMES: 쉼표로 구분된 이 인증서의 대상 도메인 목록입니다. 각 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.
  • ISSUANCE_CONFIG_NAME: 대상 CA 풀을 참조하는 인증서 발급 구성 리소스의 이름입니다.
  • LOCATION: 대상 Google Cloud 위치입니다. CA 풀, 인증서 발급 구성 리소스, 관리형 인증서와 동일한 위치를 지정해야 합니다.

API

다음과 같이 certificates.create 메서드에 POST 요청을 전송하여 인증서를 만듭니다.

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?
{
certificate: {
    name: "/projects/example-project/locations/LOCATION/certificates/my-cert",
    "managed": {
        "domains": ["DOMAIN_NAME"],
        "issuanceConfig": "ISSUANCE_CONFIG_NAME",
              },
             }
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_NAME: 인증서의 고유한 이름입니다.
  • DOMAIN_NAME: 이 인증서의 대상 도메인입니다. 도메인 이름은 example.com, www.example.com과 같은 정규화된 도메인 이름이어야 합니다.
  • ISSUANCE_CONFIG_NAME: 대상 CA 풀을 참조하는 인증서 발급 구성 리소스의 이름입니다.
  • LOCATION: 대상 Google Cloud 위치입니다. CA 풀, 인증서 발급 구성 리소스, 관리형 인증서와 동일한 위치를 지정해야 합니다.

인증서 배포 프로세스에 대한 개요는 배포 개요를 참조하세요.

리전별 Google 관리형 인증서 만들기

DNS 승인을 사용하여 Google 관리형 인증서를 만들려면 다음을 수행합니다.

  1. 인증서가 적용되는 각 도메인 이름을 참조하는 해당 DNS 승인을 만듭니다. 자세한 내용은 DNS 승인 만들기를 참조하세요.
  2. 대상 도메인의 DNS 영역에서 검증 하위 도메인에 대한 유효한 CNAME 레코드를 구성합니다. 자세한 내용은 DNS 구성에 CNAME 레코드 추가를 참조하세요.
  3. 이 섹션의 단계를 완료합니다.

regionalglobal Google 관리형 인증서를 모두 만들 수 있습니다. global Google 관리형 인증서를 만드는 방법에 대한 자세한 내용은 DNS 승인을 사용하여 Google 관리형 인증서 만들기를 참조하세요.

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.

  • 인증서 관리자 편집자
  • 인증서 관리자 소유자

자세한 내용은 역할 및 권한을 참조하세요.

gcloud

다음 명령어를 실행합니다.

gcloud certificate-manager certificates create CERTIFICATE_NAME \
   --domains=DOMAIN_NAME \
   --dns-authorizations=AUTHORIZATION_NAME \
   --location=LOCATION

다음을 바꿉니다.

  • CERTIFICATE_NAME: 인증서의 고유한 이름입니다.
  • DOMAIN_NAME: 인증서의 대상 도메인입니다. 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.
  • AUTHORIZATION_NAME: 이 인증서에 만든 DNS 승인의 이름입니다.
  • LOCATION: Google 관리형 인증서를 만들 위치입니다.

와일드 카드 도메인 이름으로 Google 관리형 인증서를 만들려면 다음 명령어를 사용합니다. 와일드 카드 도메인 이름 인증서는 지정된 도메인의 모든 첫 번째 수준 하위 도메인을 포함합니다.

gcloud certificate-manager certificates create CERTIFICATE_NAME \
   --domains="*.DOMAIN_NAME,DOMAIN_NAME" \
   --dns-authorizations=AUTHORIZATION_NAME
   --location=LOCATION

다음을 바꿉니다.

  • CERTIFICATE_NAME: 인증서의 고유한 이름입니다.
  • DOMAIN_NAME: 인증서의 대상 도메인입니다. 별표 점 프리픽스(*.)는 와일드 카드 인증서를 나타냅니다. 도메인 이름은 myorg.example.com과 같은 정규화된 도메인 이름이어야 합니다.
  • AUTHORIZATION_NAME: 이 인증서에 만든 DNS 승인의 이름입니다.
  • LOCATION: Google 관리형 인증서를 만들 위치입니다.

자체 관리형 인증서 업로드

자체 관리형 인증서를 업로드하려면 이 섹션의 단계를 완료하세요. 다음 유형의 전역 및 리전 X.509 TLS(SSL) 인증서를 업로드할 수 있습니다.

  • 원하는 타사 인증 기관(CA)에서 생성된 인증서
  • 사용자가 관리하는 인증 기관에서 생성한 인증서
  • 비공개 키 및 인증서 만들기에 설명된 자체 서명 인증서

다음 PEM 인코딩 파일을 업로드해야 합니다.

  • 인증서(.crt) 파일
  • 해당 비공개 키(.key) 파일

부하 분산기에서 인증서 제공을 시작하는 데 필요한 단계는 배포 개요를 참조하세요.

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.

  • 인증서 관리자 편집자
  • 인증서 관리자 소유자

자세한 내용은 역할 및 권한을 참조하세요.

gcloud

gcloud certificate-manager certificates create  CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE" \
    [--location="REGION"]

다음을 바꿉니다.

  • CERTIFICATE_NAME: 이 인증서를 설명하는 고유한 이름입니다.
  • CERTIFICATE_FILE: .crt 인증서 파일의 경로와 파일 이름입니다.
  • PRIVATE_KEY_FILE: .key 비공개 키 파일의 경로와 파일 이름입니다.
  • REGION: 대상 Google Cloud 리전입니다. 기본값은 global입니다. 이 설정은 선택사항입니다.

Terraform

자체 관리형 인증서를 업로드하려면 self_managed 블록과 함께 google_certificate_manager_certificate 리소스를 사용하면 됩니다.

API

다음과 같이 certificates.create 메서드에 POST 요청을 전송하여 인증서를 만듭니다.

POST /v1/projects/PROJECT_ID/locations/[REGION]/certificates?certificate_id=CERTIFICATE_NAME
{
  self_managed: {
    pem_certificate: "PEM_CERTIFICATE",
    pem_private_key: "PEM_KEY",
  }
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_NAME: 이 인증서를 설명하는 고유한 이름입니다.
  • PEM_CERTIFICATE: 인증서 PEM입니다.
  • PEM_KEY: 키 PEM입니다.
  • REGION: 대상 Google Cloud 리전입니다. 기본값은 global입니다. 이 설정은 선택사항입니다.

인증서 업데이트

해당 인증서 맵 내의 도메인 이름에 대한 할당을 수정하지 않고 기존 인증서를 업데이트하려면 이 섹션의 단계를 완료합니다. 새 인증서의 SAN은 기존 인증서의 SAN과 정확히 일치해야 합니다.

Google 관리형 인증서의 경우 descriptionlabels 필드만 업데이트할 수 있습니다. 자체 관리형 인증서를 업데이트하려면 다음 PEM 인코딩 파일을 업로드해야 합니다.

  • 인증서(.crt) 파일
  • 해당 비공개 키(.key) 파일

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.

  • 인증서 관리자 편집자
  • 인증서 관리자 소유자

자세한 내용은 역할 및 권한을 참조하세요.

gcloud

gcloud certificate-manager certificates update CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE" \
    --description="DESCRIPTION" \
    --update-labels="LABELS" \
    [--location="REGION"]

다음을 바꿉니다.

  • CERTIFICATE_NAME: 대상 인증서의 이름입니다.
  • CERTIFICATE_FILE: .crt 인증서 파일의 경로와 파일 이름입니다.
  • PRIVATE_KEY_FILE: .key 비공개 키 파일의 경로와 파일 이름입니다.
  • DESCRIPTION: 이 인증서에 대한 고유한 설명 값입니다.
  • LABELS: 이 인증서에 적용된 쉼표로 구분된 라벨 목록입니다.
  • REGION: 대상 Google Cloud 리전입니다. 기본값은 global입니다. 이 설정은 선택사항입니다.

API

다음과 같이 certificates.patch 메서드에 PATCH 요청을 전송하여 인증서를 만듭니다.

PATCH /v1/projects/PROJECT_ID/locations/[REGION]/certificates/CERTIFICATE_NAME?updateMask=self_managed,labels,description
{
   self_managed: { // Self-managed certificates only
    pem_certificate: "PEM_CERTIFICATE",
    pem_private_key: "PEM_KEY",
  }
  "description": "DESCRIPTION",
  "labels": {
    "LABEL_KEY": "LABEL_VALUE",
  }

}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • REGION: 대상 Google Cloud 리전입니다. 기본값은 global입니다. 이 설정은 선택사항입니다.
  • CERTIFICATE_NAME: 대상 인증서의 이름입니다.
  • PEM_CERTIFICATE: 인증서 PEM입니다.
  • PEM_KEY: 키 PEM입니다.
  • DESCRIPTION: 이 인증서에 대한 의미 있는 설명입니다.
  • LABEL_KEY: 이 인증서에 적용된 라벨 키입니다.
  • LABEL_VALUE: 이 인증서에 적용되는 라벨 값입니다.

인증서 나열

인증서 관리자에서 관리하는 인증서를 나열하려면 이 섹션의 단계를 완료하세요. 예를 들어 다음 쿼리를 수행할 수 있습니다.

  • 할당된 도메인 이름으로 인증서 나열
  • 만료된 인증서 나열

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.

  • 인증서 관리자 뷰어
  • 인증서 관리자 편집자
  • 인증서 관리자 소유자

자세한 내용은 역할 및 권한을 참조하세요.

콘솔

인증서 관리자에서 관리하는 프로젝트에 인증서가 10,000개가 넘는 경우 Google Cloud 콘솔의 인증서 관리자 페이지에 인증서를 나열할 수 없습니다. 이러한 경우 대신 gcloud CLI 명령어를 사용하여 인증서를 나열합니다.

  1. Google Cloud 콘솔에서 인증서 관리자 페이지로 이동합니다.

    인증서 관리자로 이동

  2. 표시되는 페이지에서 인증서 탭을 선택합니다. 이 탭에는 선택한 프로젝트의 인증서 관리자가 관리하는 모든 인증서가 나열됩니다.

기존 인증서 탭에는 Cloud Load Balancing을 통해 직접 프로비저닝된 선택한 프로젝트의 인증서가 나열됩니다. 기존 인증서는 인증서 관리자로 관리되지 않습니다. 이러한 인증서를 관리하는 방법은 Cloud Load Balancing 문서의 다음 문서 중 하나를 참조하세요.

gcloud

gcloud certificate-manager certificates list \
    [--location="REGION"] \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

다음을 바꿉니다.

  • REGION: 대상 Google Cloud 리전입니다. 모든 리전의 인증서를 나열하려면 -를 값으로 사용합니다. 기본값은 global입니다. 이 설정은 선택사항입니다.
  • FILTER: 반환된 결과를 특정 값으로 제한하는 표현식입니다. 예를 들어 다음 기준에 따라 결과를 필터링할 수 있습니다.
    • 만료 시간: --filter='expire_time >= "2021-09-01T00:00:00Z"'
    • SAN DNS 이름: --filter='san_dnsnames:"example.com"'
    • 인증서 상태: --filter='managed.state=FAILED'
    • 인증서 유형: --filter='managed:*'
    • 라벨 및 생성 시간: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

인증서 관리자에서 사용할 수 있는 필터링 예시는 Cloud Key Management Service 문서의 목록 결과 정렬 및 필터링을 참조하세요.

  • PAGE_SIZE: 페이지당 반환할 결과 수입니다.
  • LIMIT: 반환할 최대 결과 수입니다.
  • SORT_BY: 쉼표로 구분된 name 필드의 목록으로, 반환된 결과가 정렬됩니다. 기본 정렬 순서는 오름차순입니다. 내림차순 정렬의 경우 필드 앞에 ~를 붙입니다.

API

다음과 같이 certificates.list 메서드에 LIST 요청을 전송하여 인증서를 나열합니다.

GET /v1/projects/PROJECT_ID/locations/REGION/certificates?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

다음을 바꿉니다.

  • REGION: 대상 Google Cloud 리전입니다. 모든 리전의 인증서를 나열하려면 -를 값으로 사용합니다.
  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • FILTER: 반환된 결과를 특정 값으로 제한하는 표현식입니다.
  • PAGE_SIZE: 페이지당 반환할 결과 수입니다.
  • SORT_BY: 반환된 결과를 정렬하는 쉼표로 구분된 필드 이름 목록입니다. 기본 정렬 순서는 오름차순입니다. 내림차순 정렬의 경우 필드 앞에 ~를 붙입니다.

인증서 상태 보기

프로비저닝 상태 및 기타 자세한 정보를 포함하여 기존 인증서의 상태를 보려면 이 섹션의 단계를 완료합니다.

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.

  • 인증서 관리자 뷰어
  • 인증서 관리자 편집자
  • 인증서 관리자 소유자

자세한 내용은 역할 및 권한을 참조하세요.

콘솔

인증서 관리자에서 관리하는 프로젝트에 인증서가 10,000개가 넘는 경우 Google Cloud 콘솔의 인증서 관리자 페이지에 인증서를 나열할 수 없습니다. 이러한 경우 대신 gcloud CLI 명령어를 사용하여 인증서를 나열합니다. 하지만 인증서의 세부정보 페이지로 직접 연결되는 링크는 Google Cloud 콘솔의 인증서 관리자 페이지에 이러한 세부정보가 표시될 수 있습니다.

  1. Google Cloud 콘솔에서 인증서 관리자 페이지로 이동합니다.

    인증서 관리자로 이동

  2. 표시되는 페이지에서 인증서 탭을 선택합니다.

  3. 인증서 탭에서 대상 인증서로 이동한 다음 인증서 이름을 클릭합니다.

인증서 세부정보 페이지에 선택한 인증서에 자세한 정보가 표시됩니다.

  1. 선택사항: 이 인증서에 대한 Certificate Manager API의 REST 응답을 보려면 동등한 REST를 클릭합니다.

  2. 선택사항: 인증서에 확인하려는 연결된 인증서 발급 구성이 있으면 발급 구성 필드에서 연결된 인증서 발급 구성의 이름을 클릭합니다.

    Google Cloud 콘솔에 인증서 발급 구성의 전체 구성이 표시됩니다.

gcloud

gcloud certificate-manager certificates describe CERTIFICATE_NAME \
    [--location="REGION"]

다음을 바꿉니다.

  • CERTIFICATE_NAME: 대상 인증서의 이름입니다.
  • REGION: 대상 Google Cloud 리전입니다. 기본값은 global입니다. 이 설정은 선택사항입니다.

API

다음과 같이 certificates.get 메서드에 GET 요청을 전송하여 인증서 상태를 확인합니다.

GET /v1/projects/PROJECT_ID/locations/REGION/certificates/CERTIFICATE_NAME

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • REGION: 대상 Google Cloud 리전입니다.
  • CERTIFICATE_NAME: 대상 인증서의 이름입니다.

인증서 삭제

인증서 관리자에서 인증서를 삭제하려면 이 섹션의 단계를 완료하세요. 인증서를 삭제하려면 먼저 인증서를 참조하는 모든 인증서 맵 항목에서 인증서를 삭제해야 합니다. 그렇지 않으면 삭제가 실패합니다.

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 인증서 관리자 소유자 역할이 있어야 합니다.

자세한 내용은 역할 및 권한을 참조하세요.

콘솔

  1. Google Cloud 콘솔에서 인증서 관리자 페이지로 이동합니다.

    인증서 관리자로 이동

  2. 인증서 탭에서 삭제할 인증서의 체크박스를 선택합니다.

  3. 삭제를 클릭합니다.

  4. 표시되는 대화상자에서 삭제를 클릭하여 확인합니다.

gcloud

gcloud certificate-manager certificates delete CERTIFICATE_NAME \
   [--location="REGION"]

다음을 바꿉니다.

  • CERTIFICATE_NAME: 대상 인증서의 이름입니다.
  • REGION: 대상 Google Cloud 리전입니다. 기본값은 global입니다. 이 설정은 선택사항입니다.

API

다음과 같이 certificates.delete 메서드에 DELETE 요청을 전송하여 인증서를 삭제합니다.

DELETE /v1/projects/PROJECT_ID/locations/REGION/certificates/CERTIFICATE_NAME

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • REGION: 대상 Google Cloud 리전입니다.
  • CERTIFICATE_NAME: 대상 인증서의 이름입니다.

다음 단계