信頼構成を管理する

このページでは、相互 TLS 認証(mTLS)シナリオで使用する信頼構成を作成、管理する方法について説明します。

詳しくは、次のリソースをご覧ください。

このページの gcloud の説明では、Cloud Shell または bash がインストールされた別の環境を使用していることを前提としています。このページで使用されている gcloud コマンドの詳細については、Certificate Manager CLI のリファレンスをご覧ください。

信頼構成を作成する

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

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

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

信頼構成を作成するには、次の手順を行います。

コンソール

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

    Certificate Manager に移動

  2. [Trust Configs] タブで、[Add Trust Config] をクリックします。

  3. [名前] フィールドに、構成の名前を入力します。

    名前は、プロジェクト内で一意にする必要があります。また、先頭は英小文字で、その後に 62 文字以下の英小文字、数字、ハイフンで構成します。末尾をハイフンにすることはできません。

  4. 省略可: [説明] フィールドに、構成の説明を入力します。この説明は、後で特定の構成を識別するのに役立ちます。

  5. 省略可: [ラベル] フィールドで、信頼構成に関連付けるラベルを指定します。ラベルを追加するには、[ラベルを追加] をクリックして、ラベルのキーと値を指定します。

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

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

  7. [トラストストア] セクションで、トラスト アンカーと中間 CA を追加します。

    証明書の完全な PEM ペイロードの複数のインスタンス(インスタンスごとに 1 つの証明書)を使用して、複数のトラスト アンカーと中間証明書を指定できます。

    1. [トラスト アンカー] セクションで、[トラスト アンカーを追加] をクリックし、PEM でエンコードされた証明書ファイルをアップロードするか、証明書の内容をコピーします。完了したら、[追加] をクリックします。
    2. 省略可: [中間 CA] セクションで [中間 CA を追加] をクリックし、PEM でエンコードされた中間証明書ファイルをアップロードするか、中間証明書の内容をコピーします。完了したら、[追加] をクリックします。

      この手順により、ルート証明書とサーバー証明書の間に別の信頼レベルを追加できます。

    3. 省略可: [許可リストに登録された証明書] セクションで、[証明書を追加] をクリックして PEM でエンコードされた証明書ファイルをアップロードするか、証明書の内容をコピーします。これにより、証明書が許可リストに追加されます。完了したら、[追加] をクリックします。

      許可リストに追加された証明書は、信頼構成内でカプセル化可能なあらゆる証明書を表し、常に有効と見なされます。信頼構成内の許可リストで複数の証明書をカプセル化する場合は、pemCertificate フィールドの複数のインスタンスを使用します(許可リストに追加するインスタンスごとに 1 つの証明書)。許可リストに追加された証明書は、証明書が解析可能で、秘密鍵の所有の証明が確立され、証明書の SAN フィールドの制約が満たされている限り、常に有効とみなされます。期限切れの証明書も、許可リストに追加された場合は有効とみなされます。PEM エンコード形式の詳細については、RFC 7468 をご覧ください。

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

新しい信頼構成が構成リストに表示されていることを確認します。

gcloud

  1. 信頼構成パラメータを指定する信頼構成 YAML ファイルを作成します。

    ファイルの形式は次のとおりです。

    trustStores:
    - trustAnchors:
      - pemCertificate: "CERTIFICATE_PEM_PAYLOAD"
      intermediateCas:
      - pemCertificate: "INTER_CERT_PEM_PAYLOAD"
    allowlistedCertificates:
    - pemCertificate: "ALLOWLISTED_CERT1"
    - pemCertificate: "ALLOWLISTED_CERT2"
    

    以下のように置き換えます。

    • CERTIFICATE_PEM_PAYLOAD: この信頼構成リソースに使用する証明書の完全な PEM ペイロード。
    • INTER_CERT_PEM_PAYLOAD: この信頼構成リソースに使用する中間証明書の完全な PEM ペイロード。この値はオプションです。
    • ALLOWLISTED_CERT1ALLOWLISTED_CERT2: この信頼構成リソースに使用する許可リストに追加される証明書。この値はオプションです。

    信頼構成リソース仕様のそれぞれのセクションで、pemCertificate フィールドの複数のインスタンス(インスタンスごとに 1 つの証明書)を使用して、複数のトラスト アンカーと中間証明書を指定できます。

    許可リストに追加された証明書は、信頼構成内でカプセル化可能なあらゆる証明書を表し、常に有効と見なされます。信頼構成内の許可リストで複数の証明書をカプセル化する場合は、pemCertificate フィールドの複数のインスタンスを使用します(許可リストに追加するインスタンスごとに 1 つの証明書)。許可リストに追加された証明書は、証明書が解析可能で、秘密鍵の所有の証明が確立され、証明書の SAN フィールドの制約が満たされている限り、常に有効とみなされます。期限切れの証明書も、許可リストに追加された場合は有効とみなされます。PEM エンコード形式の詳細については、RFC 7468 をご覧ください。

  2. 信頼構成 YAML ファイルをインポートするには、gcloud certificate-manager trust-configs import コマンドを使用します。

    gcloud certificate-manager trust-configs import TRUST_CONFIG_ID \
      --project=PROJECT_ID \
      --source=TRUST_CONFIG_FILE \
      --location=LOCATION
    

    以下のように置き換えます。

    • TRUST_CONFIG_ID: この信頼構成リソースを識別する一意の ID。
    • PROJECT_ID: ターゲットの Google Cloud プロジェクトの ID。
    • TRUST_CONFIG_FILE: 手順 1 で作成した信頼構成 YAML ファイルのフルパスと名前。
    • LOCATION: 信頼構成リソースが保存されるリージョン。デフォルトの場所は global です。

API

trustConfigs.create メソッドに POST リクエストを送信します。

POST /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs?trust_config_id=TRUST_CONFIG_ID
{
  "description": "DESCRIPTION",
  "trust_stores": {
    "trust_anchors": [{
      "pem_certificate": "CERTIFICATE_PEM_PAYLOAD"
    }],
    "intermediate_cas": [{
      "pem_certificate": "INTER_CERT_PEM_PAYLOAD"
    }],
  },
  "allowlistedCertificates": [{
    "pem_certificate": "ALLOWLISTED_CERT"
  }],
}

以下のように置き換えます。

  • PROJECT_ID: ターゲットの Google Cloud プロジェクトの ID。
  • LOCATION: ロケーション属性は、信頼構成リソースが保存されるリージョンを指定します。デフォルトの場所は global です。
  • TRUST_CONFIG_ID: この信頼構成リソースを識別する一意の ID。
  • DESCRIPTION: この信頼構成リソースのわかりやすい説明。この値はオプションです。
  • CERTIFICATE_PEM_PAYLOAD: この信頼構成リソースに使用する証明書の完全な PEM ペイロード。
  • INTER_CERT_PEM_PAYLOAD: この信頼構成リソースに使用する中間証明書の完全な PEM ペイロード。この値はオプションです。
  • ALLOWLISTED_CERT: この信頼構成リソースに使用する許可リストに追加される証明書。この値はオプションです。

信頼構成を更新する

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

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

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

信頼構成を更新するには、次の手順を行います。

コンソール

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

    Certificate Manager に移動

  2. [信頼構成] タブで、更新する信頼構成を見つけて選択します。

  3. [その他のオプション] 列で、更新する構成の アイコンをクリックし、[編集] を選択します。

  4. 必要な変更を行います。

  5. [保存] をクリックします。

構成変更が更新されたことを確認します。

gcloud

  1. 新しい信頼構成パラメータを指定する更新された信頼構成 YAML ファイルを作成します。ファイルの形式は次のとおりです。

    name: "TRUST_CONFIG_ID"
    trustStores:
    - trustAnchors:
      - pemCertificate: "CERTIFICATE_PEM_PAYLOAD"
      intermediateCas:
      - pemCertificate: "INTER_CERT_PEM_PAYLOAD"
    allowlistedCertificates:
    - pemCertificate: "ALLOWLISTED_CERT1"
    - pemCertificate: "ALLOWLISTED_CERT2"
    

    以下のように置き換えます。

    • TRUST_CONFIG_ID: この信頼構成リソースを識別する一意の ID。
    • CERTIFICATE_PEM_PAYLOAD: この信頼構成リソースに使用する証明書の完全な PEM ペイロード。
    • INTER_CERT_PEM_PAYLOAD: この信頼構成リソースに使用する中間証明書の完全な PEM ペイロード。この値はオプションです。
    • ALLOWLISTED_CERT1ALLOWLISTED_CERT2: この信頼構成リソースに使用する許可リストに追加される証明書。この値はオプションです。
  2. 既存の信頼構成リソース名に対して、新しい信頼構成ファイルを Certificate Manager にインポートします。

    gcloud certificate-manager trust-configs import コマンドを使用します。

    gcloud certificate-manager trust-configs import TRUST_CONFIG_ID \
      --project=PROJECT_ID \
      --source=TRUST_CONFIG_FILE \
      --location=LOCATION
    

    以下のように置き換えます。

    • TRUST_CONFIG_ID: ターゲットの信頼構成リソースの ID。
    • PROJECT_ID: ターゲットの Google Cloud プロジェクトの ID。
    • TRUST_CONFIG_FILE: 更新された信頼構成ファイルのフルパスと名前。
    • LOCATION: ロケーション属性は、信頼構成リソースが保存されるリージョンを指定します。デフォルトの場所は global です。

API

trustConfigs.update メソッドに PATCH リクエストを送信します。

PATCH /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs/TRUST_CONFIG_ID?update_mask=*
  {
    "description": "DESCRIPTION",
    "trust_stores": {
      "trust_anchors": [{
        "pem_certificate": "CERTIFICATE_PEM_PAYLOAD"
      }],
      "intermediate_cas": [{
        "pem_certificate": "INTER_CERT_PEM_PAYLOAD"
      }],
    },
    "allowlistedCertificates": [{
      "pem_certificate": "ALLOWLISTED_CERT"
  }],
  }

以下のように置き換えます。

  • PROJECT_ID: ターゲットの Google Cloud プロジェクトの ID。
  • LOCATION: ロケーション属性は、信頼構成リソースが保存されるリージョンを指定します。デフォルトの場所は global です。
  • TRUST_CONFIG_ID: ターゲットの信頼構成リソースの ID。
  • DESCRIPTION: この信頼構成リソースのわかりやすい説明。この説明は省略可能です。
  • CERTIFICATE_PEM_PAYLOAD: この信頼構成リソースに使用する証明書の完全な PEM ペイロード。
  • INTER_CERT_PEM_PAYLOAD: この信頼構成の構成リソースに使用する中間証明書の完全な PEM ペイロード。この値はオプションです。
  • ALLOWLISTED_CERT: この信頼構成リソースに使用する許可リストに追加される証明書。この値はオプションです。

信頼構成を一覧表示する

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

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

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

構成済みの信頼構成を一覧表示するには、次の手順を行います。

Console

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

    Certificate Manager に移動します。

  2. [Trust Configs] タブをクリックします。

    このタブには、構成済みの信頼構成リソースのリストが表示されます。

gcloud

gcloud certificate-manager trust-configs list コマンドを使用します。

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

以下のように置き換えます。

  • 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 フィールドのカンマ区切りリスト。

    デフォルトの並べ替え順は昇順です。降順の並べ替え順の場合、選択したフィールドの先頭にチルダ(~)を付けます。

  • LOCATION: ロケーション属性は、信頼構成リソースが保存されるリージョンを指定します。デフォルトの場所は global です。

API

trustConfigs.list メソッドに GET リクエストを送信します。

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

以下のように置き換えます。

  • PROJECT_ID: ターゲットの Google Cloud プロジェクトの ID。
  • FILTER: 返される結果を特定の値に制限する式。
  • PAGE_SIZE: ページごとに返す結果の数
  • SORT_BY: 返される結果の並べ替えの基準とするフィールド名のカンマ区切りリスト

    デフォルトの並べ替え順は昇順です。降順の並べ替え順の場合、選択したフィールドの先頭にチルダ(~)を付けます。

  • LOCATION: ロケーション属性は、信頼構成リソースが保存されるリージョンを指定します。デフォルトの場所は global です。

信頼構成を表示する

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

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

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

信頼構成を表示するには、次の手順を行います。

Console

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

    Certificate Manager に移動します。

  2. [Trust Configs] タブをクリックします。このタブには、構成済みの信頼構成リソースのリストが表示されます。

  3. 信頼構成リソースを選択して詳細を表示します。

    [Trust Config details] ページに、選択した信頼構成の詳細が表示されます。

gcloud

gcloud certificate-manager trust-configs describe コマンドを使用します。

gcloud certificate-manager trust-configs describe TRUST_CONFIG_ID \
    --location=LOCATION

以下のように置き換えます。

  • TRUST_CONFIG_ID: ターゲットの信頼構成の ID。
  • LOCATION: 信頼構成リソースが保存されるリージョン。デフォルトの場所は global です。

API

trustConfigs.get メソッドに GET リクエストを送信します。

GET /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs/TRUST_CONFIG_ID

以下のように置き換えます。

  • PROJECT_ID: ターゲットの Google Cloud プロジェクトの ID。
  • TRUST_CONFIG_ID: ターゲットの信頼構成の ID。
  • LOCATION: ロケーション属性は、信頼構成リソースが保存されるリージョンを指定します。デフォルトの場所は global です。

信頼構成を削除する

このタスクを完了するには、ターゲットの Google Cloud プロジェクトに対する Certificate Manager 所有者のロール(roles/certificatemanager.owner)が必要です。

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

信頼構成を削除するには、次の手順を行います。

コンソール

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

    Certificate Manager に移動

  2. [信頼構成] タブで、削除する信頼構成のチェックボックスをオンにします。

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

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

gcloud

gcloud certificate-manager trust-configs delete コマンドを使用します。

gcloud certificate-manager trust-configs delete TRUST_CONFIG_ID \
    --location=LOCATION

以下のように置き換えます。

  • TRUST_CONFIG_ID: ターゲットの信頼構成の ID。
  • LOCATION: 信頼構成リソースが保存されるリージョン。デフォルトの場所は global です。

API

trustConfigs.delete メソッドに DELETE リクエストを送信します。

DELETE /v1/projects/PROJECT_ID/locations/LOCATION/trustConfigs/TRUST_CONFIG_ID

以下のように置き換えます。

  • PROJECT_ID: ターゲットの Google Cloud プロジェクトの ID。
  • LOCATION: 信頼構成リソースが保存されるリージョン。デフォルトの場所は global です。
  • TRUST_CONFIG_ID: ターゲットの信頼構成の ID。

次のステップ