Intégration d'Okta à AWS : fédération, provisioning et MFA
J’ai sécurisé et simplifié la gestion des accès et des identités au sein d'un environnement cloud, en y intégrant un fournisseur d’identité pour assurer l’authentification unique, le provisionnement des utilisateurs, tout en appliquant des mesures de sécurité telles que l'authentification multifacteur et des contrôles d'accès basés sur les rôles.
Aperçu











Contexte
Souhaitant approfondir le domaine de la gestion des identités et des accès (IAM), j’ai décidé de me lancer dans un projet personnel aligné avec les enjeux actuels en cybersécurité.
Dans un contexte où les environnements cloud deviennent de plus en plus complexes, en raison, de la multiplication des services, des utilisateurs et des points d’accès, la gestion des identités (IAM) s’impose comme un pilier central pour assurer la sécurité, la conformité et le contrôle des accès. La centralisation, la sécurisation et la standardisation des mécanismes d’authentification et d’autorisation représentent donc un enjeu stratégique majeur.
Je voulais un projet ambitieux et pertinent, capable de répondre à ces enjeux, en structurant mon projet de manière claire et réaliste.
Objectifs
J’ai défini les objectifs suivants :
1. Déploiement de l’infrastructure cloud via Terraform en respectant les principes de sécurité du cloud et lles contraintes de coût (je voulais un projet 100 % gratuit).
2. Mise en place d’une gestion des identités et des accès, en applicant le principe du moindre privilège.
3. Mise en place de l’authentification multifacteur (MFA) avec TOTP via l’application Okta Verify.
4. Intégration d’Okta comme fournisseur d’identité avec le fournisseur cloud AWS via SAML 2.0 pour effectuer la fédération d’identité et mettre en place l’authentification unique ou Single Sign-On (SSO).
5. Mise en place du provisioning automatisé des comptes AWS depuis Okta via le protocole SCIM.
Organigrammes


Technologies et outils utilisés
Voici la liste des technologies et outils que j’ai utilisé pour concevoir et déployer l’infrastructure cloud et mettre en place une architecture sécurisé avec IAM et fédération d’identité :
-
AWS avec un compte Free Tier (gratuit), avec les services suivant :
-
VPC pour configurer le réseau (sous-réseaux, groupes de sécurité, passerelle internet, table de routage, …).
-
EC2 pour l’hebergement des instances (instance web, instance privée, bastion, instance NAT).
-
RDS pour le stockage des données dans MySQL.
-
IAM pour définir les utilisateurs, groupes, rôles et politiques d’accès au ressource AWS.
-
IAM Identity Center pour l’intégration du fournisseur d’identité Okta avec AWS.
-
-
Terraform pour automatiser le déploiement de l’infrastructure cloud en suivant les principes de l’Infranstructure as Code (IaC).
-
Okta (Developer / Integrator) pour jouer le rôle du fournisseur d’identité externe auprès d’AWS.
-
Okta Verify pour générer les codes temporaires nécéssaire à la mise en place de l’authentification multifacteur (MFA).
-
SAML 2.0 pour établir la fédération d’identité entre Okta et AWS et activer l’authentification unique SSO depuis l’espace utilisateur d’Okta vers la console d’AWS.
-
SCIM pour permettre le provisioning automatisé des utilisateurs et groupes d’Okta vers AWS IAM Identity Center, afin qu’ils puissent accéder aux ressources des comptes AWS avec des rôles attribués.
Pour utiliser la version d’essai d’Okta, j’ai configuré une adresse e-mail professionnelle via Zoho Mail, en liant mon nom de domaine depuis un hébergeur.
Fonctionnalités mises en place
Dans le cadre de ce projet, plusieurs fonctionnalités ont été mises en place, en s’appuyant sur les bonnes pratiques de sécurité cloud et de gestion des identités (IAM) :
-
Segmentation réseau en deux sous-réseaux privé et publique.
-
Isolation réseau avec configuration de groupes de sécurité et ajout d’un bastion pour l’accès sécurité au service RDS (MySQL).
-
Haute disponibilité (multi-AZ) et réplication des données (réplication synchrone) du service RDS.
-
Principes de moindre privilège avec des politiques IAM personnalisés et granulaires en fonction des rôles (RBAC).
-
Infrastructure as Code (IaC) via Terraform pour un déploiement automatisé, reproductible et scalable.
-
Fédération d’identité entre Okta et AWS via SAML 2.0 permettant une authentification unique (SSO).
-
Provisioning automatique via SCIM pour une gestion centralisé des utilisateurs et des comptes AWS depuis Okta.
-
Sécurité renforcée avec authentifications multifacteurs (MFA) basé sur des codes temporaires (TOTP) en utilisant l’application Okta Verify.
Ce que j’ai appris
En menant à bien ce projet, j’ai appris à :
-
mettre en place une infrastructure cloud sécurisée en utilisant l’Infrastructure as Code et en respectant les bonnes pratiques et règles de cybersécurité.
-
concevoir et appliquer des politiques d’accès granulaires basées sur les rôles (RBAC) et le principe du moindre privilège.
-
intégrer une solution de fournisseur d’identité externe (Okta) auprès d’un fournisseur de service (AWS) pour mettre en place la fédération d’identité et le provisioning automatisé des utilisateurs.
-
mettre en place une authentification multifacteur (MFA) basé sur TOTP pour les accès sensibles (accès aux console d’Okta et d’AWS, application du MFA avant le SSO).