인증서 맵 관리

이 페이지에서는 인증서 맵을 만들고 관리하는 방법을 설명합니다.

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

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

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

인증서 맵 만들기

인증서 맵을 만들려면 이 섹션의 단계를 완료하세요.

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

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

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

gcloud

gcloud certificate-manager maps create CERTIFICATE_MAP_NAME

다음을 바꿉니다.

  • CERTIFICATE_MAP_NAME: 이 인증서 맵을 설명하는 고유한 이름입니다.

Terraform

인증서 맵을 만들려면 google_certificate_manager_certificate_map 리소스를 사용하면 됩니다.

resource "google_certificate_manager_certificate_map" "default" {
  name        = "${local.name}-certmap1-${random_id.tf_prefix.hex}"
  description = "${local.domain} certificate map"
  labels = {
    "terraform" : true
  }
}

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

API

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

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps?certificate_map_id=CERTIFICATE_MAP_NAME

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_MAP_NAME: 이 인증서 맵을 설명하는 고유한 이름입니다.

프록시에 인증서 맵 연결

인증서 맵을 만들고 올바르게 구성된 인증서 맵 항목으로 채운 후에는 원하는 프록시에 연결해야 합니다. 인증서 관리자는 대상 HTTPS 프록시 및 대상 SSL 프록시를 지원합니다. 이러한 프록시 유형의 차이점에 대한 자세한 내용은 대상 프록시 사용을 참조하세요.

기존 TLS(SSL) 인증서가 프록시에 직접 연결되어 있으면 프록시는 직접 연결된 TLS(SSL) 인증서보다 인증서 맵에서 참조하는 인증서를 우선시합니다.

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

gcloud

gcloud compute PROXY_TYPE update PROXY_NAME \
    --certificate-map="CERTIFICATE_MAP_NAME"

다음을 바꿉니다.

  • PROXY_TYPE: 대상 프록시 유형입니다. 지원되는 유형은 다음과 같습니다.
    • 대상 HTTP 프록시의 경우 target-https-proxies를 사용합니다.
    • 대상 SSL 프록시의 경우 target-ssl-proxies를 사용합니다.
  • PROXY_NAME: 대상 프록시의 이름입니다.
  • CERTIFICATE_MAP_NAME: 원하는 인증서를 참조하는 하나 이상의 인증서 맵 항목이 포함된 인증서 맵의 이름입니다.

API

다음과 같이 targetHttpsProxies 또는 targetSslProxies 메서드에 POST 요청을 전송하여 인증서 맵을 연결합니다.

POST /projects/PROJECT_ID/global/PROXY_TYPE/PROXY_NAME/setCertificateMap
{
  certificateMap: "//certificatemanager.googleapis.com/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME",
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • PROXY_TYPE: 대상 프록시 유형입니다. 지원되는 유형은 다음과 같습니다.
    • 대상 HTTP 프록시의 경우 targetHttpsProxies를 사용합니다.
    • 대상 SSL 프록시의 경우 targetSslProxies를 사용합니다.
  • PROXY_NAME: 대상 프록시의 이름입니다.
  • CERTIFICATE_MAP_NAME: 대상 인증서를 참조하는 인증서 맵 항목이 포함된 인증서 맵의 이름입니다.

프록시에서 인증서 맵 분리

프록시에서 인증서 맵을 분리하려면 이 섹션의 단계를 완료하세요.

다음 사항에 유의하세요.

  • 프록시에 직접 연결된 TLS(SSL) 인증서가 있는 경우 인증서 맵을 분리하면 프록시가 직접 연결된 TLS(SSL) 인증서를 사용하여 프록시를 다시 시작합니다.
  • 프록시에 직접 연결된 TLS(SSL) 인증서가 없으면 인증서 맵을 프록시에서 분리할 수 없습니다. 인증서 맵을 분리하려면 먼저 하나 이상의 TLS(SSL) 인증서를 프록시에 직접 연결해야 합니다.

이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 대한 Compute 부하 분산기 관리자 역할이 있어야 합니다.

gcloud

gcloud compute PROXY_TYPE update PROXY_NAME \
    --clear-certificate-map

다음을 바꿉니다.

  • PROXY_TYPE: 대상 프록시 유형입니다. 지원되는 유형은 다음과 같습니다.
    • 대상 HTTP 프록시의 경우 target-https-proxies를 사용합니다.
    • 대상 SSL 프록시의 경우 target-ssl-proxies를 사용합니다.
  • PROXY_NAME: 대상 프록시의 이름입니다.

API

다음과 같이 빈 certificateMap 값을 사용해서 targetHttpsProxies 또는 targetSslProxies 메서드에 POST 요청을 전송하여 인증서 맵을 분리합니다.

POST /projects/PROJECT_ID/global/PROXY_TYPE/PROXY_NAME/setCertificateMap
{
  certificateMap: "",
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • PROXY_TYPE: 대상 프록시 유형입니다. 지원되는 유형은 다음과 같습니다.
    • 대상 HTTP 프록시의 경우 targetHttpsProxies를 사용합니다.
    • 대상 SSL 프록시의 경우 targetSslProxies를 사용합니다.
  • PROXY_NAME: 대상 프록시의 이름입니다.

인증서 맵 업데이트

인증서 맵 설명을 업데이트하려면 이 섹션의 단계를 완료하세요.

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

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

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

gcloud

gcloud certificate-manager maps update CERTIFICATE_MAP_NAME \
    --description="DESCRIPTION"
    --update-labels="LABELS"

다음을 바꿉니다.

  • CERTIFICATE_MAP_NAME: 대상 인증서 맵의 이름입니다.
  • DESCRIPTION: 이 인증서 맵에 대한 새로운 설명입니다.
  • LABELS: 이 인증서 맵에 적용된 쉼표로 구분된 라벨 목록입니다.

API

다음과 같이 certificateMaps.patch 메서드에 PATCH 요청을 전송하여 인증서 맵을 업데이트합니다.

PATCH /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME?updateMask=labels,description"
{
  "description": "DESCRIPTION",
  "labels": {
    "LABEL_KEY": "LABEL_VALUE",
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_MAP_NAME: 대상 인증서 맵의 이름입니다.
  • DESCRIPTION: 이 인증서 맵에 대한 새로운 설명입니다.
  • LABEL_KEY: 이 인증서 맵에 적용되는 라벨 키입니다.
  • LABEL_VALUE: 이 인증서 맵에 적용되는 라벨 값입니다.

인증서 맵 나열

현재 구성된 인증서 맵을 나열하려면 이 섹션의 단계를 완료합니다.

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

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

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

gcloud

gcloud certificate-manager maps list \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

다음을 바꿉니다.

  • FILTER: 반환된 결과를 특정 값으로 제한하는 표현식입니다. 예를 들어 다음 기준에 따라 결과를 필터링할 수 있습니다.

    • 라벨 및 생성 시간: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

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

  • PAGE_SIZE: 페이지당 반환할 결과 수입니다.

  • LIMIT: 반환할 최대 결과 수입니다.

  • SORT_BY: 쉼표로 구분된 name 필드의 목록으로, 반환된 결과가 정렬됩니다. 기본 정렬 순서는 오름차순입니다. 내림차순 정렬의 경우 원하는 필드 앞에 ~를 붙입니다.

API

다음과 같이 certificateMaps.list 메서드에 LIST 요청을 전송하여 구성된 인증서 맵을 나열합니다.

GET /v1/projects/PROJECT_ID/locations/global/certificateMaps?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

다음을 바꿉니다.

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

인증서 맵 상태 보기

인증서 맵의 상태를 보려면 이 섹션의 단계를 완료하세요.

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

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

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

gcloud

gcloud certificate-manager maps describe CERTIFICATE_MAP_NAME

다음을 바꿉니다.

  • CERTIFICATE_MAP_NAME: 대상 인증서 맵의 이름입니다.

API

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

  GET /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_MAP_NAME: 대상 인증서 맵의 이름입니다.

인증서 맵 삭제

인증서 맵을 삭제하려면 이 섹션의 단계를 완료하세요. 인증서 맵을 삭제하려면 먼저 대상 프록시에서 연결 해제해야 합니다.

삭제하려는 맵에 할당된 인증서 맵 항목이 있으면 맵을 삭제하기 전에 이 항목을 먼저 수동으로 삭제해야 합니다. 그렇지 않으면 맵 삭제가 실패합니다.

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

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

gcloud

gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME

다음을 바꿉니다.

  • CERTIFICATE_MAP_NAME: 대상 인증서 맵의 이름입니다.

API

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

  DELETE /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_MAP_NAME: 대상 인증서 맵의 이름입니다.

다음 단계