GCP - Federation Abuse
OIDC - Abuso di Github Actions
GCP
Per consentire l'accesso alle Github Actions da un repository Github a un service account GCP, sono necessari i seguenti passaggi:
Crea il Service Account per accedere dalle azioni di Github con le autorizzazioni desiderate:
Genera un nuovo pool di identità del carico di lavoro:
Genera un nuovo provider OIDC del pool di identità del carico di lavoro che affida alle azioni di GitHub (utilizzando il nome dell'organizzazione/repo in questo scenario):
Infine, consentire al principale del provider di utilizzare un principale del 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 permettere a tutti i repository di 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 essere sempre qualcosa del genere:
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Github
Ricordati di cambiare ${providerId}
e ${saId}
con i rispettivi valori:
Last updated