GitHub Actions veilig verbinden met Azure Machine Learning
Je validatie-workflows kunnen codefouten nu opsporen voordat ze main bereiken. In de volgende stap kunt u deze werkstromen laten communiceren met Azure Machine Learning: het verzenden van taken, het lezen van resultaten en het registreren van modellen. Daarvoor is authenticatie vereist, en hoe u daarmee omgaat is van belang voor de beveiliging.
Geheime gegevens en variabelen
GitHub biedt twee locaties voor het opslaan van werkstroomconfiguratie:
- Geheimen zijn versleutelde waarden voor referenties en andere gevoelige configuratie. GitHub maskeert herkende geheime waarden in logboeken, maar workflows moeten nog steeds voorkomen dat ze deze blootstellen.
- Variabelen bevatten een niet-gevoelige configuratie. Gebruik deze voor werkruimtenamen, resourcegroepnamen en vergelijkbare waarden die u wilt hergebruiken in werkstromen.
Geheimen met omgevingsbereik zijn smaller dan opslagplaatsgeheimen: een taak moet zich richten op die omgeving voordat deze toegang heeft.
Service-principals en minimale bevoegdheden
Een manier om een werkstroom te verifiëren voor Azure is met een service-principal, een niet-menselijke identiteit in Microsoft Entra ID. U maakt de principal, wijst deze een Azure rol toe en slaat de referenties op als een GitHub geheim.
De rol en de reikwijdte zijn belangrijk. Wijs een geschikte rol toe aan het smalste bereik van de werkstroombehoeften, zoals de Azure Machine Learning werkruimte of de bijbehorende resourcegroep.
Federatie van workloadidentiteit met OpenID Connect
Het opslaan van langlevende inloggegevens als een geheim brengt risico's met zich mee: als het geheim wordt blootgesteld, blijven deze geldig totdat u ze roteert. Workloadidentiteitsfederatie met OpenID Connect (OIDC) maakt het opslaan van die langlevende inloggegevens overbodig.
In plaats van clientgeheimen op te slaan, configureert u een vertrouwensrelatie tussen uw GitHub opslagplaats en een Microsoft Entra toepassing. Wanneer een werkstroom wordt uitgevoerd, geeft GitHub een kortlevend OIDC-token uit. Azure valideert het token en retourneert een toegangstoken. Er wordt geen opgeslagen referentie uitgewisseld.
Tip
Geef voor nieuwe workflows de voorkeur aan workloadidentiteitsfederatie boven clientgeheimen van service-principals. Tokens met een korte levensduur verminderen de blootstelling en maken het niet meer nodig om een opgeslagen clientgeheim te rouleren.
Werkstroomverificatie en Git-tracering
Wanneer u bronbestanden indient vanuit een lokale Git-repository, kan Azure Machine Learning de repository, branch en commit bij de trainingstaak vastleggen. Deze tracering werkt met elke compatibele Git-service en koppelt geen specifieke GitHub opslagplaats aan de werkruimte.
Git-tracering en werkstroomverificatie lossen verschillende problemen op. Tracering verbindt een taak met de bronversie waaruit de taak is voortgekomen. Authenticatie geeft de werkstroom toestemming om die taak in te dienen.
Tip
Welke werkstroomwaarden zijn id's en welke referenties moeten geheim blijven?