GCP - Federation Abuse
OIDC - Nadużycie Github Actions
GCP
Aby umożliwić dostęp do Github Actions z repozytorium Github do konta usługi GCP, należy wykonać następujące kroki:
Utwórz konto usługi do dostępu z Github Actions z pożądanymi uprawnieniami:
Wygeneruj nowy pulpit roboczy tożsamości:
Wygeneruj nowego dostawcę OIDC dla puli tożsamości obciążenia roboczego, który ufa akcjom GitHub (według nazwy organizacji/repozytorium w tym scenariuszu):
W końcu, umożliwiaj podmiotowi z dostawcy korzystanie z podmiotu usługi:
Zauważ, że w poprzednim przykładzie określamy org-name/repo-name
jako warunki umożliwiające dostęp do konta usługi (inne parametry, takie jak gałąź, mogą również być używane, aby to bardziej ograniczyć).
Jednak możliwe jest również zezwolenie na dostęp wszystkim użytkownikom GitHub do konta usługi, tworząc dostawcę z użyciem symbolu wieloznacznego, jak w poniższym przykładzie:
W tym przypadku każdy mógłby uzyskać dostęp do konta usługi z akcji GitHub, dlatego ważne jest zawsze sprawdzenie, jak jest zdefiniowany członek. Powinno to zawsze wyglądać tak:
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Github
Pamiętaj, aby zmienić ${providerId}
i ${saId}
na odpowiednie wartości:
Last updated