証明書を管理

このページでは、Certificate Manager を使用して Transport Layer Security(TLS)(SSL)証明書を作成、管理する方法について説明します。

詳細については、サポートされている証明書をご覧ください。

Google マネージド証明書を作成する

Certificate Manager では、次の方法で Google マネージド証明書を作成できます。

  • ロードバランサ認証を使用した Google マネージド証明書(グローバル)
  • DNS 認証を使用した Google マネージド証明書(グローバル、リージョン、クロスリージョン)
  • Certificate Authority Service(CA Service)を使用した Google マネージド証明書(グローバル、リージョン、クロスリージョン)

ロードバランサ認証

ロードバランサ認証を使用すると、ロードバランサによってトラフィックが処理されるときに、ドメインの Google マネージド証明書を取得できます。この方法では、証明書のプロビジョニングに追加の DNS レコードは必要ありません。ロードバランサ認証は、既存のトラフィックがない新しい環境に使用できます。Google マネージド証明書でロードバランサ認証を使用するタイミングについては、Google マネージド証明書のドメイン認証のタイプをご覧ください。

ロードバランサ認証を使用する Google マネージド証明書は、global ロケーションでのみ作成できます。ロードバランサ認証済み証明書は、ワイルドカード ドメインをサポートしていません。

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

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

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

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

    Certificate Manager に移動

  2. [証明書] タブで、[証明書を追加] をクリックします。

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

  4. 省略可: [説明] フィールドに証明書の説明を入力します。説明は証明書を識別するために使用します。

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

  6. [範囲] で、次のいずれかのオプションを選択します。

    • デフォルト: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • エッジ キャッシュ: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

    ロードバランサ認証は、リージョン ロケーションまたはすべてのリージョン スコープでは使用できません。

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

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

  9. [ドメイン名] フィールドに、証明書のドメイン名をカンマ区切りで指定します。各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。

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

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

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

    新しい証明書が証明書のリストに表示されます。

ロードバランサ認証を使用してグローバル Google マネージド証明書を作成するには、certificate-manager certificates create コマンドを使用します。

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    [--scope=SCOPE]

以下を置き換えます。

  • CERTIFICATE_NAME: 証明書の名前。
  • DOMAIN_NAMES: ターゲット ドメインのカンマ区切りリスト。各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。
  • SCOPE: 次のいずれかを入力します。
    • default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

google_certificate_manager_certificate リソースを使用します。

resource "google_certificate_manager_certificate" "default" {
  name        = "${local.name}-rootcert-${random_id.tf_prefix.hex}"
  description = "Cert with LB authorization"
  managed {
    domains = [local.domain]
  }
  labels = {
    "terraform" : true
  }
}

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

次のように、certificates.create メソッドに POST リクエストを送信して証明書を作成します。

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME"
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "scope": "SCOPE" //optional
 }
}

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • CERTIFICATE_NAME: 証明書の名前。
  • DOMAIN_NAMES: ターゲット ドメインのカンマ区切りリスト。各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。
  • SCOPE: 次のいずれかを入力します。
    • default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

DNS 認証

本番環境の準備が整う前に Google マネージド証明書を使用するには、DNS 認証を使用して証明書をプロビジョニングします。Google マネージド証明書で DNS 認証を使用するタイミングについては、Google マネージド証明書のドメイン認証のタイプをご覧ください。

複数のプロジェクトで証明書を個別に管理するには、プロジェクトごとの DNS 認証を使用します。プロジェクトごとの DNS 認証を使用して証明書を作成する方法については、DNS 認証を作成するをご覧ください。

証明書を作成する前に、次のことを行います。

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

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

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

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

    Certificate Manager に移動

  2. [証明書] タブで、[証明書を追加] をクリックします。

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

  4. 省略可: [説明] フィールドに証明書の説明を入力します。説明で証明書を識別できます。

  5. [ロケーション] で、[グローバル] または [リージョン] を選択します。

    [リージョン] を選択した場合は、[リージョン] リストからリージョンを選択します。

  6. [範囲] で、次のいずれかのオプションを選択します。

    • デフォルト: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • すべてのリージョン: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • エッジ キャッシュ: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

    [リージョン] の場所を選択した場合、[スコープ] フィールドは使用できません。

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

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

  9. [ドメイン名] フィールドに、証明書のドメイン名をカンマ区切りで指定します。各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。 ドメイン名は、ワイルドカード ドメイン名(*.example.com など)にすることもできます。

  10. [認証タイプ] で [DNS 認証] を選択します。

    このページには、ドメイン名の DNS 認証が一覧表示されます。ドメイン名に DNS 認証が関連付けられていない場合は、次の手順で作成します。

    1. [見つからない DNS 認証の作成] をクリックします。
    2. [DNS 認証名] フィールドに、DNS 認証の名前を指定します。デフォルトの DNS 認証タイプは FIXED_RECORD です。複数のプロジェクトで証明書を個別に管理するには、[プロジェクトごとの認証] チェックボックスをオンにします。
    3. [DNS 認証を作成] をクリックします。
  11. [ラベル] フィールドで、証明書に関連付けるラベルを指定します。ラベルを追加するには、[ラベルを追加] をクリックして、ラベルのキーと値を指定します。

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

    新しい証明書が証明書のリストに表示されます。

DNS 認証を使用して Google マネージド証明書を作成するには、certificate-manager certificates create コマンドを実行します。

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAME, *.DOMAIN_NAME" \
    --dns-authorizations="AUTHORIZATION_NAMES" \
    [--location=LOCATION] \
    [--scope=SCOPE]

以下を置き換えます。

  • CERTIFICATE_NAME: 証明書の名前。
  • DOMAIN_NAME: ターゲット ドメインの名前。ドメイン名は完全修飾ドメイン名(myorg.example.com など)またはワイルドカード ドメイン(*.myorg.example.com など)にする必要があります。アスタリスク ドットの接頭辞(*.)は、ワイルドカード証明書を示します。
  • AUTHORIZATION_NAMES: DNS 認証の名前のカンマ区切りリスト。
  • LOCATION: ターゲット Google Cloud ロケーション。デフォルトは global です。
  • SCOPE: 次のいずれかを入力します。
    • default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

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

次のように、certificates. create メソッドに POST リクエストを送信して証明書を作成します。

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME"
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
  "scope": "SCOPE" //optional
 }
}

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • LOCATION: ターゲット Google Cloud ロケーション。
  • CERTIFICATE_NAME: 証明書の名前。
  • DOMAIN_NAME: ターゲット ドメインの名前。ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。
  • ISSUANCE_CONFIG_NAME: ターゲット CA プールを参照する証明書発行構成リソースの名前。
  • SCOPE: 次のいずれかを入力します。
    • default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

CA Service により発行

Certificate Manager を CA Service と統合して、Google マネージド証明書を発行できます。グローバル Google マネージド証明書を発行するには、任意のリージョンのリージョン CA プールを使用します。リージョン Google マネージド証明書を発行するには、証明書と同じリージョンの CA プールを使用します。

証明書を作成する前に、CA Service と Certificate Manager の統合を構成します。

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

  • Certificate Manager オーナーのロール(roles/certificatemanager.owner
  • CA Service 管理者(roles/privateca.admin

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

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

    Certificate Manager に移動

  2. [証明書] タブで、[証明書を追加] をクリックします。

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

  4. 省略可: [説明] フィールドに証明書の説明を入力します。説明で証明書を識別できます。

  5. [ロケーション] で、[グローバル] または [リージョン] を選択します。

    [リージョン] を選択した場合は、[リージョン] リストからリージョンを選択します。

  6. [範囲] で、次のいずれかのオプションを選択します。

    • デフォルト: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • すべてのリージョン: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • エッジ キャッシュ: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

    [リージョン] ロケーションを選択した場合、[スコープ] フィールドは使用できません。

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

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

  9. [ドメイン名] フィールドに、証明書のドメイン名をカンマ区切りで指定します。各ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。

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

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

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

    新しい証明書が証明書のリストに表示されます。

Certificate Authority Service で Google マネージド証明書を作成するには、certificate-manager certificates create コマンドを使用します。

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config=ISSUANCE_CONFIG_NAME \
    [--location="LOCATION"] \
    [--scope=SCOPE]

以下を置き換えます。

  • CERTIFICATE_NAME: 証明書の名前。
  • DOMAIN_NAME: ターゲット ドメインの名前。ドメイン名は完全修飾ドメイン名(myorg.example.com など)またはワイルドカード ドメイン(*.myorg.example.com など)にする必要があります。アスタリスク ドットの接頭辞(*.)は、ワイルドカード証明書を示します。
  • ISSUANCE_CONFIG_NAME: ターゲット CA プールを参照する証明書発行構成リソースの名前。
  • LOCATION: ターゲット Google Cloud ロケーション。デフォルトは global です。
  • SCOPE: 次のいずれかを入力します。
    • default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

次のように、certificates.create メソッドに POST リクエストを送信して証明書を作成します。

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME"
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
  "scope": "SCOPE" //optional
 }
}

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • LOCATION: ターゲット Google Cloud ロケーション。
  • CERTIFICATE_NAME: 証明書の名前。
  • DOMAIN_NAME: ターゲット ドメインの名前。ドメイン名は完全修飾ドメイン名(myorg.example.com など)にする必要があります。
  • ISSUANCE_CONFIG_NAME: ターゲット CA プールを参照する証明書発行構成リソースの名前。
  • SCOPE: 次のいずれかを入力します。
    • default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

セルフマネージド証明書をアップロードする

セルフマネージド証明書をアップロードするには、証明書(CRT)ファイルと対応する秘密鍵(KEY)ファイルをアップロードします。次のタイプのグローバルおよびリージョン X.509 TLS(SSL)証明書をアップロードできます。

  • 任意の第三者の認証局(CA)によって生成された証明書。
  • 管理する認証局によって生成された証明書。
  • 自己署名証明書(秘密鍵と証明書を作成するを参照)。

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

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

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

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

    Certificate Manager に移動

  2. [証明書] タブで、[証明書を追加] をクリックします。

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

  4. 省略可: [説明] フィールドに証明書の説明を入力します。説明で証明書を識別できます。

  5. [ロケーション] で、[グローバル] または [リージョン] を選択します。

    [リージョン] を選択した場合は、[リージョン] リストからリージョンを選択します。

  6. [範囲] で、次のいずれかのオプションを選択します。

    • デフォルト: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • すべてのリージョン: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • エッジ キャッシュ: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

    [リージョン] ロケーションを選択した場合、[スコープ] フィールドは使用できません。

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

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

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

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

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

    新しい証明書が証明書のリストに表示されます。

セルフマネージド証明書を作成するには、certificate-manager certificates create コマンドを使用します。

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE" \
    [--location="LOCATION"] \
    [--scope=SCOPE]

以下を置き換えます。

  • CERTIFICATE_NAME: 証明書の名前。
  • CERTIFICATE_FILE: CRT 証明書ファイルのパスとファイル名。
  • PRIVATE_KEY_FILE: KEY 秘密鍵ファイルのパスとファイル名。
  • LOCATION: ターゲット Google Cloud ロケーション。デフォルトは global です。
  • SCOPE: 次のいずれかを入力します。
    • default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

セルフマネージド証明書をアップロードするには、self_managed ブロックで google_certificate_manager_certificate リソースを使用します。

次のように、certificates.create メソッドに POST リクエストを送信して証明書をアップロードします。

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME
{
  self_managed: {
    pem_certificate: "PEM_CERTIFICATE",
    pem_private_key: "PEM_KEY",
    scope: SCOPE
  }
}

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • LOCATION: ターゲット Google Cloud ロケーション。
  • CERTIFICATE_NAME: 証明書の名前。
  • PEM_CERTIFICATE: 証明書 PEM。
  • PEM_KEY: 鍵の PEM。
  • SCOPE: 次のいずれかを入力します。
    • default: グローバル外部アプリケーション ロードバランサまたはグローバル外部プロキシ ネットワーク ロードバランサで証明書を使用する場合。
    • all-regions: クロスリージョン内部アプリケーション ロードバランサで証明書を使用する場合。
    • edge-cache: Media CDN で証明書を使用し、証明書に複数のドメインを指定する場合。

証明書を更新する

既存の証明書は、対応する証明書マップ内のドメイン名への割り当てを変更せずに更新できます。証明書を更新するときは、新しい証明書の SAN が既存の証明書の SAN と完全に一致していることを確認してください。

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

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

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

Google マネージド証明書

Google マネージド証明書の場合、証明書の説明とラベルのみを更新できます。

コンソールgcloudAPI

Google Cloud コンソールから証明書を更新することはできません。代わりに Google Cloud CLI を使用してください。

Google マネージド証明書を更新するには、certificate-manager certificates update コマンドを使用します。

gcloud certificate-manager certificates update CERTIFICATE_NAME \
    [--description="DESCRIPTION"] \
    [--update-labels="LABELS"]

以下を置き換えます。

  • CERTIFICATE_NAME: 証明書の名前。
  • DESCRIPTION: 証明書の一意の説明。
  • LABELS: この証明書に適用されるラベルのカンマ区切りリスト。

次のように、certificates.patch メソッドに PATCH リクエストを送信して証明書を更新します。

PATCH /v1/projects/PROJECT_ID/certificates/CERTIFICATE_NAME?updateMask=self_managed,labels,description
{
  "description": "DESCRIPTION",
  "labels": {
    "LABEL_KEY": "LABEL_VALUE",
  }

}

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • CERTIFICATE_NAME: 証明書の名前。
  • DESCRIPTION: 証明書の説明。
  • LABEL_KEY: 証明書に適用されるラベルキー。
  • LABEL_VALUE: 証明書に適用されるラベル値。

セルフマネージド証明書

セルフマネージド証明書を更新するには、次の PEM エンコード ファイルをアップロードする必要があります。

  • 証明書 CRT ファイル
  • 対応する秘密鍵 KEY ファイル

コンソールgcloudAPI

Google Cloud コンソールから証明書を更新することはできません。代わりに Google Cloud CLI を使用してください。

セルフマネージド証明書を更新するには、certificate-manager certificates update コマンドを使用します。

gcloud certificate-manager certificates update CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE" \
    --description="DESCRIPTION" \
    --update-labels="LABELS" \
    [--location="LOCATION"]

以下を置き換えます。

  • CERTIFICATE_NAME: 証明書の名前。
  • CERTIFICATE_FILE: CRT 証明書ファイルのパスとファイル名。
  • PRIVATE_KEY_FILE: KEY 秘密鍵ファイルのパスとファイル名。
  • DESCRIPTION: この証明書の一意の説明値。
  • LABELS: この証明書に適用されるラベルのカンマ区切りリスト。
  • LOCATION: ターゲット Google Cloud ロケーション。このフラグは省略可能です。このフラグは、リージョン証明書にのみ指定します。

次のように、certificates.patch メソッドに PATCH リクエストを送信して証明書を更新します。

PATCH /v1/projects/PROJECT_ID/locations/[LOCATION]/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。
  • LOCATION: ターゲット Google Cloud ロケーション。このフラグは省略可能です。このフラグは、リージョン証明書にのみ指定します。
  • CERTIFICATE_NAME: 証明書の名前。
  • PEM_CERTIFICATE: 証明書 PEM。
  • PEM_KEY: 鍵の PEM。
  • DESCRIPTION: 証明書のわかりやすい説明。
  • LABEL_KEY: 証明書に適用されるラベルキー。
  • LABEL_VALUE: 証明書に適用されるラベル値。

証明書を一覧表示する

プロジェクトのすべての証明書と、リージョン、ホスト名、有効期限、タイプなどの詳細を確認できます。

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

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

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

コンソールgcloudAPI

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

Certificate Manager によってプロビジョニングされた証明書を表示するには:

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

    Certificate Manager に移動

  2. [証明書] タブをクリックします。

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

Cloud Load Balancing でプロビジョニングされた証明書を表示するには:

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

    Certificate Manager に移動

  2. [従来の証明書] タブをクリックします。

    従来の証明書は、Certificate Manager では管理されません。これらの管理方法について詳しくは、以下をご覧ください。

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

gcloud certificate-manager certificates list \
    [--location="LOCATION"] \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

以下を置き換えます。

  • LOCATION: ターゲット 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 フィールドのカンマ区切りリスト。 デフォルトの並べ替え順は昇順です。降順で並べ替えるには、フィールドの先頭にチルダ(~)を付けます。

次のように、certificates.list メソッドに LIST リクエストを送信して、証明書を一覧表示します。

GET /v1/projects/PROJECT_ID/locations/LOCATION/certificates?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • LOCATION: ターゲット Google Cloud ロケーション。すべてのリージョンの証明書を一覧表示するには、値として - を使用します。
  • 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: ページごとに返す結果の数

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

証明書の状態を表示する

既存の証明書の状態(プロビジョニングの状態など)を確認できます。

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

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

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

コンソールgcloudAPI

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

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

    Certificate Manager に移動

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

  3. [証明書] タブで、ターゲット証明書に移動し、証明書の名前をクリックします。

    [証明書の詳細] ページに、選択した証明書の詳細が表示されます。

  4. 省略可: この証明書の Certificate Manager API からの REST レスポンスを表示するには、[同等の REST] をクリックします。

  5. 省略可: 表示する証明書発行の構成が証明書に関連付けられている場合は、[発行の構成] フィールドで、関連する証明書発行構成リソースの名前をクリックします。

    Google Cloud コンソールに証明書発行の構成の完全な構成が表示されます。

証明書のステータスを表示するには、certificate-manager certificates describe コマンドを使用します。

gcloud certificate-manager certificates describe CERTIFICATE_NAME \
    [--location="LOCATION"]

以下を置き換えます。

  • CERTIFICATE_NAME: 証明書の名前。
  • LOCATION: ターゲット Google Cloud ロケーション。デフォルトの場所は global です。このフラグは省略可能です。

次のように、certificates.get メソッドに GET リクエストを送信して証明書の状態を表示します。

GET /v1/projects/PROJECT_ID/locations/LOCATION/certificates/CERTIFICATE_NAME

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • LOCATION: ターゲット Google Cloud ロケーション。
  • CERTIFICATE_NAME: 証明書の名前。

証明書を削除する

証明書を削除する前に、その証明書を参照するすべての証明書マップエントリから削除する必要があります。そうしないと、削除は失敗します。詳細については、証明書マップエントリを削除するをご覧ください。

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

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

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

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

    Certificate Manager に移動

  2. [証明書] タブで、削除する証明書のチェックボックスをオンにします。

  3. [削除] をクリックします。

  4. 表示されたダイアログで、[削除] をクリックして確定します。

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

gcloud certificate-manager certificates delete CERTIFICATE_NAME \
    [--location="LOCATION"]

以下を置き換えます。

  • CERTIFICATE_NAME: 証明書の名前。
  • LOCATION: ターゲット Google Cloud ロケーション。デフォルトの場所は global です。このフラグは省略可能です。

次のように、certificates.delete メソッドに DELETE リクエストを送信して証明書を削除します。

DELETE /v1/projects/PROJECT_ID/locations/LOCATION/certificates/CERTIFICATE_NAME

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • LOCATION: ターゲット Google Cloud ロケーション。
  • CERTIFICATE_NAME: 証明書の名前。

次のステップ