Das Feature für verwaltete Arbeitslastidentitäten ist Teil der Identity and Access Management API. Verwaltete Arbeitslastidentitäten vereinfachen mTLS, indem X.509-Zertifikate automatisch vom Certificate Authority Service bereitgestellt und verwaltet werden.
Die verwaltete Arbeitslastidentität basiert auf dem Secure Production Identity Framework For Everyone (SPIFFE)-Standard, der ein Framework zur Identifizierung, Authentifizierung und Sicherung der Kommunikation zwischen Arbeitslasten mithilfe einer eindeutigen SPIFFE-ID bietet.
Auf dieser Seite wird die verwaltete Arbeitslastidentität im Kontext der Zuweisung einer verwalteten Identität zu einem Load Balancer für die mTLS-Authentifizierung behandelt. Weitere Informationen zu verwalteten Arbeitslastidentitäten für andere Arbeitslasten finden Sie unter Verwaltete Arbeitslastidentitäten.
SPIFFE-ID
Eine verwaltete Identität wird durch eine SPIFFE-ID dargestellt. Die SPIFFE-ID ist ein URI, der eine Arbeitslast eindeutig identifiziert. Im Fall von Backend-mTLS ist die Arbeitslast der Backend-Dienst eines Load Balancers. Er hat das folgende Format:
spiffe://TRUST_DOMAIN_NAME/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID
Ein TRUST_DOMAIN_NAME wird so erweitert:
WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog
Compute Engine-Arbeitslasten, z. B. die Backend-Dienstressource eines Load Balancers, können eine verwaltete Identität haben:
spiffe://WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID
Im folgenden Abschnitt werden die verschiedenen verwalteten Workload Identity-Ressourcen beschrieben.
Ressourcenhierarchie für verwaltete Arbeitslastidentitäten
Wenn Sie eine verwaltete Arbeitslastidentität für einen Load Balancer einrichten möchten, müssen Sie die folgenden Ressourcen erstellen. Diese Ressourcen werden in den folgenden Abschnitten dieses Dokuments beschrieben.
- Workload Identity-Pool
- Namespace
- Verwaltete Arbeitslastidentität
- Attestierungsrichtlinie
Workload Identity-Pool
Verwaltete Arbeitslastidentitäten werden in einem Workload Identity-Pool definiert, der als vertrauenswürdige Domain dient.
Die vertrauenswürdige Domain stellt eine logische Sicherheitsgrenze dar, innerhalb derer sich Arbeitslasten mithilfe ihrer SPIFFE-IDs gegenseitig authentifizieren und autorisieren können. Alle Arbeitslasten in derselben vertrauenswürdigen Domain haben einen gemeinsamen Root of Trust, sodass die Arbeitslasten die Identitäten des jeweils anderen prüfen können.
Wenn Sie verwaltete Identitäten verwenden möchten, müssen Sie den Workload Identity-Pool im Modus TRUST_DOMAIN konfigurieren. Alle Identitäten in einem Pool bestehen aus einem einzelnen Namespace und einer individuellen Arbeitslast-ID.
Im folgenden Diagramm gehören der Load-Balancer und das Back-End zur selben Vertrauensdomäne und verwenden dasselbe Root-Zertifikat. Das Root-Zertifikat wird verwendet, um eine Vertrauenskette zu erstellen und die Identität der Arbeitslasten in der vertrauenswürdigen Domain zu überprüfen.
Standardmäßig können sich Ihre Arbeitslasten innerhalb derselben vertrauenswürdigen Domain gegenseitig mit verwalteten Workload Identities authentifizieren. Wenn Sie möchten, dass Arbeitslasten in verschiedenen vertrauenswürdigen Domains sich gegenseitig authentifizieren, müssen Sie die Vertrauensstellung im Workload Identity-Pool explizit deklarieren. Dazu erstellen Sie eine Inline-Konfiguration für Vertrauensbeziehungen, in der Zertifikate aus anderen Vertrauensdomänen erkannt und akzeptiert werden.
Namespace
In einem Workload Identity-Pool werden verwaltete Arbeitslastidentitäten in administrativen Grenzen organisiert, die als Namespaces bezeichnet werden. Mit Namespaces können Sie zugehörige Arbeitslastidentitäten organisieren und den Zugriff darauf gewähren.
Verwaltete Arbeitslastidentität
Eine verwaltete Arbeitslastidentität oder verwaltete Identität ist ein Arbeitslast-Identifier, der in einem Workload Identity-Pool konfiguriert ist. Sie ist an eine Google Cloud-Ressource angehängt. Jede verwaltete Identität wird eindeutig durch einen Namespace und eine individuelle Arbeitslast-ID identifiziert.
Im Zusammenhang mit der Implementierung von Backend-mTLS wird die verwaltete Identität an die Backend-Dienstressource des Load-Balancers angehängt.
Der Wert einer verwalteten Identität ist eine vollständig angegebene SPIFFE-ID, die dem folgenden Format entsprechen muss:
spiffe://WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID
Attestierungsrichtlinie
Für verwaltete Arbeitslastidentitäten für Compute Engine-Ressourcen müssen Sie Attestierungsrichtlinien konfigurieren.
Richtlinien zur Attestierung von Arbeitslasten enthalten Regeln, die angeben, für welche Arbeitslasten ein X.509-Zertifikat für eine verwaltete Arbeitslastidentität ausgestellt werden kann. In Attestierungsrichtlinien werden überprüfbare Arbeitslastattribute wie Projekt-ID oder Ressourcenname verwendet, um sicherzustellen, dass nur vertrauenswürdige Arbeitslasten eine bestimmte verwaltete Identität verwenden können.