인증서 맵 항목 관리

이 섹션에서는 인증서 맵 항목을 만들고 관리하는 방법을 설명합니다. 인증서 맵 항목은 인증서를 대상 호스트 이름 및 대상 인증서 맵과 연결합니다.

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

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

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

인증서 맵 항목 만들기

인증서 맵 항목을 만들고 여기에 하나 이상의 인증서를 연결하려면 이 섹션의 단계를 완료합니다. 인증서 맵 항목 내에 인증서를 하나 이상 지정해야 합니다. 특정 호스트 이름에 인증서를 두 개 이상 지정하려면 각 인증서가 서로 다른 암호화 모음(예: ECDSA 및 RSA)을 사용하는 경우에만 지정할 수 있습니다.

여러 인증서를 한 인증서 맵 항목과 연결하려면 쉼표로 구분된 인증서 이름 목록을 항목과 연결합니다. 단일 인증서 맵 항목과 최대 4개의 인증서를 연결할 수 있습니다. 하위 도메인마다 별도의 인증서 맵 항목을 만들어야 합니다.

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

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

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

gcloud

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --hostname="HOSTNAME"

다음을 바꿉니다.

  • CERTIFICATE_MAP_ENTRY_NAME: 이 인증서 맵 항목을 설명하는 고유한 이름입니다.
  • CERTIFICATE_MAP_NAME: 이 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.
  • CERTIFICATE_NAMES: 이 인증서 맵 항목과 연결할 인증서의 이름을 쉼표로 구분한 목록입니다.
  • HOSTNAME: 이 인증서 맵 항목과 연결하려는 호스트 이름입니다.

Terraform

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

resource "google_certificate_manager_certificate_map_entry" "default" {
  name        = "${local.name}-first-entry-${random_id.tf_prefix.hex}"
  description = "example certificate map entry"
  map         = google_certificate_manager_certificate_map.default.name
  labels = {
    "terraform" : true
  }
  certificates = [google_certificate_manager_certificate.default.id]
  hostname     = local.domain
}

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

API

다음과 같이 certificateMaps.certificateMapEntries.create 메서드에 POST 요청을 수행하여 인증서 맵 항목을 만듭니다.

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME"
{
 hostname: "HOSTNAME"
 certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_MAP_ENTRY_NAME: 이 인증서 맵 항목을 설명하는 고유한 이름입니다.
  • CERTIFICATE_MAP_NAME: 이 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.
  • HOSTNAME: 이 인증서 맵 항목과 연결하려는 호스트 이름입니다.
  • CERTIFICATE_NAME: 이 인증서 맵 항목과 연결하려는 인증서의 이름입니다.

부하 분산기가 핸드셰이크 중에 인증서를 선택하는 방법에 대한 자세한 내용은 인증서 선택 로직을 참조하세요.

기본 인증서 맵 항목 만들기

클라이언트가 호스트 이름을 제공하지 않거나 부하 분산기가 구성된 인증서 맵 항목과 일치할 수 없는 호스트 이름을 제공하는 경우 부하 분산기가 제공하는 기본 인증서를 지정할 수 있습니다.

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

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

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

gcloud

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --set-primary

다음을 바꿉니다.

  • CERTIFICATE_MAP_ENTRY_NAME: 이 인증서 맵 항목을 설명하는 고유한 이름입니다.
  • CERTIFICATE_MAP_NAME: 이 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.
  • CERTIFICATE_NAMES: 이 인증서 맵 항목과 연결할 인증서의 이름을 쉼표로 구분한 목록입니다.

API

다음과 같이 certificateMaps.certificateMapEntries.create 메서드에 POST 요청을 수행하여 인증서 맵 항목을 만듭니다.

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME"
{
   matcher: "PRIMARY",
   certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_MAP_ENTRY_NAME: 이 인증서 맵 항목을 설명하는 고유한 이름입니다.
  • CERTIFICATE_MAP_NAME: 이 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.
  • CERTIFICATE_NAME: 이 인증서 맵 항목과 연결하려는 인증서의 이름입니다.

부하 분산기가 핸드셰이크 중에 인증서를 선택하는 방법에 대한 자세한 내용은 인증서 선택 로직을 참조하세요.

인증서 맵 항목 업데이트

인증서 맵 항목을 업데이트하려면 이 섹션의 단계를 완료하세요. 다음과 같이 인증서 맵 항목을 업데이트할 수 있습니다.

  • 인증서 할당 또는 할당 해제
  • 설명 수정
  • 라벨 수정

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

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

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

gcloud

gcloud certificate-manager maps entries update CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAME,CERTIFICATE_NAME" \
    --description="DESCRIPTION"
    --update-labels="LABELS"

다음을 바꿉니다.

  • CERTIFICATE_MAP_ENTRY_NAME: 이 인증서 맵 항목을 설명하는 고유한 이름입니다.
  • CERTIFICATE_MAP_NAME: 이 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.
  • CERTIFICATE_NAME: 이 인증서 맵 항목과 연결하려는 인증서의 이름입니다.
  • DESCRIPTION: 이 인증서 맵 항목에 대한 의미 있는 설명입니다.
  • LABELS: 이 인증서 맵 항목에 적용되는 라벨의 목록입니다.

API

다음과 같이 certificateMaps.certificateMapEntries.patch 메서드에 PATCH 요청을 수행하여 인증서 맵 항목을 업데이트합니다.

PATCH  /v1/projects/example-project/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries/CERTIFICATE_MAP_ENTRY_NAME?updateMask=labels,description,certificates
{
  "certificates": ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
  "description": "DESCRIPTION",
  "labels": { "LABEL_KEY": "LABEL_VALUE" }
}

다음을 바꿉니다.

  • PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.
  • CERTIFICATE_MAP_NAME: 이 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.
  • CERTIFICATE_MAP_ENTRY_NAME: 이 인증서 맵 항목을 설명하는 고유한 이름입니다.
  • CERTIFICATE_NAME: 이 인증서 맵 항목과 연결하려는 인증서의 이름입니다.
  • DESCRIPTION: 이 인증서 맵 항목에 대한 의미 있는 설명입니다.
  • LABEL_KEY: 이 인증서 맵 항목에 적용되는 라벨 키입니다.
  • LABEL_VALUE: 이 인증서 맵 항목에 적용되는 라벨 값입니다.

인증서 맵 항목 나열

현재 대상 인증서 맵 내에 구성된 인증서 맵 항목을 나열하려면 이 섹션의 단계를 완료하세요.

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

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

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

gcloud

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

다음을 바꿉니다.

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

    • 게재 상태: --filter='state=ACTIVE'
    • 일치자(기본으로 설정): --filter='-matcher=PRIMARY'
    • 호스트 이름: --filter='hostname=example.com'
    • 할당된 인증서: --filter='certificates:my-cert'
    • 라벨 및 생성 시간: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

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

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

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

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

API

다음과 같이 certificateMaps.certificateMapEntries.list 메서드에 LIST 요청을 수행하여 지정된 인증서 맵 내에 구성된 인증서 맵 항목을 나열합니다.

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

다음을 바꿉니다.

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

인증서 맵 항목의 상태 보기

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

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

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

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

gcloud

gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

다음을 바꿉니다.

  • CERTIFICATE_MAP_ENTRY_NAME: 대상 인증서 맵 항목의 이름입니다.
  • CERTIFICATE_MAP_NAME: 이 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.

API

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

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

다음을 바꿉니다.

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

인증서 맵 항목 삭제

인증서 맵에서 인증서 맵 항목을 삭제하려면 이 섹션의 단계를 완료하세요. 이 작업은 인증서 맵 항목과 연결된 인증서를 대상 프록시에서 분리합니다.

인증서 맵 항목을 삭제해도 연결된 인증서는 삭제되지 않습니다. Google Cloud에서 이러한 인증서를 삭제하려면 수동으로 삭제해야 합니다.

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

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

gcloud

gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \
   --map="CERTIFICATE_MAP_NAME"

다음을 바꿉니다.

  • CERTIFICATE_MAP_ENTRY_NAME: 대상 인증서 맵 항목의 이름입니다.
  • CERTIFICATE_MAP_NAME: 이 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.

API

다음과 같이 certificateMaps.certificateMapEntries.delete 메서드에 DELETE 요청을 수행하여 인증서 맵 항목을 삭제합니다.

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

다음을 바꿉니다.

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

다음 단계