인증서 맵 항목 관리

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

자세한 내용은 인증서 맵 항목을 참고하세요.

인증서 맵 항목 만들기

인증서 맵 항목을 만들고 최대 4개의 인증서를 연결할 수 있습니다. 호스트 이름에 여러 인증서를 지정할 때는 인증서마다 다른 키 알고리즘을 사용하는 것이 좋습니다. 예를 들어 한 인증서에는 ECDSA를 사용하고 다른 인증서에는 RSA를 사용할 수 있습니다. 여러 인증서를 단일 인증서 맵 항목에 연결하면 자체 관리형 인증서를 Google 관리형 인증서로 이전할 때도 도움이 됩니다.

여러 인증서를 한 인증서 맵 항목과 연결하려면 쉼표로 구분된 인증서 이름 목록을 제공합니다. 하위 도메인마다 별도의 인증서 맵 항목을 만들어야 합니다.

gcloud

인증서 맵 항목을 만들려면 gcloud certificate-manager maps entries create 명령어를 사용합니다.

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: 인증서 맵 항목과 연결하려는 호스트 이름

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_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트의 ID
  • CERTIFICATE_MAP_NAME: 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.
  • CERTIFICATE_MAP_ENTRY_NAME: 인증서 맵 항목의 이름
  • HOSTNAME: 인증서 맵 항목과 연결하려는 호스트 이름
  • CERTIFICATE_NAME1: 이 인증서 맵 항목에 연결하려는 첫 번째 인증서의 이름입니다.
  • CERTIFICATE_NAME2: 이 인증서 맵 항목에 연결하려는 두 번째 인증서의 이름입니다.

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 명령어를 참조하세요.

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

기본 인증서 맵 항목 만들기

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

gcloud

기본 인증서 맵 항목을 만들려면 gcloud certificate-manager maps entries create 명령어set-primary 플래그와 함께 사용합니다.

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_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트의 ID
  • CERTIFICATE_MAP_NAME: 인증서 맵 항목이 연결된 인증서 맵의 이름입니다.
  • CERTIFICATE_MAP_ENTRY_NAME: 인증서 맵 항목의 이름
  • CERTIFICATE_NAME1: 기본 인증서 맵 항목에 연결하려는 첫 번째 인증서의 이름입니다.
  • CERTIFICATE_NAME2: 기본 인증서 맵 항목에 연결하려는 두 번째 인증서의 이름입니다.

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

인증서 맵 항목 업데이트

인증서 맵 항목을 업데이트할 때 다음 작업을 할 수 있습니다.

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

gcloud

인증서 맵 항목을 업데이트하려면 gcloud certificate-manager maps entries update 명령어를 사용합니다.

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" }
}

다음을 바꿉니다.

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

인증서 맵 항목 나열

프로젝트의 구성된 모든 인증서 맵 항목을 나열, 필터링, 정렬할 수 있습니다.

콘솔

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

    인증서 관리자로 이동

  2. 인증서 맵 탭에서 맵 항목이 포함된 인증서 맵의 이름을 클릭합니다. 인증서 맵 세부정보 페이지에는 선택한 인증서 맵과 연결된 맵 항목 목록에 관한 세부정보가 표시됩니다.

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: 반환된 결과를 특정 값으로 제한하는 표현식입니다.

    예를 들어 다음 기준에 따라 결과를 필터링할 수 있습니다.

    • 게재 상태: --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: 페이지당 반환할 결과 수입니다.

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

인증서 맵 항목의 상태 보기

인증서 맵 항목의 상태를 볼 수 있습니다.

콘솔

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

    인증서 관리자로 이동

  2. 인증서 맵 탭에서 맵 항목이 포함된 인증서 맵의 이름을 클릭합니다. 인증서 맵 세부정보 페이지에는 선택한 인증서 맵과 연결된 맵 항목 목록에 관한 세부정보가 표시됩니다.

  3. Map entries(지도 항목) 섹션에서 보려는 지도 항목의 이름을 클릭합니다. 지도 항목 세부정보 페이지에는 선택한 지도 항목에 관한 자세한 정보가 표시됩니다.

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에서 연결된 인증서는 삭제되지 않습니다. 이러한 인증서는 수동으로 삭제해야 합니다.

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: 인증서 맵 항목의 이름

다음 단계