信頼構成を管理する

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

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

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

信頼構成を作成する

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

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

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

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

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

    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: この信頼構成リソースに使用する許可リストに追加される証明書。この値はオプションです。

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

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

  2. 信頼構成ファイルを Certificate Manager にインポートします。

    gcloud

    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. 新しい信頼構成パラメータを指定する更新された信頼構成 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

    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

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

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

コンソール

  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

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

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

コンソール

  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)が必要です。

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

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

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。

次のステップ