このページでは、相互 TLS 認証(mTLS)シナリオで使用する信頼構成を作成、管理する方法について説明します。
詳しくは、次のリソースをご覧ください。
信頼構成、トラスト アンカー、中間証明書の詳細については、Certificate Manager の仕組みの信頼構成をご覧ください。
mTLS の詳細については、Cloud Load Balancing ドキュメントの相互 TLS 認証をご覧ください。
信頼構成を使用してターゲット プロキシで mTLS を構成するには、Cloud Load Balancing ドキュメントの次のいずれかのページをご覧ください。
このページの gcloud
の説明では、Cloud Shell または bash
がインストールされた別の環境を使用していることを前提としています。このページで使用されている gcloud
コマンドの詳細については、Certificate Manager CLI のリファレンスをご覧ください。
信頼構成を作成する
このタスクを完了するには、ターゲットの Google Cloud プロジェクトに対する次のいずれかのロールが必要です。
- Certificate Manager 編集者(
roles/certificatemanager.editor
) - Certificate Manager オーナー(
roles/certificatemanager.owner
)
詳細については、ロールと権限をご覧ください。
信頼構成を作成するには、次の手順を行います。
信頼構成パラメータを指定する信頼構成 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_CERT1
とALLOWLISTED_CERT2
: この信頼構成リソースに使用する許可リストに追加される証明書。この値はオプションです。信頼構成リソース仕様のそれぞれのセクションで、
pemCertificate
フィールドの複数のインスタンス(インスタンスごとに 1 つの証明書)を使用して、複数のトラスト アンカーと中間証明書を指定できます。許可リストに追加された証明書は、信頼構成内でカプセル化可能なあらゆる証明書を表し、常に有効と見なされます。信頼構成内の許可リストで複数の証明書をカプセル化する場合は、
pemCertificate
フィールドの複数のインスタンスを使用します(インスタンスごとに 1 つの証明書)。許可リストに追加された証明書を使用する場合、トラストストアは必要ありません。許可リストに追加された証明書は、証明書が解析可能で、秘密鍵の所有の証明が確立され、証明書の SAN フィールドの制約が満たされている限り、常に有効とみなされます。期限切れの証明書も、許可リストに追加された場合は有効とみなされます。PEM エンコード形式の詳細については、RFC 7468 をご覧ください。
信頼構成ファイルを 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
)
詳細については、ロールと権限をご覧ください。
信頼構成を更新するには、次の手順を行います。
新しい信頼構成パラメータを指定する更新された信頼構成 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_CERT1
とALLOWLISTED_CERT2
: この信頼構成リソースに使用する許可リストに追加される証明書。この値はオプションです。
既存の信頼構成リソース名に対して、新しい信頼構成ファイルを 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
)
詳細については、ロールと権限をご覧ください。
構成済みの信頼構成を一覧表示するには、次の手順を行います。
Console
Google Cloud コンソールで、[Certificate Manager] ページに移動します。
[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
Google Cloud コンソールで、[Certificate Manager] ページに移動します。
[Trust Configs] タブをクリックします。このタブには、構成済みの信頼構成リソースのリストが表示されます。
信頼構成リソースを選択して詳細を表示します。
[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。