マネージド ワークロード ID の概要

マネージド ワークロード ID 機能は、Identity and Access Management API の一部です。マネージド ワークロード ID は、Certificate Authority Service からの X.509 証明書を自動的にプロビジョニングして管理することで、mTLS を簡素化します。

マネージド ワークロード ID は、一意の SPIFFE ID を使用してワークロード間の通信を識別、認証、保護するためのフレームワークを提供する Secure Production Identity Framework For Everyone(SPIFFE)標準に基づいています。

このページでは、mTLS 認証用にマネージド ID をロードバランサに割り当てるコンテキストで、マネージド ワークロード ID について説明します。他のワークロードのマネージド ワークロード ID の詳細については、マネージド ワークロード ID の概要をご覧ください。

SPIFFE ID

マネージド ID は SPIFFE ID で表されます。SPIFFE ID は、ワークロードを一意に識別する URI です。バックエンド mTLS の場合、ワークロードはロードバランサのバックエンド サービスです。形式は次のとおりです。

spiffe://TRUST_DOMAIN_NAME/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID

TRUST_DOMAIN_NAME は次のように展開されます。

WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog

まとめると、ロードバランサのバックエンド サービス リソースなどの Compute Engine ワークロードには、次のようにマネージド ID を設定できます。

spiffe://WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID

以降のセクションでは、さまざまなマネージド ワークロード ID リソースについて説明します。

マネージド ワークロード ID のリソース階層

ロードバランサのマネージド ワークロード ID を設定するには、次のリソースを作成する必要があります。これらのリソースについては、このドキュメントの以降のセクションで説明します。

  • Workload Identity プール
  • 名前空間
  • マネージド ワークロード ID
  • 構成証明ポリシー

Workload Identity プール

マネージド ワークロード ID は、信頼ドメインとして機能するワークロード ID プール内で定義されます。

信頼ドメインは、ワークロードが SPIFFE ID を使用して相互に認証と認可を行うことができる論理的なセキュリティ境界を表します。同じ信頼ドメイン内のすべてのワークロードは共通のルート オブ トラストを共有するため、ワークロードは互いの ID を検証できます。

マネージド ID を使用するには、TRUST_DOMAIN モードで Workload Identity プールを構成する必要があります。プール内のすべての ID は、単一の名前空間と個々のワークロード識別子で構成されます。

次の図では、ロードバランサとバックエンドは同じ信頼ドメインの一部であり、同じルート証明書を共有しています。ルート証明書は、信頼チェーンを構築し、信頼ドメイン内のワークロードの ID を検証するために使用されます。

デフォルトでは、同じ信頼ドメイン内のワークロードは、マネージド ワークロード ID を使用して相互に認証できます。異なる信頼ドメインにあるワークロードを相互に認証する場合は、Workload Identity プールで信頼関係を明示的に宣言する必要があります。これを行うには、他の信頼ドメインの証明書を認識して受け入れるインライン信頼構成を作成します。

マネージド ワークロード ID リソース階層。
マネージド ワークロード ID リソース階層(クリックして拡大)。

名前空間

ワークロード ID プール内では、マネージド ワークロード ID が名前空間と呼ばれる管理境界に編成されます。名前空間は、関連するワークロード ID を整理し、アクセス権を付与するのに役立ちます。

マネージド ワークロード ID

マネージド ワークロード ID またはマネージド ID は、ワークロード ID プールで構成されるワークロード識別子です。 Google Cloudリソースに適用されます。各マネージド ID は、Namespace と個々のワークロード識別子によって一意に識別されます。

バックエンド mTLS の実現というコンテキストでは、マネージド ID はロードバランサのバックエンド サービス リソースに接続されます。

マネージド ID の値は、次の形式に準拠する必要がある完全指定の SPIFFE ID です。

spiffe://WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID

構成証明ポリシー

Compute Engine リソースのマネージド ワークロード ID では、証明書ポリシーを構成する必要があります。

ワークロード証明書ポリシーには、マネージド ワークロード ID の X.509 証明書を発行できるワークロードを指定するルールが含まれています。証明書ポリシーは、検証可能なワークロード属性(プロジェクト ID やリソース名など)を使用して、信頼できるワークロードのみが特定のマネージド ID を使用できるようにします。

次のステップ