freshidea - Fotolia
So übertragen Sie Workload-Föderation von Google zu AWS
Der Datenaustausch zwischen Cloud-Anbietern ist die Grundlage für funktionierende Multi-Cloud-Architekturen. Wir erklären, wie Sie Identitätsföderation von Google mit AWS teilen.
Eine Multi-Cloud-Strategie hat viele Vorteile; diese bekommen Sie jedoch nur um den Preis einer erheblich komplizierteren Architektur. So ist es beispielsweise eine Herausforderung, auf Daten über Cloud-Anbieter hinweg zugreifen. Dazu benötigen Sie nämlich insbesondere die Fähigkeit, Identitäten über Cloud-Grenzen hinweg zu teilen.
Mit föderiertem Identitätsmanagement tauschen Anwendungen Identitätsinformationen aus und authentifizieren Benutzer über mehrere Domänen hinweg ohne zusätzliche Anmeldeprozesse.
Sehen wir uns die Vorteile der Identitätsföderation für Workloads an und erfahren Sie, wie Sie eine föderierte Identität in Google Cloud erstellen. Die spezifischen Details hier gelten für AWS und Google Cloud. Dasselbe Prinzip wie in dieser Anleitung funktioniert aber auch für andere Cloud-Kombinationen.
Was ist Workload-Identitätsföderation?
Cloud-Administratoren in Google Cloud verwenden häufig Dienstkonten, um eine Multi-Cloud-Umgebung zu unterstützen. Dienstkonten sind Identitäten mit Zugriffsrechten für Ressourcen in Google Cloud. Diese Konten sind nicht einzelnen Benutzern, sondern Prozessen oder Workloads zugeordnet. Benutzer anderer Cloud-Anbieter können das Dienstkonto aufrufen, um darüber auf Google-Cloud-Ressourcen zuzugreifen, beispielsweise um eine Datei aus dem Objektspeicher abzurufen oder eine Datenanalyse-Pipeline auszuführen.
Diese Nutzung von Dienstkonten ist vom Prinzip her nicht falsch, doch sie birgt ein Sicherheitsrisiko. Angreifer können beispielsweise über hinterlegte Schlüssel das Dienstkonto knacken und dann Schaden in der Umgebung anrichten.
Workload-Identitätsföderation ist eine bessere Alternative für den Zugriff auf AWS-Daten aus Google Cloud. Es macht das Speichern von Anmeldeinformationen für Dienstkonten außerhalb von Google Cloud überflüssig. Statt das Risiko dauerhafter Dienstkonten einzugehen, setzt diese Methode auf Tokens, die nach ihrer Benutzung wieder gelöscht werden.
Workload- Identitätsföderation ist ein schlüsselloser Anwendungsauthentifizierungsmechanismus in Google Cloud. Es folgt dem Token-Austauschprotokoll OAuth 2.0. Benutzer legen über einen externen Identitätsanbieter wie AWS Identity and Access Management eine Berechtigung für den Security Token Service (STS) von Google vor. Der STS validiert die Anmeldedaten und gibt ein Token für föderierte Identitäten zurück, um Anfragen in Google Cloud zu authentifizieren.
Anmeldeinformationen enthalten normalerweise Attribute, um die Identität zu bestätigen, wie beispielsweise Namen, E-Mail-Adressen oder die Mitgliedschaft in bestimmten Gruppen oder Rollen. Workload Identity Federation ordnet externe Attribute Google-Cloud-internen Attributen zu. Einige davon kann es standardmäßig automatisch erkennen, andere davon richten die Cloud-Administratoren ein.
Was sind Workload-Identitätspools?
Externe Identitäten werden in Gruppen verwaltet, die als Workload-Identitätspools bezeichnet werden. Workload-Identitätspools können eine beliebige Anzahl von Dienstkonten imitieren. Üblicherweise erstellen Sie separate Workload-Identitätspools für jede Umgebung: Entwicklung, Test, Produktion oder andere Segmente. Idealerweise gibt es nur ein AWS-Konto pro Workload-Identitätspool.
Cloud-Administratoren können über die Cloud Console sowie über eine API oder Befehlszeilenschnittstelle Workload-Identitätspools aufbauen. Code hat den Vorteil, dass Sie ihn nach Bedarf überprüfen, bereitstellen und versionieren können.
Google Cloud ordnet Identitätsanbietern Workload-Identitätspools zu. Ein Workload-Identitätsanbieter (oder Provider) ist eine Systemkomponente. Sie beschreibt eine Beziehung zwischen Google Cloud und einem externen Identitätsanbieter wie AWS oder Azure Active Directory. Nachdem Sie einen Workload-Identitätspool erstellt und einen Anbieter eingerichtet haben, können externe Identitäten die Identität von Dienstkonten übernehmen.
Der Befehl gcloud iam service-accounts add-iam-policy-binding erstellt die dafür notwendige Identitätswechselbeziehung, die den Kern der Workload-Identitätsföderation bildet. Der Befehl gibt an, dass die Rolle -- roles/iam.workloadIdentityUse -- an ein Dienstkonto gebunden ist. Das gilt für alle angegebenen Workload-Identitätspoolmitglieder. Mitglieder können alle Identitäten im Pool oder nur ein Teil davon sein. Der Befehl add-iam-policy-binding kann gelten für:
- bestimmte AWS-Benutzer
- alle Identitäten im Pool
- alle Identitäten innerhalb einer bestimmten AWS-Rolle
- alle Identitäten mit einem Attributwert
Erstellen Sie eine föderierte Identität
Das Ziel der Identitätsföderation besteht darin, es einem externen AWS-Benutzer oder einer externen AWS-Rolle zu ermöglichen, die Identität eines Google Cloud-Dienstkontos anzunehmen. Drei allgemeine Schritte sind erforderlich, um eine föderierte Identität mit der Funktion für die Workload-Identitätsföderation von Google Cloud einzurichten.
Schritt 1. Dienst-APIs aktivieren.
Wie bei anderen Google-Diensten beginnt der Prozess mit dem Aktivieren der Dienst-APIs im Google-Konto. Dazu gehören die APIs für Identitäts- und Zugriffsverwaltung, Ressourcenmanager, Dienstkontoanmeldeinformationen und Sicherheits-Token-Dienst.
Schritt 2. AWS-Authentifizierung zulassen.
Ändern Sie als Nächstes die Organisationsrichtlinie, um die AWS-Authentifizierung zuzulassen. Aktivieren Sie die Einschränkung constrains/iam.workloadIdentityPoolProviders und geben Sie https://sts.amazonaws.com als zulässigen Identitätsanbieter an. Sie können auch die AWS-Konto-IDs angeben.
Erstellen Sie in AWS eine AWS-Rolle und notieren Sie die Amazon-Ressourcennamen.
Schritt 3. Erstellen Sie das Dienstkonto.
Erstellen Sie abschließend ein Google-Cloud-Dienstkonto und gewähren Sie Zugriff auf alle Dienste, die eine föderierte Identität benötigen, um ihre Workloads auszuführen oder auf bestimmte Ressourcen zuzugreifen.