証明書を管理

このページでは、Certificate Manager を使用して Transport Layer Security(TLS)証明書を作成および管理する方法について説明します。Certificate Manager では、次の種類の TLS(SSL)証明書がサポートされています。

  • Google マネージド証明書は、Google Cloud が取得して管理する証明書です。Certificate Manager では、次のタイプの Google マネージド証明書を作成できます。
    • グローバル証明書
      • ロードバランサの承認を使用した Google マネージド証明書
      • DNS 認証を使用した Google マネージド証明書
      • Certificate Authority Service(CA Service)を使用した Google マネージド証明書
    • リージョン証明書
      • リージョン Google マネージド証明書
      • CA Service を使用したリージョン Google マネージド証明書
  • セルフマネージド SSL 証明書は、ご自分で取得、プロビジョニング、更新する証明書です。

証明書の詳細については、Certificate Manager の仕組みをご覧ください。

Certificate Manager を使用して証明書をデプロイする方法については、デプロイの概要をご覧ください。

このページで使用されている gcloud CLI コマンドの詳細については、Certificate Manager CLI のリファレンスをご覧ください。

ロードバランサの承認で Google マネージド証明書を作成する

ロードバランサの承認で Google マネージド証明書を作成するには、このセクションの手順を行います。global ロケーションでロードバランサの承認を使用して Google マネージド証明書のみを作成できます。

証明書に複数のドメイン名を指定するには、証明書のターゲット ドメイン名のカンマ区切りリストを指定します。

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

  • Certificate Manager 編集者
  • Certificate Manager オーナー

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

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 プロジェクトに対する次のいずれかのロールが必要です。

  • Certificate Manager 編集者
  • Certificate Manager オーナー

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

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 マネージド証明書を作成するには、次のコマンドを使用します。ワイルドカード ドメイン名証明書は、特定のドメインのすべての第 1 レベル サブドメインに対応します。

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 Service によって発行された Google マネージド証明書を作成する

管理している CA Service インスタンスによって発行された Google マネージド証明書を作成するには、このセクションの手順を行います。regionalglobal の両方の Google マネージド証明書を作成できます。CA Service によって発行されたリージョン Google マネージド証明書を作成する方法については、CA Service によって発行されたリージョン Google マネージド証明書を作成するをご覧ください。

このタスクを完了するには、ターゲットの Google Cloud プロジェクトに対する次のロールが必要です。

このセクションで使用される gcloud CLI コマンドの詳細については、Certificate Manager CLI リファレンスをご覧ください。

CA Service と Certificate Manager の統合を構成する

まだ行っていない場合は、このセクションの説明に従って、CA サービス と統合するように Certificate Manager を構成する必要があります。証明書の発行ポリシーがターゲット CA プールで有効になっている場合、証明書のプロビジョニングが次のいずれかの理由で失敗することがあります。

  • 証明書発行ポリシーによって、要求された証明書がブロックされている。この場合、証明書が発行されていないため、料金は発生しません。
  • このポリシーで、Certificate Manager でサポートされていない証明書に対する変更が適用されている。この場合、Certificate Manager との完全な互換性がない場合でも、証明書が発行されているため、引き続き請求されます。

発行ポリシーの制限に関連する問題については、トラブルシューティングページをご覧ください。

CA Service と Certificate Manager の統合を構成するには、次の手順を行います。

  • ターゲット CA プールの証明書をリクエストする権限を Certificate Manager に付与します。
    1. 次のコマンドを使用して、ターゲットの Google Cloud プロジェクトに Certificate Manager サービス アカウントを作成します。
     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. Certificate Manager サービス アカウントに、次のようにターゲット 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 Service インスタンスによって発行された Google マネージド証明書を作成する

CA Service インスタンスによって発行された 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 Service によって発行されたリージョン Google マネージド証明書を作成する

管理している CA Service インスタンスによって発行されたリージョン Google マネージド証明書を作成するには、このセクションの手順を行います。

CA Service と Certificate Manager の統合を構成する

次のように、CA Service と統合するように Certificate Manager を構成します。

  1. ターゲットの Google Cloud プロジェクトに Certificate Manager サービス アカウントを作成します。

    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. Certificate Manager サービス アカウントに、次のようにターゲット 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 Service によって発行されたリージョン Google マネージド証明書を作成する

前の手順で作成した証明書発行の構成リソースを使用して、CA Service が発行したリージョン 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.comwww.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 プロジェクトに対する次のいずれかのロールが必要です。

  • Certificate Manager 編集者
  • Certificate Manager オーナー

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

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 マネージド証明書を作成するには、次のコマンドを使用します。ワイルドカード ドメイン名証明書は、特定のドメインのすべての第 1 レベル サブドメインに対応します。

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 プロジェクトに対する次のいずれかのロールが必要です。

  • Certificate Manager 編集者
  • Certificate Manager オーナー

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

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 マネージド証明書の場合は、description フィールドと labels フィールドのみ更新できます。セルフマネージド証明書を更新するには、次の PEM エンコード ファイルをアップロードする必要があります。

  • 証明書(.crt)ファイル
  • 対応する秘密鍵(.key)ファイル

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

  • Certificate Manager 編集者
  • Certificate Manager オーナー

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

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: この証明書に適用されるラベル値。

証明書を一覧表示する

Certificate Manager によって管理される証明書を一覧表示するには、このセクションの手順を完了します。たとえば、以下のクエリを実行できます。

  • 割り当てられたドメイン名で証明書を一覧表示する
  • 期限切れの証明書を一覧表示する

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

  • Certificate Manager 閲覧者
  • Certificate Manager 編集者
  • Certificate Manager オーナー

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

コンソール

プロジェクトに、Certificate Manager によって管理されている証明書が 10,000 個を超える場合、Google Cloud コンソールの [Certificate Manager] ページに証明書が表示されません。その場合は、代わりに gcloud CLI コマンドを使用して証明書を一覧表示します。

  1. Google Cloud コンソールで、[Certificate Manager] ページに移動します。

    Certificate Manager に移動

  2. 表示されたページで [証明書] タブを選択します。このタブには、選択したプロジェクトで Certificate Manager によって管理されているすべての証明書が一覧表示されます。

[従来の証明書] タブには、Cloud Load Balancing を介して直接プロビジョニングされた、選択したプロジェクトの証明書が一覧表示されます。これらの証明書は、Certificate Manager では管理されません。 これらの証明書の管理手順については、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"'

Certificate Manager で使用できるその他のフィルタリングの例については、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 プロジェクトに対する次のいずれかのロールが必要です。

  • Certificate Manager 閲覧者
  • Certificate Manager 編集者
  • Certificate Manager オーナー

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

コンソール

プロジェクトに、Certificate Manager によって管理されている証明書が 10,000 個を超える場合、Google Cloud コンソールの [Certificate Manager] ページに証明書が表示されません。その場合は、代わりに gcloud CLI コマンドを使用して証明書を一覧表示します。ただし、証明書の [詳細] ページへの直接リンクがある場合は、Google Cloud コンソールの [Certificate Manager] ページに詳細が表示されます。

  1. Google Cloud コンソールで、[Certificate Manager] ページに移動します。

    Certificate Manager に移動

  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: ターゲット証明書の名前。

証明書を削除する

Certificate Manager から証明書を削除するには、このセクションの手順を完了します。証明書を削除する前に、その証明書を参照するすべての証明書マップエントリから削除する必要があります。そうしないと、削除は失敗します。

このタスクを完了するには、ターゲットの Google Cloud プロジェクトに対する Certificate Manager オーナーのロールが必要です。

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

コンソール

  1. Google Cloud コンソールで、[Certificate Manager] ページに移動します。

    Certificate Manager に移動

  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: ターゲット証明書の名前。

次のステップ