証明書マップを管理する

証明書マップは、特定の証明書を特定のホスト名に割り当てる 1 つ以上の証明書マップエントリを参照します。このページでは、証明書マップの作成と管理方法について説明します。

詳細については、証明書マップをご覧ください。

証明書マップを作成する

証明書マップを作成して、証明書に関連付けられた証明書マップエントリを参照します。

このタスクを実行するには、ターゲットの Google Cloud プロジェクトに対する次のいずれかの IAM ロールが必要です。

  • Certificate Manager 編集者のロール(roles/certificatemanager.editor
  • Certificate Manager オーナーのロール(roles/certificatemanager.owner

詳細については、ロールと権限をご覧ください。

gcloudAPITerraform

証明書マップを作成するには、gcloud certificate-manager maps create コマンドを使用します。

gcloud certificate-manager maps create CERTIFICATE_MAP_NAME

以下を置き換えます。

  • CERTIFICATE_MAP_NAME: 証明書マップの名前。

証明書マップを作成するには、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: 証明書マップの名前。

証明書マップを作成するには、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 コマンドをご覧ください。

証明書マップをプロキシに関連付ける

証明書マップエントリを使用して証明書マップを作成して構成したら、証明書マップをターゲット プロキシに関連付けます。Certificate Manager は、グローバル スコープのターゲット HTTPS プロキシとターゲット SSL プロキシの両方をサポートしています。これらのプロキシタイプの違いについて詳しくは、ターゲット プロキシを使用するをご覧ください。

TLS(SSL)証明書をターゲット プロキシに添付し、証明書マップを使用して証明書を添付すると、プロキシは証明書マップ内で参照される証明書を使用し、直接添付された証明書は無視されます。

このタスクを実行するには、ターゲットの Google Cloud プロジェクトに対する次のいずれかの IAM ロールが必要です。

  • Certificate Manager 編集者のロール(roles/certificatemanager.editor

詳細については、ロールと権限をご覧ください。

gcloudAPI

証明書マップをターゲット HTTPS プロキシに添付するには、gcloud compute target-https-proxies update コマンドを使用します。

gcloud compute target-https-proxies update PROXY_NAME \
    --certificate-map="CERTIFICATE_MAP_NAME"

証明書マップをターゲット SSL プロキシに添付するには、gcloud compute target-ssl-proxies update コマンドを使用します。

gcloud compute target-ssl-proxies update PROXY_NAME \
    --certificate-map="CERTIFICATE_MAP_NAME"

以下を置き換えます。

  • PROXY_NAME: ターゲット プロキシの名前
  • CERTIFICATE_MAP_NAME: ターゲット証明書を参照する証明書マップエントリを含む証明書マップの名前。

証明書マップをターゲット HTTPS プロキシに接続するには、targetHttpsProxies メソッドに POST リクエストを送信します。

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

証明書マップをターゲット SSL プロキシに接続するには、targetSslProxies メソッドに POST リクエストを送信します。

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

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • PROXY_NAME: ターゲット プロキシの名前
  • CERTIFICATE_MAP_NAME: ターゲット証明書を参照する証明書マップエントリを含む証明書マップの名前。

プロキシから証明書マップを切断する

プロキシから証明書マップを切断する前に、次の点に注意してください。

  • TLS(SSL)証明書がプロキシに直接添付されている場合、証明書マップを切断すると、プロキシは TLS(SSL)証明書の使用を再開します。

  • プロキシに直接 TLS(SSL)証明書が添付されていない場合、証明書マップを切断することはできません。証明書マップを切断する前に、少なくとも 1 つの TLS 証明書をプロキシに直接接続します。

このタスクを実行するには、ターゲットの Google Cloud プロジェクトに対する次のいずれかの IAM ロールが必要です。

  • Compute ロードバランサ管理者のロール(roles/compute.loadBalancerAdmin

詳細については、ロールと権限をご覧ください。

gcloudAPI

ターゲット HTTPS プロキシから接続されている証明書マップを切断するには、gcloud compute target-https-proxies update コマンドを使用します。

gcloud compute target-https-proxies update PROXY_NAME \
    --clear-certificate-map

ターゲット SSL プロキシから接続されている証明書マップを切断するには、gcloud compute target-ssl-proxies update コマンドを使用します。

gcloud compute target-ssl-proxies update PROXY_NAME \
    --clear-certificate-map

以下を置き換えます。

  • PROXY_NAME: ターゲット プロキシの名前

ターゲット HTTPS プロキシから接続されている証明書マップを切断するには、targetHttpsProxies メソッドに POST リクエストを送信します。

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

ターゲット SSL プロキシから接続されている証明書マップを切断するには、targetSslProxies メソッドに POST リクエストを送信します。

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

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • PROXY_NAME: ターゲット プロキシの名前

証明書マップを更新する

証明書マップの説明とラベルを更新できます。

このタスクを実行するには、ターゲットの Google Cloud プロジェクトに対する次のいずれかの IAM ロールが必要です。

  • Certificate Manager 編集者のロール(roles/certificatemanager.editor
  • Certificate Manager オーナーのロール(roles/certificatemanager.owner

詳細については、ロールと権限をご覧ください。

gcloudAPI

証明書マップを更新するには、gcloud certificate-manager maps update コマンドを使用します。

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

以下を置き換えます。

  • CERTIFICATE_MAP_NAME: 証明書マップの名前。
  • DESCRIPTION: この証明書マップの新しい説明。
  • LABELS: この証明書マップに適用されるラベルのカンマ区切りリスト。

証明書マップを更新するには、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 プロジェクトに対する次のいずれかの IAM ロールが必要です。

  • Certificate Manager 閲覧者のロール(roles/certificatemanager.viewer
  • Certificate Manager 編集者のロール(roles/certificatemanager.editor
  • Certificate Manager オーナーのロール(roles/certificatemanager.owner

詳細については、ロールと権限をご覧ください。

gcloudAPI

証明書マップを一覧表示するには、gcloud certificate-manager maps list コマンドを使用します。

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

    Certificate Manager で使用できるその他のフィルタリングの例については、Cloud Key Management Service のドキュメントのリストの結果の並べ替えとフィルタリングをご覧ください。

  • PAGE_SIZE: ページごとに返す結果の数

  • LIMIT: 返される結果の最大件数です。

  • SORT_BY: 返される結果の並べ替えの基準とする name フィールドのカンマ区切りリスト。 デフォルトの並べ替え順は昇順です。降順で並べ替えるには、フィールドの先頭にチルダ(~)を付けます。

構成済みの証明書マップを一覧表示するには、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: 返される結果を特定の値に制限する式。

    たとえば、ラベルと作成時間で結果をフィルタするには、次のように指定します。 --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Certificate Manager で使用できるその他のフィルタリングの例については、Cloud Key Management Service のドキュメントのリストの結果の並べ替えとフィルタリングをご覧ください。

  • PAGE_SIZE: ページごとに返す結果の数

  • SORT_BY: 返される結果の並べ替えの基準とする name フィールドのカンマ区切りリスト。 デフォルトの並べ替え順は昇順です。降順で並べ替えるには、フィールドの先頭にチルダ(~)を付けます。

証明書マップの詳細を表示する

既存の証明書マップの詳細(作成日時や最終更新日時など)を確認できます。

このタスクを実行するには、ターゲットの Google Cloud プロジェクトに対する次のいずれかの IAM ロールが必要です。

  • Certificate Manager 閲覧者のロール(roles/certificatemanager.viewer
  • Certificate Manager 編集者のロール(roles/certificatemanager.editor
  • Certificate Manager オーナーのロール(roles/certificatemanager.owner

詳細については、ロールと権限をご覧ください。

gcloudAPI

証明書マップの状態を表示するには、gcloud certificate-manager maps describe コマンドを使用します。

gcloud certificate-manager maps describe CERTIFICATE_MAP_NAME

以下を置き換えます。

  • CERTIFICATE_MAP_NAME: 証明書マップの名前。

証明書マップの詳細を表示するには、certificateMaps.get メソッドに GET リクエストを送信します。

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

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • CERTIFICATE_MAP_NAME: 証明書マップの名前。

証明書マップを削除する

証明書マップを削除する前に、次の操作を行います。

このタスクを実行するには、ターゲットの Google Cloud プロジェクトに対する次のいずれかの IAM ロールが必要です。

  • Certificate Manager オーナーのロール(roles/certificatemanager.owner

詳細については、ロールと権限をご覧ください。

gcloudAPI

証明書マップを削除するには、gcloud certificate-manager maps delete コマンドを使用します。

gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME

以下を置き換えます。

  • CERTIFICATE_MAP_NAME: 証明書マップの名前。

証明書マップを削除するには、certificateMaps.delete メソッドに DELETE リクエストを送信します。

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

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • CERTIFICATE_MAP_NAME: 証明書マップの名前。

次のステップ