GCP - Federation Abuse
OIDC - Github Actions Abuse
GCP
Per dare accesso alle Github Actions da un repo Github a un service account GCP, sono necessari i seguenti passaggi:
Creare il Service Account per accedere dalle github actions con i permessi desiderati:
Genera un nuovo pool di identità di workload:
Genera un nuovo provider OIDC del pool di identità di workload che fida github actions (per nome org/repo in questo scenario):
Infine, consenti al principale del fornitore di utilizzare un principale di servizio:
Nota come nel membro precedente stiamo specificando org-name/repo-name
come condizioni per poter accedere all'account di servizio (altri parametri che lo rendono più restrittivo come il branch potrebbero essere utilizzati).
Tuttavia è anche possibile consentire a tutti github di accedere all'account di servizio creando un provider come il seguente utilizzando un carattere jolly:
In questo caso chiunque potrebbe accedere all'account di servizio da github actions, quindi è importante sempre controllare come è definito il membro. Dovrebbe sempre essere qualcosa del genere:
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Github
Ricorda di cambiare ${providerId}
e ${saId}
con i loro rispettivi valori:
Last updated