GCP - Federation Abuse
OIDC - Github Actions Missbrauch
GCP
Um den Github Actions aus einem Github-Repo Zugriff auf ein GCP Servicekonto zu gewähren, sind die folgenden Schritte erforderlich:
Erstellen Sie das Servicekonto, um aus den Github Actions mit den gewünschten Berechtigungen darauf zuzugreifen:
Generieren Sie einen neuen Arbeitslastidentitätspool:
Generieren Sie einen neuen Workload-Identitätspool OIDC-Anbieter, der github actions vertraut (nach Organisation/Repository-Namen in diesem Szenario):
Schließlich erlauben Sie dem Hauptbenutzer des Anbieters, einen Dienstprinzipal zu verwenden:
Beachten Sie, wie im vorherigen Abschnitt der org-name/repo-name
als Bedingungen angegeben sind, um auf den Dienstaccount zugreifen zu können (weitere Parameter, die es restriktiver machen, wie der Branch, könnten ebenfalls verwendet werden).
Es ist jedoch auch möglich, allen GitHub-Zugriff auf den Dienstaccount zu ermöglichen, indem ein Anbieter erstellt wird, der ein Platzhalterzeichen verwendet:
In diesem Fall könnte jeder über GitHub-Aktionen auf den Dienstaccount zugreifen, daher ist es immer wichtig zu überprüfen, wie das Mitglied definiert ist. Es sollte immer so etwas sein wie:
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Github
Denken Sie daran, ${providerId}
und ${saId}
durch ihre jeweiligen Werte zu ersetzen:
Last updated