Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

AWS STS

cloud

Définition

AWS Security Token Service (STS) est un service web AWS qui permet d'obtenir des credentials temporaires (Access Key ID, Secret Access Key, Session Token) pour des identités AWS. Ces credentials sont à durée limitée (15 minutes à 36 heures selon l'opération) et permettent d'accéder aux ressources AWS avec les permissions définies dans le rôle ou la politique associés. AWS STS est le mécanisme sous-jacent à tout usage de rôles IAM. Les principales opérations STS incluent : AssumeRole (assumer un rôle IAM dans le même compte ou un autre compte AWS), AssumeRoleWithWebIdentity (assumer un rôle via un token JWT d'un IdP OIDC comme Google, Cognito, Okta), AssumeRoleWithSAML (assumer un rôle via une assertion SAML 2.0 d'un IdP enterprise), GetSessionToken (obtenir des credentials temporaires pour un utilisateur IAM, notamment avec MFA), et GetCallerIdentity (vérifier l'identité associée aux credentials courants). Du point de vue de la sécurité, les credentials STS présentent des avantages significatifs sur les credentials long-lived : rotation automatique par expiration, possibilité de révoquer une session (via l'invalidation du rôle IAM ou via des conditions de politique avec aws:TokenIssueTime), et traçabilité via les logs CloudTrail qui enregistrent chaque AssumeRole avec le contexte complet. Les attaques ciblant STS incluent : l'exfiltration de credentials temporaires depuis les métadonnées d'instance EC2 (SSRF IMDS), le vol de tokens JWT OIDC pour abuser d'AssumeRoleWithWebIdentity, et la création de sessions persistantes via la génération répétée de credentials temporaires. AWS GuardDuty détecte les comportements anormaux d'usage STS, notamment les appels depuis des IPs inhabituelles ou des agents utilisateurs suspects. La région STS peut avoir un impact sur la latence et la disponibilité. AWS recommande d'activer les STS regional endpoints plutôt que le endpoint global pour améliorer la résilience et réduire la latence.

AssumeRole et fédération d'identité

AssumeRoleWithWebIdentity permet d'intégrer des IdP OIDC (Okta, Keycloak, GitHub Actions, Google Workspace) avec AWS IAM. GitHub Actions utilise ce mécanisme pour s'authentifier à AWS sans stocker de clés d'accès dans les secrets GitHub. Configurez la condition StringEquals sur sub/aud dans la trust policy pour restreindre précisément quels repositories ou workflows peuvent assumer le rôle.

Détection des compromissions via CloudTrail STS

Les événements CloudTrail STS critiques à surveiller : AssumeRole avec une source IP inhabituelle (indication de vol de credentials), GetCallerIdentity répété depuis une nouvelle entité (reconnaissance post-compromission), AssumeRole vers des rôles avec des permissions Admin, et ConsoleLogin suivi d'AssumeRole vers des comptes non habituels. Créez des alertes Metric Filter sur ces patterns.

Révocation de credentials STS

Pour révoquer des credentials STS actifs sans attendre leur expiration : ajoutez une condition DenyAll avec aws:TokenIssueTime dans la politique du rôle pour invalider tous les tokens émis avant une date donnée. Cette technique est documentée par AWS sous le nom "revoke active sessions". Documentez ce processus dans vos playbooks de réponse aux incidents.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis