証明書を管理

このページでは、Certificate Manager を使用して Transport Layer Security(TLS)(SSL)証明書を作成、管理する方法について説明します。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 マネージド証明書を作成するには、このセクションの手順を完了します。ロードバランサの承認を使用した Google マネージド証明書は、global ロケーションでのみ作成できます。

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

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

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

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

コンソール

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

    Certificate Manager に移動

  2. 表示されたページで、[証明書] タブを選択します。

  3. [証明書を追加] をクリックします。

  4. 証明書の名前を入力します。

    この名前は、プロジェクト内で一意にする必要があります。

  5. 省略可: 証明書の説明を入力します。説明は、後で特定の証明書を識別するのに役立ちます。

  6. [ロケーション] で [グローバル] を選択します。

  7. [範囲] で [デフォルト] を選択します。

  8. [証明書の種類] で [Google マネージド証明書を作成する] を選択します。

  9. [認証局のタイプ] で [公開] を選択します。

  10. 証明書のドメイン名を指定します。移行先ドメインのカンマ区切りのリストを入力します。また、各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。

  11. [認証タイプ] で [ロードバランサ認証] を選択します。

  12. 証明書に関連付けるラベルを指定します。必要に応じて、複数のラベルを追加できます。ラベルを追加するには、[ ラベルの追加] ボタンをクリックして、ラベルの keyvalue を指定します。

  13. [作成] をクリックします。新しい証明書が証明書のリストに表示されていることを確認します。

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 オーナー

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

コンソール

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

    Certificate Manager に移動

  2. 表示されたページで、[証明書] タブを選択します。

  3. [証明書を追加] をクリックします。

  4. 証明書の名前を入力します。

    この名前は、プロジェクト内で一意にする必要があります。

  5. 省略可: 証明書の説明を入力します。説明は、後で特定の証明書を識別するのに役立ちます。

  6. [ロケーション] で [グローバル] を選択します。

  7. [範囲] で [デフォルト] を選択します。

  8. [証明書の種類] で [Google マネージド証明書を作成する] を選択します。

  9. [認証局のタイプ] で [公開] を選択します。

  10. 証明書のドメイン名を指定します。移行先ドメインのカンマ区切りのリストを入力します。また、各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。

  11. [認証タイプ] で [DNS 認証] を選択します。ドメイン名に DNS 認証が関連付けられている場合、その認証は自動的に取得されます。ドメイン名に DNS 認証が関連付けられていない場合は、次の操作を行います。

    1. [見つからない DNS 認証の作成] をクリックして [DNS 認証の作成] ダイアログを表示します。
    2. [DNS 認証名] フィールドに DNS 認証名を指定します。
    3. 複数のプロジェクトで証明書を個別に管理するには、[プロジェクトごとの認証] を選択します。
    4. [DNS 認証を作成] をクリックします。DNS 名がドメイン名に関連付けられていることを確認します。
  12. 証明書に関連付けるラベルを指定します。必要に応じて複数のラベルを追加できます。ラベルを追加するには、[ ラベルの追加] ボタンをクリックして、ラベルの keyvalue を指定します。

  13. [作成] をクリックします。新しい証明書が証明書のリストに表示されていることを確認します。

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 の統合を構成する手順は次のとおりです。

  1. Certificate Manager に、ターゲット CA プールから証明書をリクエストする権限を付与します。

    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

    2. 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 で作成したサービス アカウントのフルネーム。
  2. CA プールの証明書発行の構成リソースを作成します。

コンソール

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

    Certificate Manager に移動

  2. [発行構成] タブで、[作成] をクリックします。

  3. [名前] フィールドに、証明書発行構成の一意の名前を入力します。

  4. [ロケーション] で [グローバル] を選択します。

  5. 省略可: [説明] フィールドに、発行構成の説明を入力します。

  6. [存続期間] フィールドに、発行する証明書の存続期間を日数で指定します。値は 21~30 日の範囲で指定してください。

  7. [ローテーション時間枠の割合] で、更新プロセスを開始するときの証明書の存続期間の割合を指定します。有効な値の範囲については、存続期間とローテーション時間枠の割合をご覧ください。

  8. [鍵アルゴリズム] リストから、秘密鍵の生成時に使用する鍵アルゴリズムを選択します。

  9. [CA プール] リストから、この証明書発行構成に割り当てる CA プールの名前を選択します。

  10. [ラベル] フィールドに、証明書に関連付けるラベルを指定します。ラベルを追加するには、[ ラベルを追加] をクリックして、ラベルの keyvalue を指定します。

  11. [作成] をクリックします。

gcloud

 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: 証明書の更新がトリガーされる証明書の存続期間の割合。有効な値の範囲については、存続期間とローテーション時間枠の割合をご覧ください。この設定は省略可能です。
  • KEY_ALGORITHM: 秘密鍵の生成に使用される暗号化アルゴリズム。有効な値は ecdsa-p256 または rsa-2048 です。 デフォルト値は rsa-2048 です。この設定は省略可能です。

証明書発行構成リソースの詳細については、証明書発行構成を管理するをご覧ください。

CA Service インスタンスによって発行された Google マネージド証明書を作成する

CA Service インスタンスによって発行された Google マネージド証明書を次のように作成します。

コンソール

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

    Certificate Manager に移動

  2. 表示されたページで、[証明書] タブを選択します。

  3. [証明書を追加] をクリックします。

  4. 証明書の名前を入力します。

    この名前は、プロジェクト内で一意にする必要があります。

  5. 省略可: 証明書の説明を入力します。説明は、後で特定の証明書を識別するのに役立ちます。

  6. [ロケーション] で [グローバル] を選択します。

  7. [範囲] で [デフォルト] を選択します。

  8. [証明書の種類] で [Google マネージド証明書を作成する] を選択します。

  9. [認証局のタイプ] で [非公開] を選択します。

  10. 証明書のドメイン名を指定します。移行先ドメインのカンマ区切りのリストを入力します。また、各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。

  11. [証明書発行の構成] で、ターゲット CA プールを参照する証明書発行の構成リソースの名前を選択します。

    発行構成を作成するには、[証明書発行構成を追加] をクリックし、次の詳細を指定して [作成] をクリックします。

    • 名前: 証明書発行構成の一意の名前。
    • 説明: 発行構成の説明。
    • 存続期間: 発行する証明書の存続期間(日数)。値は 21~30 日の範囲で指定してください。
    • ローテーション時間枠の割合: 証明書の更新がトリガーされるときの証明書の存続期間の割合。有効な値の範囲については、存続期間とローテーション時間枠の割合をご覧ください。
    • 鍵アルゴリズム: 秘密鍵の生成時に使用する鍵アルゴリズム。
    • CA プール: この証明書発行構成に割り当てる CA プールの名前。
    • ラベル: 証明書発行構成に関連付けるラベル。
  12. 証明書に関連付けるラベルを指定します。必要に応じて、複数のラベルを追加できます。ラベルを追加するには、[ ラベルの追加] ボタンをクリックして、ラベルの keyvalue を指定します。

  13. [作成] をクリックします。新しい証明書が証明書のリストに表示されていることを確認します。

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
    
  2. 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 で作成したサービス アカウントのフルネーム。
  3. CA プールの証明書発行の構成リソースを作成します。

コンソール

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

    Certificate Manager に移動

  2. [発行構成] タブで、[作成] をクリックします。

  3. [名前] フィールドに、証明書発行構成の一意の名前を入力します。

  4. 省略可: [説明] フィールドに、発行構成の説明を入力します。

  5. [ロケーション] で [リージョン] を選択します。

  6. [リージョン] リストからリージョンを選択します。

  7. [存続期間] フィールドに、発行する証明書の存続期間を日数で指定します。値は 21~30 日の範囲で指定してください。

  8. [ローテーション時間枠の割合] で、更新プロセスを開始するときの証明書の存続期間の割合を指定します。有効な値の範囲については、存続期間とローテーション時間枠の割合をご覧ください。

  9. [鍵アルゴリズム] リストから、秘密鍵の生成時に使用する鍵アルゴリズムを選択します。

  10. [CA プール] リストから、この証明書発行構成に割り当てる CA プールの名前を選択します。

  11. [ラベル] フィールドに、証明書に関連付けるラベルを指定します。ラベルを追加するには、[ ラベルを追加] をクリックして、ラベルの keyvalue を指定します。

  12. [作成] をクリックします。

gcloud

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: 更新プロセスが開始されるときの証明書の存続期間の割合。有効な値の範囲については、存続期間とローテーション時間枠の割合をご覧ください。
  • KEY_ALGORITHM: 秘密鍵の生成に使用される暗号化アルゴリズム。有効な値は ecdsa-p256 または rsa-2048 です。 デフォルト値は rsa-2048 です。この設定は省略可能です。
  • DESCRIPTION: 証明書発行構成リソースの説明。この設定は省略可能です。

証明書発行構成リソースの詳細については、証明書発行構成を管理するをご覧ください。

CA Service によって発行されたリージョン Google マネージド証明書を作成する

前の手順で作成した証明書発行構成リソースを使用して、CA Service によって発行されたリージョン Google マネージド証明書を作成します。

コンソール

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

    Certificate Manager に移動

  2. 表示されたページで、[証明書] タブを選択します。

  3. [証明書を追加] をクリックします。

  4. 証明書の名前を入力します。

    この名前は、プロジェクト内で一意にする必要があります。

  5. 省略可: 証明書の説明を入力します。説明は、後で特定の証明書を識別するのに役立ちます。

  6. [ロケーション] で [リージョン] を選択します。

  7. [リージョン] リストでリージョンを選択します。

  8. [証明書の種類] で [Google マネージド証明書を作成する] を選択します。

  9. [認証局のタイプ] で [非公開] を選択します。

  10. 証明書のドメイン名を指定します。移行先ドメインのカンマ区切りのリストを入力します。また、各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。

  11. [証明書発行の構成] で、ターゲット CA プールを参照する証明書発行の構成リソースの名前を選択します。

    発行構成を作成するには、[証明書発行構成を追加] をクリックし、次の詳細を指定して [作成] をクリックします。

    • 名前: 証明書発行構成の一意の名前。
    • 説明: 発行構成の説明。
    • 存続期間: 発行する証明書の存続期間(日数)。値は 21~30 日の範囲で指定してください。
    • ローテーション時間枠の割合: 更新プロセスが開始されるときの証明書の存続期間の割合。有効な値の範囲については、存続期間とローテーション時間枠の割合をご覧ください。
    • 鍵アルゴリズム: 秘密鍵の生成時に使用する鍵アルゴリズム。
    • CA プール: この証明書発行構成に割り当てる CA プールの名前。
    • ラベル: 証明書発行構成に関連付けるラベル。
  12. 証明書に関連付けるラベルを指定します。必要に応じて、複数のラベルを追加できます。ラベルを追加するには、[ ラベルの追加] ボタンをクリックして、ラベルの keyvalue を指定します。

  13. [作成] をクリックします。新しい証明書が証明書のリストに表示されていることを確認します。

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 オーナー

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

コンソール

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

    Certificate Manager に移動

  2. 表示されたページで、[証明書] タブを選択します。

  3. [証明書を追加] をクリックします。

  4. 証明書の名前を入力します。

    この名前は、プロジェクト内で一意にする必要があります。

  5. 省略可: 証明書の説明を入力します。説明は、後で特定の証明書を識別するのに役立ちます。

  6. [ロケーション] で [リージョン] を選択します。

  7. [リージョン] リストでリージョンを選択します。

  8. [証明書の種類] で [Google マネージド証明書を作成する] を選択します。

  9. [認証局のタイプ] で [公開] を選択します。

  10. 証明書のドメイン名を指定します。移行先ドメインのカンマ区切りのリストを入力します。また、各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。

  11. [認証タイプ] で [DNS 認証] を選択します。ドメイン名に DNS 認証が関連付けられている場合、その認証は自動的に取得されます。ドメイン名に DNS 認証が関連付けられていない場合は、次の操作を行います。

    1. [見つからない DNS 認証の作成] をクリックして [DNS 認証の作成] ダイアログを表示します。
    2. [DNS Authorization Name] フィールドに、DNS 認証名を指定します。
    3. [DNS 認証を作成] をクリックします。DNS 名がドメイン名に関連付けられていることを確認します。
  12. 証明書に関連付けるラベルを指定します。必要に応じて複数のラベルを追加できます。ラベルを追加するには、[ ラベルの追加] ボタンをクリックして、ラベルの keyvalue を指定します。

  13. [作成] をクリックします。新しい証明書が証明書のリストに表示されていることを確認します。

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 オーナー

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

コンソール

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

    Certificate Manager に移動

  2. 表示されたページで、[証明書] タブを選択します。

  3. [証明書を追加] をクリックします。

  4. 証明書の名前を入力します。

    この名前は、プロジェクト内で一意にする必要があります。

  5. 省略可: 証明書の説明を入力します。説明は、後で特定の証明書を識別する際に役立ちます。

  6. [ロケーション] で、次のいずれかを選択します。

    • グローバル: 証明書をグローバルに使用できるように、[グローバル] を選択します。[グローバル] を選択した場合は、[スコープ] プルダウン メニューから次のいずれかを選択します。
      • デフォルト: デフォルトのスコープを使用する証明書は、Google のコア データセンターから提供されます。
      • エッジ キャッシュ: このスコープの証明書は特別な証明書で、Google のコア以外のデータセンターから提供されます。
      • すべてのリージョン: 証明書はすべてのリージョンから提供されます。
    • リージョン: 証明書を特定のリージョンで使用できるように、[リージョン] を選択します。[リージョン] を選択した場合は、[リージョン] リストからリージョンを選択します。
  7. [証明書の種類] で [セルフマネージド証明書を作成する] を選択します。

  8. [証明書] フィールドについて、次のいずれかを行います。

    • [アップロード] ボタンをクリックし、PEM 形式の証明書ファイルを選択します。
    • PEM 形式の証明書のコンテンツをコピーして貼り付けます。コンテンツは -----BEGIN CERTIFICATE----- で始まり、-----END CERTIFICATE----- で終わる必要があります。
  9. [秘密鍵証明書] フィールドで、次のいずれかを行います:

    • [アップロード] ボタンをクリックし、秘密鍵を選択します。秘密鍵は PEM 形式で、パスフレーズで保護されていない必要があります。
    • PEM 形式の秘密鍵のコンテンツをコピーして貼り付けます。秘密鍵は -----BEGIN PRIVATE KEY----- で始まり、-----END PRIVATE KEY----- で終わる必要があります。
  10. 証明書に関連付けるラベルを指定します。必要に応じて、複数のラベルを追加できます。ラベルを追加するには、[ ラベルの追加] ボタンをクリックして、ラベルの keyvalue を指定します。

  11. [作成] をクリックします。新しい証明書が証明書のリストに表示されていることを確認します。

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

次のステップ