DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk6 min

Déployer sur AWS avec GitHub Actions sans clés d’accès : OIDC, contrôles et rollback testé

OIDC permet à GitHub Actions d’assumer un rôle AWS avec des identifiants temporaires. Voici comment limiter la confiance, protéger les déploiements et tester le retour arrière en préproduction.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Oui : GitHub Actions peut accéder à AWS sans stocker de clés AWS permanentes dans les secrets GitHub. Le workflow demande un jeton OIDC, puis aws-actions/configure-aws-credentials l’échange contre des identifiants temporaires pour un rôle IAM. Pour que cela réduise réellement le risque, limitez la confiance du rôle au dépôt et à la branche ou à l’environnement attendus, protégez la mise en production dans GitHub et vérifiez le rollback en préproduction par un échec contrôlé.

Comment l’accès sans clé fonctionne

GitHub Actions émet un jeton OIDC pour le job. AWS Security Token Service (STS) le valide et délivre des identifiants temporaires permettant au job d’assumer un rôle IAM. Dans cette configuration, le dépôt n’a pas besoin de conserver une clé d’accès AWS longue durée comme secret. GitHub documente le fournisseur OIDC https://token.actions.githubusercontent.com et l’audience sts.amazonaws.com pour l’action officielle de configuration des identifiants. Voir la configuration OIDC GitHub pour AWS.

As an Amazon Associate I earn from qualifying purchases.

Trois contrôles distincts interviennent : GitHub détermine quels jobs peuvent demander un jeton et atteindre l’étape de déploiement; la politique de confiance IAM détermine quels jetons peuvent assumer le rôle; les autorisations IAM du rôle déterminent ce que le job peut faire dans AWS. L’autorisation de workflow id-token: write permet de demander un jeton OIDC, mais n’accorde pas, à elle seule, le droit de modifier des ressources AWS.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Limiter le rôle IAM au dépôt et au contexte voulus

  1. Dans IAM, ajoutez le fournisseur OIDC GitHub avec l’URL https://token.actions.githubusercontent.com. Pour l’action officielle, utilisez l’audience attendue sts.amazonaws.com.
  2. Créez un rôle dont la politique de confiance vérifie à la fois l’audience et le claim sub. Pour une branche précise, une condition restrictive peut prendre cette forme conceptuelle :
{
  "Condition": {
    "StringEquals": {
      "token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
      "token.actions.githubusercontent.com:sub": "repo:ORG/REPO:ref:refs/heads/BRANCH"
    }
  }
}

Remplacez les valeurs d’exemple par celles du dépôt et de la branche autorisés. Si le job référence un environnement GitHub, le sujet est plutôt de la forme repo:ORG/REPO:environment:ENVIRONMENT; dans ce cas, la confiance IAM doit correspondre à cet environnement et ses règles GitHub doivent empêcher un déploiement non autorisé.

Ne supposez pas que la forme du sujet est identique pour tous les dépôts. GitHub indique que les dépôts créés après le 15 juillet 2026, ainsi que ceux qui ont activé les claims de sujet immuables, utilisent un sujet comprenant des identifiants immuables du propriétaire et du dépôt. Vérifiez le format effectivement émis pour votre dépôt et faites correspondre la condition IAM à ce format. Une condition générique telle que repo:ORG/REPO:* est plus large qu’une restriction à une branche ou à un environnement précis. GitHub décrit les claims et la confiance AWS OIDC.

Dans le job de déploiement, accordez id-token: write et configurez aws-actions/configure-aws-credentials pour demander le rôle. Attribuez ensuite à ce rôle une politique IAM limitée aux opérations et ressources dont le déploiement a besoin. Le jeton établit l’identité du job; ce sont les politiques du rôle qui déterminent ses permissions AWS.

Mettre une barrière avant la production

Référencez un environnement GitHub de production dans le job afin de pouvoir lui appliquer des règles de déploiement : approbation requise, restrictions de branches ou autres protections disponibles. Le job ne progresse pas tant que les protections configurées ne sont pas satisfaites. Si l’approbation d’un job reste en attente, GitHub indique qu’il échoue après 30 jours. Consulter les contrôles de déploiement GitHub.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Ajoutez également un groupe concurrency commun aux workflows qui peuvent déployer vers la même cible de production. Cela empêche plusieurs jobs du même groupe de déployer simultanément. GitHub ne relie pas automatiquement les groupes de concurrence aux environnements : le nom du groupe doit donc être choisi de façon cohérente dans tous les workflows concernés.

Rank #3
AWS BuilderCards - Cloud Architecture Card Game - Base Game (English)
  • Deck-building game: Build your own deck of AWS services during the game. Gradually expand your deck and build better architectures than your fellow players!
  • Ideal for both AWS professionals and those wanting to explore cloud services through gameplay!
  • Perfect for team building: Play during breaks or events to share knowledge and foster collaboration!
  • 2-4 players, 20-30 minutes playing time
  • Contents: 144 cards

Choisir le mécanisme de retour arrière adapté

Le mot « rollback » recouvre des opérations différentes. Le contrôleur de déploiement utilisé par ECS ou CodeDeploy détermine le signal d’échec et la façon de revenir à une version précédente; les effets externes de l’application ne sont pas nécessairement annulés.

Option Détection et point de retour Opération et validation
ECS rolling update avec contrôleur ECS Le disjoncteur détecte un déploiement qui n’atteint pas un état stable; des alarmes CloudWatch peuvent aussi signaler l’échec. Le rollback automatique vise le dernier déploiement terminé avec succès. Un déploiement antérieur en état COMPLETED est nécessaire. Activez la détection et le rollback souhaités. Contrôlez l’état du service et les événements de déploiement ECS ou EventBridge. Le disjoncteur évoqué ici concerne le contrôleur rolling ECS.
CodeDeploy pour ECS blue/green Le rollback automatique peut être déclenché par un échec de déploiement ou un seuil de surveillance configuré. Le retour manuel redéploie une révision antérieure comme un nouveau déploiement, avec un nouvel identifiant. Configurez les déclencheurs ou prévoyez qui lancera le redéploiement manuel. Vérifiez l’historique CodeDeploy et le changement de trafic ou de task set.
CloudFormation pilotant ECS blue/green Le retour s’effectue en annulant la mise à jour de stack, selon la configuration et les signaux d’alarme ou événements associés. Précisez qui annule la mise à jour et vérifiez les événements et l’état de la stack, puis la santé de l’application.

La détection d’échec et le disjoncteur ECS sont décrits dans la documentation ECS sur la détection d’échec et la documentation du disjoncteur de déploiement. Pour CodeDeploy, consultez les consignes de rollback et redéploiement et celles des déploiements ECS.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Comment vérifier le rollback en préproduction

La configuration d’une option de rollback ne prouve pas qu’elle fonctionne pour votre application. Testez le chemin complet dans une préproduction représentative, avec un déploiement antérieur sain déjà achevé et le mécanisme de détection que vous utiliserez en production.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Choisissez un mode d’échec contrôlé qui correspond au mécanisme configuré, par exemple un service qui ne devient pas stable ou une alarme de santé déclenchée. Évitez de provoquer cet échec sur la production.
  2. Déployez la version défaillante et suivez le signal dans les événements ECS, CloudWatch ou EventBridge, ou dans l’historique CodeDeploy ou CloudFormation selon l’option choisie.
  3. Confirmez que le mécanisme attendu s’est déclenché et que le résultat correspond à votre contrôleur : retour à un déploiement ECS achevé, redéploiement CodeDeploy de la révision antérieure, ou annulation de la mise à jour de stack.
  4. Vérifiez que la version attendue reçoit de nouveau le trafic ou que la stack a retrouvé un état stable, puis exécutez les contrôles de santé applicatifs.
  5. Contrôlez séparément les migrations de schéma, tâches ayant des effets de bord et dépendances externes. Revenir à du code ou à des tâches antérieurs ne révoque pas automatiquement les modifications de données ni les actions déjà réalisées à l’extérieur du déploiement.

Un essai n’est concluant que si vous observez le signal, le déclenchement du mécanisme, le retour à l’état attendu et la santé applicative après coup. Pour les déploiements ECS, les événements de déploiement et conditions de rollback documentés par AWS permettent de vérifier le comportement du service; les procédures CodeDeploy ECS sont précisées dans la documentation AWS sur les déploiements ECS.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.