GCP - Federation Abuse
OIDC - Κατάχρηση των Github Actions
GCP
Για να δοθεί πρόσβαση στις Github Actions από ένα αποθετήριο Github σε έναν λογαριασμό υπηρεσίας GCP, απαιτούνται τα εξής βήματα:
Δημιουργία του λογαριασμού υπηρεσίας για πρόσβαση από τις Github Actions με τα επιθυμητά δικαιώματα:
Δημιουργήστε ένα νέο πιστοποιητικό πιστοποίησης φορτίου εργασίας:
Δημιουργήστε έναν νέο πάροχο OIDC για την πιστοποίηση ταυτότητας της workload identity pool που εμπιστεύεται τις ενέργειες του GitHub (ανάλογα με το όνομα του οργανισμού/αποθετηρίου σε αυτό το σενάριο):
Τέλος, επιτρέψτε στον κύριο από τον πάροχο να χρησιμοποιήσει έναν υπηρεσιακό κύριο:
Σημειώστε ότι στο προηγούμενο μέλος καθορίζουμε το org-name/repo-name
ως προϋπόθεση για να έχουμε πρόσβαση στον λογαριασμό υπηρεσίας (μπορούν επίσης να χρησιμοποιηθούν άλλες παράμετροι που το καθιστούν πιο περιοριστικό, όπως ο κλάδος).
Ωστόσο, είναι επίσης δυνατόν να επιτραπεί η πρόσβαση όλων των github στον λογαριασμό υπηρεσίας δημιουργώντας έναν πάροχο όπως ο παρακάτω χρησιμοποιώντας μια μπαλαντέρ:
Σε αυτήν την περίπτωση, οποιοσδήποτε μπορεί να έχει πρόσβαση στον λογαριασμό υπηρεσίας από τις ενέργειες του github, επομένως είναι σημαντικό να ελέγχετε πάντα πώς ορίζεται το μέλος. Πρέπει πάντα να είναι κάτι τέτοιο:
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Github
Θυμηθείτε να αλλάξετε τα ${providerId}
και ${saId}
με τις αντίστοιχες τιμές τους:
Last updated