identité-as-a-service pour vos applications b2c - marius zaharia - samir arezki -
TRANSCRIPT
#MSCloudSummit - MS Cloud Summit Paris 2017 Un événement proposé par Agile.Net, aOS, AZUG FR, CMD, GUSS
VOS SPEAKERS
Marius ZAHARIASenior Cloud Architect chez Cellenza
MVP Azure
@lecampusazure
Samir AREZKISoftware Architect chez Exakis
MVP Azure
@itfana
AGENDA
1. Introduction
2. Etude de cas métier
3. Panorama des solutions
4. Présentation - Azure AD B2C
5. Mise en place de la solution
6. Gouvernance
7. Questions / Réponses
Introduction
• De plus en plus d’applications orientées consommateur final– Millions d’applications mobiles dans les « stores »
– Applications web SaaS
– Services et APIs exposés
• Multitude d’annuaires d’identité (IAM – Identity and Access Management) pour authentifier les applications – Efforts importants d’implémentation sans valeur métier rajoutée
– Risques accrus sur la sécurité : multiplication d’identifiants et mots de passe
LE CONTEXTE• Client : Réseaux de résidences pour les personnes âgées
– Un groupe privé d’accueil et de services en France.
– Il propose une offre complète aux personnes âgées.
• En chiffre : – En 2017 :
• 1000 résidences
• 200.000 séniors
– Cible 2020 : • 5000 résidences
• 1 000 000 séniors
LE BESOIN • Lancement d’une nouvelle solution d’assistance pour les personnes
âgées– Services essentiels d’assistance pour les résidents :
• Appeler le gardien de la résidence
• Contacter / appeler mon médecin
• Messages directes simples à un proche
• Etc.
Via des applications mobiles (iOS, Android, Windows 10 …) avec une ergonomie adaptée
– Services de suivi et alertes pour les proches• Site web pour le suivi des activités et de l’état de santé
• Messagerie directe, notifications et alertes via SMS ou application mobile dédiée
LES EXIGENCES : FOCUS SUR IAM • Un annuaire d’identité pour l’ensemble de la solution applicative
– Fiable et sécurisée
– Facile à mettre en place et à maintenir
– Coût d’exploitation réduit
• Standards– Utilisation des protocoles modernes : OAuth2.0, Open ID Connect
– Pour les comptes des proches : Utilisation possible d’identifiant de réseaux sociaux (Google, MS, Facebook…)
• Expérience Self-Service pour :– Inscription facile
– Mise à jour des données de profil
– Changement du mot de passe
SOLUTIONS D’IDENTITÉ• Windows Server Active Directory
• ASP.NET Membership (et autres solutions Forms)
• OKTA
• Centrify
• Ping Identity
• Identity Server (http://identityserver.io/)
• Microsoft Azure : – Azure AD
– Azure AD B2B
– Azure AD B2C
Gartner MQ on Identity
FOCUS SUR LES SERVICES AZURE ACTIVE DIRECTORY
• Azure AD– Annuaire as-a-service fourni dans le Cloud
Azure
– Annuaire d’identité organisationnel (entreprise)
• Azure AD B2C (preview*) :– Applications consommateurs
– Identités réseaux sociaux
– Self-service : sign-in, sign-up, édition profile
• Azure AD B2B (preview) :– Collaboration / intégration avec d’autres
entreprises via programme d’invitation
Azure Active Directory B2C
AZURE AD B2C
• Azure Active Directory B2C est une solution d’identité pour les applications web et mobiles orientées consommateur final, disponible en tant que service dans le cloud Azure.
• Par analogie avec Azure AD, correspond à “B2C Basic”
• Une version B2C Premium est en préparation
• GA à partir de 28 Juillet 2016
• US : GA sur tenant de prod
• Europe Tenant de prod, officiellement en preview, prochainement en GA– Sera EU compliant lors de la mise en GA
• Asie : en preview
AD B2C - CARACTÉRISTIQUES
• Service disponible globalement
• Dizaines/centaines de millions d’utilisateurs
• Dérivé d’Azure AD => manière similaire de
gestion, sauf pour les aspects spécifiques B2C
• Self service pour les utilisateurs B2C : sign in,
signup, reset de mdp, édition de profile
ARCHITECTURESocial login
Reporting
API
Web App
Mobile App
Azure ADB2C
Administrators + Help Desk
Azure Portal
End User
End User
Flux de données / service
Flux Auth/Autorisation
ÉTAPES D’IMPLÉMENTATION
1. Création initiale de l’annuaire
2. Configuration globale : Users / Groups / Identity Providers, Branding
3. Configuration des « Policies »
4. Configuration des « applications »
5. Intégration du code dans les applications
SIGN-UP / IDENTITY PROVIDERS• Local accounts
– type [email protected] (et pas [email protected])
• Amazon
• Microsoft Account (personal)
POLICIES Chemins d’exécution associés à des applications, comprenant configurations, types d’authentification, customisations de pages etc.
Types de policies :
• Sign-up
• Sign-in
• Sign-up or sign-in
• Profile editing
• Password reset
POLICIES : MAPPING ET CONFIGURATION
• Mapping : – Applications
– Identity Providers
– Attributs utilisateurs (génériques ou custom)
– « Claims » applicatifs (portés par les tokens)
• Configuration :– Tokens, sessions, SSO
– MFA
• Customisation de pages de sign-in, signup, erreur– En plus du branding simple, on peut avoir ses propres pages HTML
– HTML5, CSS; pas de JS
App1 Application
…
…
…
As needed
As needed
As needed
App2 Application
SignIn-1 policy
SignIn-m policy
ProfileEditing-1 policy
SignUp-n policy
SignUp-2 policy
SignUp-1 policy
ProfileEditing-p policy
POLICIES ET APPLICATIONS
PROTOCOLES MODERNES : OIDC / OAUTH 2.0
• Protocoles modernes
– OpenID
– OAUTH 2.0
• Token Based Authentification
• SDKs pour supporter ASP.NET MVC, Web API, NodeJS, Single Page App, …
TOKENS • JWT : JSON Web Tokens
• Plus d’informations : https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-tokens
Authentication(Id_token) Authorization(access_token)
MONITORING & REPORTING• Statut global : Azure Status
• Rapport des connexions de l'utilisateur (individuel ou global)
• Journaux d’audit des actions
• Par tenant : reporting avancé encore limité, – tout « l’arsenal » Azure AD n’est
pas mis à disposition
• Requêtes programmatiques via Graph API
ADMINISTRATION ET GESTION
• Infrastructure complètement managée par Microsoft
• Les utilisateurs applicatifs sont autonomes dans les flow essentiels
• Les administrateurs peuvent gérer leurs habilitations
• Groupes : permettent le regroupement des utilisateurs par critère fonctionnel ou sécurité; possible en « libre service aussi »
• Rôles d’annuaire : utilisateur, admin général, ou admin sur des rôles applicatifs sélectionnés
• Par défaut 50 000 users; demander quota via le support
SÉCURITÉ• Multi-factor authentication : fonctionnalité identique à Azure
AD
• Patches de sécurité (ex. failles de protocoles) appliqués par Microsoft
• Critères strictes pour les mots de passe
• Alertes lors des resets de mot de passe
• Blocage automatique des intrusions
• Apprentissage des patterns d'attaques basé sur machine learning
COMPLIANCE
• HITRUST : la plus reconnue certification de sécurité dans le domaine médical– Comprend HIPAA/HITECH, PCI, ISO 27001 et MARS-E
ainsi que best practices
• Données utilisateurs, journaux d'activités etc. gardés dans la région géopolitique**Cible pour GA
TARIFICATION• 1 million : ~890€
(2 millions : ~1700€)
PLUS :
• 1 mil. x 1 auth x 14j (val. défaut pour refreshtoken) =>2240€ (!)
TOTAL : 3130€
Pros- Service prêt à l’emploi
- Sécurité du service
- Administration “self service”
(implication minimale de service de support)
- Protocoles standard et SDKs open source
- Customisation des écrans
- Tokens configurables
- SSO (paramétrable)
- MFA (paramétrable)
Cons- Pas (encore) de support WS-Fed
/ SAML 2.0- Pas (encore) d’email custom
- Pas (encore) de reporting avancéet notifications associées
- Pas d’intégration d’applis SaaS
- Dérivé d’AAD, mais séparé. PAS
DE CHANGEMENT POSSIBLE
après creation.
- Pas de synchro “AD Connect”
- Liste de “Social Providers” figée
- Pas d’initialisation facile de listes
- Prix (?)
RESSOURCES
• Documentation Azure AD B2C :
https://docs.microsoft.com/fr-fr/azure/active-
directory-b2c/
• Exemples sur Github :
https://github.com/Azure-Samples?q=B2C
Merci beaucoup à nos sponsors!
Thank you to all our sponsors!
Join the conversation
#MSCloudSummit
@MSCloudSummit