Identity as a Service (IDaaS), un service prêt à l’usage avec Windows Azure AD
description
Transcript of Identity as a Service (IDaaS), un service prêt à l’usage avec Windows Azure AD
Donnez votre avis !
Depuis votre smartphone, sur : http://notes.mstechdays.fr
De nombreux lots à gagner toutes les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les TechDays
http://notes.mstechdays.fr
SEC308 Identity as a Service (IDaaS), un service prêt à
l’usage avec Windows Azure Active Directory
Philippe BeraudArnaud Jumelet
Direction TechniqueMicrosoft France
Architecture / Azure / Cloud
#WindowsAzurehttp://windowsazure.com
Souscrivez à l’offre d’essai ou activez votre accès Azure MSDN
Présentez-vous sur le stand Azure (zone Services & Tools)
Participez au tirage au sort à 18h30 le 12 ou le 13 février
1
2
3
Gagnez une Tablette Windows 8 !
• Un premier aperçu• Annuaire et synchronisation• Directory Graph API
Notre agenda pour la session
• Sessions complémentaires
– SEC402 Windows Azure Active Directory, SSO étendu et services d'annuaire pour les applications Cloud et SaaS
– SEC310 Contrôler les usages de vos informations dans le Cloud avec Windows Azure AD Rights Management
L’exécution dans Windows Azure d’une machine virtuelle avec le rôle Active Directory N’EST PAS Windows Azure Active Directory
Windows Azure Active Directory est un service Cloud moderne qui assure la gestion des identités et le contrôle des accès aux applications de type Cloud
Windows Azure Active Directory (AAD)
Identity management as a Service• Consolider la gestion des identités entre les
applications Cloud de l’organisation• Se connecter à l’annuaire Cloud de
l’organisation depuis n'importe quelle plateforme, n'importe quel appareil
• Pourvoir se connecter avec des identités gérées par des fournisseurs d'identité Web et d'autres organisations
Utilisé aujourd’hui par les souscriptions Office 365, Dynamics CRM Online et Windows Intune
Windows Azure Active Directory (AAD)
Annuaires Active Directory sur site et Cloud gérés comme un seul
Information (au niveau souhaité) synchronisée avec le Cloud, et mise à la disposition des applications Cloud via un contrôle d’accès fondé sur les rôles
Authentification fédérée pour le SSO avec les applications Cloud (Microsoft et tierce-parties)
Relation avec Windows Server AD
SynchronisationET fédération
• Un service de type Cloud demande des capacités qui ne font pas partie de Windows Server AD
• Maximisation de la portée en termes de périphériques et de plateformes– Protocoles de type http/web/REST
• Multi-locataires– Le client possède les données de l’annuaire, pas Microsoft
• Optimisation de la disponibilité, des performances constantes, et de la montée en charge– "Keep it simple"
Principes de conception AAD
Portail de gestion
Cmdlets Windows PowerShell pour AAD
Gestion et utilisation d’AAD
Environnement multi-locataire
Synchronisation d’annuaire(Outil DirSync, connecteur
AAD pour FIM 2010)
Votre locataire AAD
Windows Azure AD
Scripting, Windows PowerShell
Administration
Votre Active Directory sur site
Applications
KerberosLDAP v3
Interface RESTful
Nouvelles applications (Cloud)
OAuth2Graph API (OData v3)
ANNUAIRE ET SYNCHRONISATIONWindows Azure Active Directory
• L'intégration de l'annuaire est la première partie d'un écosystème plus large
• L'expérience d'authentification unique (SSO) est dépendante d'une synchronisation réussie des données dans l'annuaire !– Cf. Session SEC402 Windows Azure Active Directory, SSO
étendu et services d'annuaire pour les applications Cloud et SaaS
Intégration de l’annuaire
• Les deux ne sont pas identiques !
• Les solutions de synchronisation sont des solutions de provisioning mais pas l'inverse !
Provisioning / Synchronisation
Options d'intégration dans AAD
•
••
•
•
••
•
•
•
•
•
• 3 outils pour la synchronisation d’annuaire1. Single-forest DirSync Tool 2. Multi-forest DirSync Tool3. Connecteur AAD pour FIM 2010 (aka “Multi-Forest”)
• Vous n'avez pas besoin de faire du SSO juste parce que vous faites de la synchronisation mais vous devez synchroniser pour faire du SSO !– Vous pouvez imaginer d’utiliser Windows PowerShell, mais beaucoup
d’exploitation à prévoir. De plus, il s’agit d’un scénario non testé officiellement
• L’outil de synchronisation ne pose pas de contrainte sur la solution SSO– Vous pouvez utiliser n'importe quelle outil de synchronisation avec AD FS 2.0 ou
bien avec un STS tiers (comme Shibboleth 2)
Choisir un outil de synchronisation
Choisir un outil de synchronisation
•
•
•
•
•
•
Architecture – "Sous le capot"
Datacenter Microsoft Online
Outil DirSync
Windows Azure AD
• Introduction– Source faisant autorité (contexte de création)
• Détermine à partir d’où les modifications doivent être effectuées sur un objet (soit "sur site" ou dans le "Cloud")
• Le fait d’activer ou de désactiver la fonctionnalité de synchronisation depuis le portail d’administration transfère la source faisant autorité
– Plusieurs concepts de base sont importants• UserPrincipalName• SourceAnchor et ImmutableID
– SourceAnchor est le terme DirSync– ImmutableID est le terme dans AD FS 2.0
• Vous devez configurer le flux des attributs pour ces attribut
Concepts de base "Synchronisation d’annuaire"
• UserPrincipalName– Correspond à l’identifiant utilisateur qui est saisi lors de l’accès à un service du
Cloud Microsoft Online. – Formaté conformément à la RFC 822– Il faut déclarer un suffixe de domaine vérifié pour le tenant AAD. – Si le suffixe est manquant, l’UPN est construit de cette façon :
• sAMAccountName + "@" + MOERA (par ex. contoso.onmicrosoft.com)• Cf. article KB 2256198
– L’attribut UPN sur site doit correspondre à l’UPN dans le Cloud• Etape obligatoire et critique pour déployer avec succès le SSO et la fédération avec
ADFS 2.0 ou à l’aide d’une technologie tierce de STS
– Lorsque l’utilisateur a reçu une licence, l’attribut UPN de l’utilisateur ne sera pas mis à jour même s’il est modifié sur site• Peut être remplacé via la cmdlet Set-MsolUserPrincipalName
Concepts de base "Synchronisation d’annuaire"
• SourceAnchor – Utilisé pour identifier de façon unique un objet créé dans le Cloud ou bien
sur site• Avec DirSync Tool, la génération se base sur l'attribut objectGUID contenu dans
Active Directory.– La valeur ObjectGUID de type ByteArray est convertie en Base64 string
• Avec le connecteur AAD pour FIM, il est possible de sélectionner une autre valeur et d’indiquer comment la construire
– DOIT rester constant durant toute la vie de l'objet dans le Cloud. Sinon cela pourrait conduire à dupliquer des objets et entraînerait des erreurs de synchronisation inattendues• Si les objets sont déplacés entre les forêts AD, pensez à bien choisir un attribut
alternatif pour calculer la valeur de l’attribut SourceAnchor– Il faut choisir un attribut qui ne changera pas au cours du temps et lors de son déplacement
entre des forêts AD– MS IT utilise par exemple l’attribut “employeeID” pour les utilisateurs
Concepts de base "Synchronisation d’annuaire"
• SourceAnchor– Critique pour déployer avec succès le SSO et la
fédération avec ADFS 2.0 ou à l’aide d’une technologie tierce de STS• Également utilisé comme clé unique pour faire correspondre
les utilisateurs sur site avec ceux stockés dans AAD durant le processus d’authentification et d’autorisation– Appelé "ImmutableID"
• AD FS 2.0 est configuré pour générer un attribut SourceAnchor lors de l’authentification, il doit y avoir une correspondance avec l’attribut ImmutableID stocké dans AAD et crée lors du provisionning de l’objet utilisateur
Concepts de base "Synchronisation d’annuaire"
• La plupart des erreurs de synchronisation sont dues :– Adresses de proxy dupliquées– Valeur UPN déjà existante– Des erreurs dans l’attribut Email
• Il est recommandé d’utiliser l’outil "Deployment Readiness Tool" !
Concepts de base “Synchronisation d’annuaire”
• Déploiements de services hybrides– Certains attributs sur site doivent être mis à jour en
fonction des activités dans le Cloud– Cela ne concerne que les objets qui ont été créés lors
d'une synchronisation, (Cf. "owned by Sync")– Cf. article KB 2256198
Concepts de base "Synchronisation d’annuaire"
• Connecteur AAD pour FIM 2010 (R2)– Sera disponible dans le courant de l’année 2013– Permet la création / la suppression de différents types d’objets
(users, contacts, groups)– Permet de définir et de construire les valeurs des attributs
• Accès aux attributs qui ne sont pas disponibles à travers le portail d’administration ou les cmdlets Windows PowerShell
– Destiné principalement pour les grandes entreprises• Automatisation des opérations de synchronisation / mode performance
– Supporte les déploiements Exchange en mode Hybride– Pas de dépendance avec Active Directory; prise en charge de
tous les connecteurs FIM 2010 en tant que source
Synchronisation AAD avec FIM 2010 (R2)
• Scénario type– Une ou plusieurs forêts de compte et une forêt de ressource hébergeant Exchange– Sait également fonctionner avec des sources autres qu’Active Directory
• Travail de documentation à prévoir
• Pré-requis– FIM Synchronization Service
• N’utilise pas DirSync Tool
• Le connecteur AAD sera accompagné d'un livre blanc– Suppose que vous connaissiez le fonctionnement de FIM 2010 (R2) Synchronization
Service– Devra évoluer dans le temps, lorsque de nouveaux attributs seront ajoutés pour
prendre en charge les évolutions des services Microsoft Online – Contiendra un ensemble de configurations prédéfinies pour une mise en œuvre
rapide
Synchronisation AAD avec FIM 2010 R2
demoSYNCHRONISATION AAD AVEC FIM 2010 R2
Windows Azure AD Directory
• Limitations– Ne prend pas en charge des licences d'utilisateur
• Possibilité d’exécuter à la fin de la tâche de synchronisation, un script PowerShell contenant la cmdlet Set-MsolUserLicense
– Ne peut avoir qu’un seul connecteur AAD et donc ne supporte qu’un seul locataire (souscription)
– Pas de synchronisation des mots de passe (par défaut)
Synchronisation AAD avec FIM 2010 (R2)
DIRECTORY GRAPH APIWindows Azure Active Directory
• https://graph.windows.net/contoso.com/– TenantDetails– Users– Groups– Contacts– Service Principals– Roles– Subscribed Skus
• Mais également :– Licensing, Provisioning, DirSync status, Domain Status
Ressources dans AAD
Objectifs/Bénéfices clésRendre simple le développement d’application s’interfaçant avec AADUne fondation solide pour la création de capacités de plus haut niveau : recherche, sélecteur d’identité, appartenance à un groupe de sécurité, collaboration inter-entreprises, etc.Simple à utiliser et interopérable (graphe)
Solution : nouvelle interface RESTful pour Windows Azure ADProtocole basé sur HTTP/REST pour accéder à toutes les informations de l'annuaireLes objets retournés sont au format JSON/XMLCompatibilité avec OData V3 pour des requêtes complexes et les métadonnées (www.odata.org)S’appuie sur OAuth 2.0 pour l’authentification
Directory Graph API
• REST– Largement adopté par l’industrie– Très simple - HTTP - GET, PUT, POST, DELETE
• Supporte les codes de réponses HTTP
– Beaucoup de bibliothèques clientes disponibles
• REST pour l’annuaire– Intégration facile avec n'importe quelle application sur
n'importe quelle plateforme
Pourquoi un annuaire REST ?
• Structure d'une requête URI<Service root>/<resource path>[? Query string options]https://graph.windows.net/contoso.com/Users?$filter=DisplayName eq ‘Adam Barr”
• Navigationhttps://graph.windows.net/$metadatahttps://graph.windows.net/contoso.com/https://graph.windows.net/contoso.com/TenantDetailshttps://graph.windows.net/contoso.com/Usershttps://graph.windows.net/contoso.com/Groups…
Interface REST pour l’accès à l’annuaire
Exemple de filtres?$filter=City eq 'Redmond'?$filter=GivenName eq 'Adam' and Surname eq 'Barr'?$filter=Surname ge 'Jackson' and Surname le 'Jz'
RéponseCorps de la réponse JSON ou XMLCode de réponse HTTP
Obtenir un objet utilisateurObjet utilisateur JSON retourné"d": {"__metadata": {"id": "https://graph.windows.net/contoso.com/Users('User_d7aadc28-a2ea-4c0e-aabe-f13c675b3e9c')",
"uri": "https://graph.windows.net/contoso.com/Users('User_d7aadc28-a2ea-4c0e-aabe-f13c675b3e9c')","type": "Microsoft.Online.DirectoryApi.User"
},"Manager": {"__deferred": {"uri": "https://graph.windows.net/contoso.com/Users('User_d7aadc28-a2ea-4c0e-aabe-f13c675b3e9c')/Manager"}
},"DirectReports": {"__deferred": {"uri": "https://graph.windows.net/contoso.com/Users('User_d7aadc28-a2ea-4c0e-aabe-f13c675b3e9c')/DirectReports"}
},"MemberOf": {"__deferred": {"uri": "https://graph.windows.net/contoso.com/Users('User_d7aadc28-a2ea-4c0e-aabe-f13c675b3e9c')/MemberOf"}},
"ObjectId": "d7aadc28-a2ea-4c0e-aabe-f13c675b3e9c","ObjectReference": "User_d7aadc28-a2ea-4c0e-aabe-f13c675b3e9c","ObjectType": "User","AccountEnabled": true,"AssignedLicenses": {"__metadata": {"type": "Collection(Microsoft.Online.DirectoryApi.AssignedLicense)"},"results": [ ]},"AssignedPlans": {"__metadata": {"type": "Collection(Microsoft.Online.DirectoryApi.AssignedPlan)"},"results": [ ]},"City": "Redmond","Country": "US","Department": null,"DirSyncEnabled": null,"DisplayName": "Adam Barr","FacsimileTelephoneNumber": null,"GivenName": "Adam","JobTitle": null,"LastDirSyncTime": null,"Mail": null,"Mobile": null,"OtherMails": {"__metadata": {"type": "Collection(Edm.String)"},"results": [ ]}"PasswordPolicies": "None","PhysicalDeliveryOfficeName": null,"PostalCode": "98052","PreferredLanguage": null,"ProvisionedPlans": {"__metadata": {"type": "Collection(Microsoft.Online.DirectoryApi.ProvisionedPlan)"},"results": [ ]},"ProvisioningErrors": {"__metadata": {"type": "Collection(Microsoft.Online.DirectoryApi.ProvisioningError)"},"results": [ ]},"ProxyAddresses": {"__metadata": {"type": "Collection(Edm.String)"},"results": [ ]},"State": "WA","StreetAddress": "One Microsoft Way","Surname": "Barr","TelephoneNumber": "425-882-8080","UsageLocation": "US","UserPrincipalName": "[email protected]"}}
Requête : https://graph.windows.net/contoso.com/Users(‘[email protected]’)
Liens Utilisateurhttps://graph.windows.net/contoso.com/Users(‘[email protected]’)/Manager
https://graph.windows.net/contoso.com/Users(‘[email protected]')/MemberOf
https://graph.windows.net/contoso.com/Users(‘[email protected]')/DirectReports
Liens Groupehttps://graph.windows.net/contoso.com/Groups('Group_1a9f7ab7-4292-414e-ad33-11dc679f364c')/MemberOf
https://graph.windows.net/contoso.com/Groups('Group_1a9f7ab7-4292-414e-ad33-
11dc679f364c')/Members
•
•
Equipe de vente US
• Les objets utilisateurs sont triés selon le DisplayName, les autres types d’objets ne sont pas triés
• Options de requête OData– $filter– Opérations logiques And, Eq, Ge, Le– Pagination - $top– http://www.odata.org
– L'aspect Graphe Social permet un "contexte" des attributs utilisateur par rapport aux autres
Requêtes et gestion des données
demoNAVIGATION AVEC GRAPH EXPLORER
Windows Azure AD Directory Graph API
• L’administrateur de l’organisation ajoute un "Application Service Principal" à son locataire et lui assigne un rôle (Lecture ou Lecture/Ecriture)
• Le développeur configure l’Application pour utiliser un "Application Service Principal Id" et un "App Secret" (certificat X.509 ou clé symétrique)
• Le développeur exécute l’App – le Front End REST valide le jeton ACS et autorise la requête
Authentification et autorisation pour les Apps
Authentification et autorisation pour les Apps
Votre locataire AAD
Windows Azure AD
Application
Interface RESTful
Point de terminaisonOAuth2
Demande d’un jeton JWT(revendications en entrée)
Jeton JWT en retour
Requête HTTP avec jeton JWT en retour
demoILLUSTRATION AVEC L’APPLICATION EXEMPLEhttp://go.microsoft.com/fwlink/?LinkID=95732
Windows Azure AD Directory Graph API
• Inscrivez-vous pour un locataire http://g.microsoftonline.com/0AX00en/5
Version Preview autonome disponible :)
• Livre blanc "Active Directory from on-premises to the Cloud"
Pour plus d’informations
• Regarder les annonces sur le blog Windows Azure– http://blogs.msdn.com/windowsazure– Reimagining Active Directory for the Social Enterprise (P
art 1)
– Reimagining Active Directory for the Social Enterprise (Part 2)
– Announcing the Developer Preview of Windows Azure Active Directory
– Enhancements to Windows Azure Active Directory Preview
Plus d’informations
• Documentation TechNethttp://technet.microsoft.com/en-us/library/hh967619.aspx
• Documentation MSDNhttp://msdn.microsoft.com/en-us/library/windowsazure/jj673460.aspx
Pour aller plus loin
Formez-vous en ligne
Retrouvez nos évènements
Faites-vous accompagner gratuitement
Essayer gratuitement nos solutions IT
Retrouver nos experts Microsoft
Pros de l’ITDéveloppeurs
www.microsoftvirtualacademy.com
http://aka.ms/generation-app
http://aka.ms/evenements-developpeurs http://aka.ms/itcamps-france
Les accélérateursWindows Azure, Windows Phone,
Windows 8
http://aka.ms/telechargements
La Dev’Team sur MSDNhttp://aka.ms/devteam
L’IT Team sur TechNethttp://aka.ms/itteam