identité-as-a-service pour vos applications b2c - marius zaharia - samir arezki -

53
Identité-as-a-service pour vos applications B2C Marius ZAHARIA & Samir AREZKI

Upload: samir-arezki-

Post on 13-Apr-2017

42 views

Category:

Technology


0 download

TRANSCRIPT

Identité-as-a-service pour

vos applications B2CMarius ZAHARIA & Samir AREZKI

#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

ETUDE DE CAS

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

PANORAMA DES SOLUTIONS

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 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

MISE EN PLACE

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

DEMO 1

Création et configuration d’un annuaire Azure AD B2C

Création d’untenant AD B2C

Configuration du Tenant

DEMO 2

Configuration des policies Azure AD B2C

SIGN-UP / IDENTITY PROVIDERS• Local accounts

– type [email protected] (et pas [email protected])

• Facebook

• Google

• Amazon

• LinkedIn

• 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

Sign-Up policy

Sign-Up policy

Sign-Up policy

DEMO 3

Sécurisez l'accès à l’application Web

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, …

TOKEN BASED AUTHENTIFICATION

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)

Application ID

Sign Up

Sign In

DEMO 4

Sécurisez l'accès à l’application Mobile

Sign In Window 10

Sign Up Window 10

GOUVERNANCE

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

DEMO 5

Gouvernance

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

TARIFICATION• 1 million : ~890€

(2 millions : ~1700€)

PLUS :

• 1 mil. x 1 auth x 14j (val. défaut pour refreshtoken) =>2240€ (!)

TOTAL : 3130€

CONCLUSION

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

QUESTIONS ?

Merci beaucoup à nos sponsors!

Thank you to all our sponsors!

Join the conversation

#MSCloudSummit

@MSCloudSummit

http://bit.ly/MSCSevalJ2

Evaluez les sessions…

…et tentez de gagner une Surface Pro 4

Merci Beaucoup! Thank you!

Join the conversation

#MSCloudSummit

@MSCloudSummit