Integration of Office 365 with existing faculty SSO



Similar documents
365 Services. 1.1 Configuring Access Manager Prerequisite Adding the Office 365 Metadata. docsys (en) 2 August 2012

Section 1, Configuring Access Manager, on page 1 Section 2, Configuring Office 365, on page 4 Section 3, Verifying Single Sign-On Access, on page 5

webnetwork Office 365 SSO integration v

SAML based Single Sign-on integration for:

Computer Services Documentation

Configuring Single Sign-On from the VMware Identity Manager Service to Office 365

Agenda. Federation using ADFS and Extensibility options. Office 365 Identity overview. Federation and Synchronization

LAB 2: Identity Management

Mod 2: User Management

WHITE PAPER BT Sync, the alternative for DirSync during Migrations

Only LDAP-synchronized users can access SAML SSO-enabled web applications. Local end users and applications users cannot access them.

Authentication Integration

DocuSign Information Guide. Single Sign On Functionality. Overview. Table of Contents

Egnyte Single Sign-On (SSO) Configuration for Active Directory Federation Services (ADFS)

Authentication Methods

Cloudwork Dashboard User Manual

CA Performance Center

Introduction to Directory Services

Moodle and Office 365 Step-by-Step Guide: Federation using Active Directory Federation Services

Integrating VMware Horizon Workspace and VMware Horizon View TECHNICAL WHITE PAPER

Setting Up Resources in VMware Identity Manager

Coveo Platform 7.0. Microsoft Active Directory Connector Guide

Migrating Exchange Server to Office 365

Configuring the BIG-IP APM as a SAML 2.0 Identity Provider for Microsoft Office 365

This guide identifies two possible enterprise integration scenarios for NetScaler and Azure AD.

Security Assertion Markup Language (SAML) Site Manager Setup

SAML SSO Configuration

Getting Started with AD/LDAP SSO

Configuration Guide BES12. Version 12.2

Cloud Implementation using OpenNebula

Getting Started with Single Sign-On

Authentication and Single Sign On

Coveo Platform 7.0. Microsoft SharePoint Connector Guide

User Management Tool 1.5

HP Device Manager 4.7

SAML-Based SSO Solution

Office 365 deploym. ployment checklists. Chapter 27

Qualtrics Single Sign-On Specification

Configuration Guide. BES12 Cloud

SPHOL300 Synchronizing Profile Pictures from On-Premises AD to SharePoint Online

INTEGRATION GUIDE. DIGIPASS Authentication for SimpleSAMLphp using IDENTIKEY Federation Server

Configuration Guide BES12. Version 12.1

Tenrox. Single Sign-On (SSO) Setup Guide. January, Tenrox. All rights reserved.

Office 365 deployment checklists

Swivel Secure and the Cloud

Integration Guide. SafeNet Authentication Service. Using SAS as an Identity Provider for Tableau Server

Configuring EPM System for SAML2-based Federation Services SSO

Step-by-Step guide for SSO from MS Sharepoint 2010 to SAP EP 7.0x

Identity Management in Liferay Overview and Best Practices. Liferay Portal 6.0 EE

INTEGRATION GUIDE. DIGIPASS Authentication for Salesforce using IDENTIKEY Federation Server

Single Sign On. SSO & ID Management for Web and Mobile Applications

Protected Trust Directory Sync Guide

Single Sign-on. Overview. Using SSO with the Cisco WebEx and Cisco WebEx Meeting. Overview, page 1

Configuration Guide BES12. Version 12.3

Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft

How To Use Saml 2.0 Single Sign On With Qualysguard

Integration Guide. SafeNet Authentication Service. Using SAS as an Identity Provider for Salesforce

OFFICE OF KNOWLEDGE, INFORMATION, AND DATA SERVICES (KIDS) DIVISION OF ENTERPRISE DATA

Single Sign On for Office 365 with NetScaler. Deployment Guide

CA Nimsoft Service Desk

VMware Identity Manager Integration with Active Directory Federation Services 2.0

Configuring the BIG-IP APM as a SAML 2.0 Identity Provider for Microsoft Office 365

Using and Contributing Virtual Machines to VM Depot

Configuring ADFS 3.0 to Communicate with WhosOnLocation SAML

Quality Center LDAP Guide

Single Sign-On Implementation Guide

This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections:

IDENTITY MANAGEMENT ROLLOUT: IN A HURRY. Jason Blackader, UNIX Systems Administrator

An overview of configuring WebEx for single sign-on. To configure the WebEx application for single-sign on from the cloud service (an overview)

Opacus Outlook Addin v3.x User Guide

Quick Start Guide Migration Planner

Remote Authentication and Single Sign-on Support in Tk20

Single Sign-On Implementation Guide

SAM Context-Based Authentication Using Juniper SA Integration Guide

Microsoft Office 365 Using SAML Integration Guide

Microsoft Office 365 from Vodafone. Administrator s Guide for Midsize Businesses and Enterprises

Using Windows NPS as RADIUS in eduroam

Matrix Logic WirelessDMS Service 2.0

Shibboleth Authentication. Information Systems & Computing Identity and Access Management May 23, 2014

Symplified I: Windows User Identity. Matthew McNew and Lex Hubbard

managing SSO with shared credentials

MIGRATING TO AVALANCHE 5.0 WITH MS SQL SERVER

SAP Cloud Identity Service Document Version: SAP Cloud Identity Service

T his feature is add-on service available to Enterprise accounts.

Increase the Security of Your Box Account With Single Sign-On

Connected Data. Connected Data requirements for SSO

Ameritas Single Sign-On (SSO) and Enterprise SAML Standard. Architectural Implementation, Patterns and Usage Guidelines

Configuration Guide. BlackBerry Enterprise Service 12. Version 12.0

Step-by-Step Guide to Setup Instant Messaging (IM) Workspace Datasheet

ShoreTel Active Directory Import Application

Office 365. Migrating and Managing Your. Business in the Cloud. Matthew Katzer. Don Crawford

Access Control and Monitoring for Campus Computer Labs

SAML Security Option White Paper

Administration Guide. BlackBerry Enterprise Service 12. Version 12.0

Cloud-Accelerated Hybrid Scenarios with SharePoint and Office 365

Integrating EJBCA and OpenSSO

RSA Authentication Manager 7.1 Microsoft Active Directory Integration Guide

Flexible Identity Federation

WatchDox SharePoint Beta Guide. Application Version 1.0.0

Transcription:

Integration of Office 365 with existing faculty Best Practice Document Produced by the MARnet-led working group on campus wireless infrastrucure and security Authors: Vasko Sazdovski (MARnet), Boro Jakimovski (MARnet). March 2015

MARnet 2015. All rights reserved. Document No: GN3plus-NA3-T2-CBPD MA3 Version / date: March 2015 Original language Macedonian Original title: Интеграција на Office 365 со постоечки систем за единствена најава Original version / date: Version 1.0; 1 October 2014 Contact: vasko.sazdovski@finki.ukim.mk MARnet bears responsibility for the content of the document. The work has been carried out by a MARnet led working group Campus wireless infrastructure and security. Parts of the report may be freely copied, unaltered, provided that the original source is acknowledged and copyright preserved. The research leading to these results has received funding from the European Community's Seventh Framework Programme (FP7/2007-2013) under grant agreement n 605243, relating to the project 'Multi-Gigabit European Research and Education Network and Associated Services (GN3plus)'. ii

Table of Contents Executive Summary 5 1 Architecture 6 1.1 Local user account management 6 1.2 Local IdP 7 2 Implementation 9 2.1 IDP Configuration 9 2.2 Attributes 10 2.2.1 Attribute resolver 10 2.2.2 Relaying party 14 3 Office 365 domain federation 16 3.1 Enable your domain to be federated 16 4 Sync tool 18 5 Conclusion 20 References 21 Glossary 22 iii

Table of Figures Figure 1.1: Integration of Office 365 with existing faculty based on Active Directory and Shibboleth 6 Figure 1.2: Identity Provider architecture 8 Figure 3.1: Credential request screen 16 iv

Executive Summary How to integrate Office 365 with your local (Single Sign-On)? This question and all steps that are necessary to integrate this solution are described in this document. The idea for this integration derives from the problem with multiple accounts. The following Sections show step-by-step the whole integration process what you need to implement and to install in order to provide this service. Section 1 presents the best practice architecture to use in faculty and/or university environments. Section 2 describes the implementation process, the details and attributes that are needed, so one can implement in your organisation in preparation for Office 365 integration. Section 3 describes how one can federate an existing Office 365 domain in order to be able to accept authentication messages from a local. Section 4 describes the final step of user synchronisation tools that must be completed in order to link local users with the accounts in Microsoft Office 365. 5

1 Architecture The architecture of this system is at a medium level of complexity and combines different technologies. Microsoft AD, PowerShell, Shibboleth IdP, JASIG CAS and Open LDAP are all combined. Figure 1.1: Integration of Office 365 with existing faculty based on Active Directory and Shibboleth 1.1 Local user account management These days the use of email service has become part of our daily routine. In order to make the communication with students much easier and official, your faculty can create a subdomain for the students. The best solution was the Live@Edu service from Microsoft: it offered an API that was easy to use and implement with our. Using this, all of the students were able to login to their email accounts using the existing. After Microsoft migrated from Live@Edu to Office 365, they abandoned the API, and another solution was required to provide email service for students. Microsoft suggested the use of ADFS, so all local users could be synchronised with Azure AD. This solution is complex and it needed the deployment of many tools and services that in order to establish inter-federation, so that Office 365 services could be used with your local user accounts. An alternative solution is to deploy SAML2 (i.e. Shibboleth) IdP and to establish federation with Microsoft, so that you could provide access to Office 365 services with your existing system based on SAML2. This is less challenging solution to implement, and is recommended for all institutions that do not keep local user accounts in Active Directory. We prefer to keep local student s accounts in an on-site Microsoft AD (Active Directory), since this offers good integration and easier management with locally provided MS services, such as login to 6

Laboratory computers based on MS Windows. In the scenarios that follow, this information is taken as a starting point from where the whole architecture built on. Nevertheless one can still build an Office 365 integrated using SAML2, even if the user accounts are not kept in Microsoft AD, but in some other technologies like LDAP, or HR databases. The first step in the integration process is deploying an SAML2 IdP (Shibboleth IdP) as an Identity Provider that is integrated with the local users database (Microsoft AD) for authentication. After deploying the IdP, the users domain has to be federated in order to establish the. 1.2 Local IdP The local Identity Provider (IdP) is installed on a Debian server where the Shibboleth IdP is used as an Identity Provider. The IdP is connected to a JASIG CAS instance as an external authentication service. The deployment scenario is is a result of JASIG CAS having been used for over eight years as an organisational system for the existing local services. Since Shibboleth supports external authentication, integrating these two is easy. Before deploying IdP, all the local web applications that were used by the students and the faculty staff were using CAS. This solution provided, but the problem with this is that CAS provides only authentication, and there had to be some other mechanism to provide the authorisation attributes to the applications. After successful authentication, CAS returns the authenticated username, but none of the other attributes. In this way, the faculty had to deploy an additional LDAP for the applications to retrieve the necessary attributes. Since some of the existing services were using CAS, and because Shibboleth support CAS, we did not need to change the services that were available only for local users, and all services (local and national) remained under the legacy authentication system. If you have an existing implementation, it is possible to connect with your local instance of Shibboleth. All that is needed to be done is to modify the login handler. Figure 1.2 shows the Identity Provider architecture. 7

Figure 1.2: Identity Provider architecture 8

2 Implementation In this Section we give the implementation details regarding federation between Shibboleth IdP and Office 365. 2.1 IDP Configuration We begin with the configuration of local IdP that must be carried out in order to prepare the trust and attribute publishing between Local IdP and Office 365. This is necessary for successfully federatng with Microsoft, and to achieve with Microsoft Office 365. Obtaining metadata from Microsoft Metadata is vital for federation. With this metadata, mutual trust is established between the service provider (in this case Microsoft) so it can forward the users of the federated domain for authentication. Microsoft s metadata can be obtained from the following URL: https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml Metadata is saved in the following folder in the Shibboleth IdP: /opt/shibboleth-idp/metadata, under this name: WindowsAzureAD-metadata.xml. The content of this XML file is: <?xml version="1.0" encoding="utf-8"?> <EntityDescriptor xmlns="urn:oasis:names:tc:saml:2.0:metadata" entityid="urn:federation:microsoftonline"> <SPDescriptor WantAssertionsSigned="true" protocolsupportenumeration="urn:oasis:names:tc:saml:2.0:protocol" > <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://login.microsoftonline.com/login.srf" index="0" isdefault="true"/> 9

<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST- SimpleSign" Location="https://login.microsoftonline.com/login.srf" index="1"/> <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://login.microsoftonline.com/login.srf" index="2" /> <NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress </NameIDFormat> <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier </NameIDFormat> <NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified </NameIDFormat> <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameidformat:transient </NameIDFormat> <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameidformat:persistent </NameIDFormat> </SPDescriptor> </EntityDescriptor> 2.2 Attributes 2.2.1 Attribute resolver The next step is to make the necessary changes to the Shibboleth IdP attribute-resolver.xml that can be found in /opt/shibboleth-idp/conf/. This configuration file specifies which attributes shall be resolved from our local AD (local attribute source), and is sent to Microsoft Office 365 upon successful authentication. Microsoft requires the following attributes to be available to authorise the users to use Office 365: Uid. Mail. CN. Sn. Domain. 10

ImmutableID. The following code is the modified content of the attribute resolver: <resolver:attributedefinition id="uid" xsi:type="ad:simple" sourceattributeid="uid"> <resolver:dependency ref="myldap" /> <resolver:attributeencoder xsi:type="enc:saml1string" name="urn:mace:dir:attribute-def:uid" /> <resolver:attributeencoder xsi:type="enc:saml2string" name="urn:oid:0.9.2342.19200300.100.1.1" friendlyname="uid" /> </resolver:attributedefinition> <resolver:attributedefinition id="email" xsi:type="ad:simple" sourceattributeid="mail"> <resolver:dependency ref="myldap" /> <resolver:attributeencoder xsi:type="enc:saml1string" name="urn:mace:dir:attribute-def:mail" /> <resolver:attributeencoder xsi:type="enc:saml2string" name="urn:oid:0.9.2342.19200300.100.1.3" friendlyname="mail" /> </resolver:attributedefinition> <resolver:attributedefinition id="commonname" xsi:type="ad:simple" sourceattributeid="cn"> <resolver:dependency ref="myldap" /> <resolver:attributeencoder xsi:type="enc:saml1string" name="urn:mace:dir:attribute-def:cn" /> <resolver:attributeencoder xsi:type="enc:saml2string" name="urn:oid:2.5.4.3" friendlyname="cn" /> </resolver:attributedefinition> <resolver:attributedefinition id="surname" xsi:type="ad:simple" sourceattributeid="sn"> <resolver:dependency ref="myldap" /> <resolver:attributeencoder xsi:type="enc:saml1string" name="urn:mace:dir:attribute-def:sn" /> <resolver:attributeencoder xsi:type="enc:saml2string" name="urn:oid:2.5.4.4" friendlyname="sn" /> </resolver:attributedefinition> <resolver:attributedefinition id="edupersonoffice 365Domain" xsi:type="ad:simple" sourceattributeid="domain"> <resolver:dependency ref="staticentitlements" /> 11

<resolver:attributeencoder xsi:type="enc:saml1string" name="urn:mace:dir:attribute-def:edupersonoffice 365Domain" /> <resolver:attributeencoder xsi:type="enc:saml2string" name="urn:oid:2.16.807.10.1.10.21" friendlyname="edupersonoffice 365Domain" /> </resolver:attributedefinition> <resolver:attributedefinition id="edupersonpersistentid" xsi:type="ad:simple" sourceattributeid="objectguid"> <resolver:dependency ref="myldap" /> <resolver:attributeencoder xsi:type="enc:saml1string" name="urn:mace:dir:attributedef:edupersonpersistentid" /> <resolver:attributeencoder xsi:type="enc:saml2stringnameid" nameformat="urn:oasis:names:tc:saml:2.0:nameidformat:persistent" name="urn:2.16.807.10.1.10.20"/> </resolver:attributedefinition> <resolver:attributedefinition id="edupersonuniqueid" xsi:type="ad:transientid" sourceattributeid="uid"> <resolver:dependency ref="myldap" /> <resolver:attributeencoder xsi:type="enc:saml1stringnameidentifier" nameformat="urn:mace:shibboleth:1.0:nameidentifier" name="urn:mace:dir:attribute-def:edupersonuniqueid" /> <resolver:attributeencoder xsi:type="enc:saml2stringnameid" nameformat="urn:oasis:names:tc:saml:2.0:nameidformat:transient" name="urn:2.16.807.10.1.10.15"/> </resolver:attributedefinition> In this file, the section ref= myldap references which method is used for querying the attributes. Ref is set to myldap because we used our existing LDAP-proxy from before that is integrated with Microsoft AD, so all the attributes are queried from MS A the same placed. The configuration of myldap looks like this: 12

<resolver:dataconnector id="myldap" xsi:type="ldapdirectory" xmlns="urn:mace:shibboleth:2.0:resolver:dc" ldapurl="ldap://10.200.10.132" basedn="dc=yourdomain.com" principal="cn=admin,dc=yourdomain" principalcredential="password"> <resolver:dependency ref="krb_principalname" /> <FilterTemplate> <![CDATA[ ( (uid=$requestcontext.principalname) (uid=${krb_principalname.get(0)})) ]]> </FilterTemplate> <LDAPProperty name="java.naming.ldap.attributes.binary" value="objectguid"/> </resolver:dataconnector>. This does not mean that attributes can be kept only on LDAP, or in the Microsoft Active Directory. You could put here whatever database you want for storing all of your users and their data. A small problem in this scenario could be the username. Students use student ID numbers as a username to log in to the faculty services, but all the users in Microsoft Office 365 must be in the format: name@yourdomain.tld To solve this problem, you could make a small tweak in the attribute-resolver.xml, so when the user is successfully authenticated, and the IdP prepares to send the attributes to Office 365, instead of sending the student id number, it performs an LDAP query. When the user is found, it creates a UID in the following format: surname.name@subdomain.yourdomain.com. That is shown in the code above between the <FilterTemplate> tags. If your local usernames and email accounts are the same as in Office 365, this tweak will be unecessary. Attribute filter Every IdP should control which attributes are released to which service provider. That is possible by setting the attribute-filter.xml in /opt/shibboleth-idp/conf. For the Office 365 service we have set the following filter rules: <!-- Release userprincipalname as Windows Azure AD User ID --> <afp:attributefilterpolicy id="userid"> <afp:policyrequirementrule xsi:type="basic:attributerequesterstring" value="urn:federation:microsoftonline"/> <afp:attributerule attributeid="userid"> <afp:permitvaluerule xsi:type="basic:any"/> </afp:attributerule> 13

</afp:attributefilterpolicy> <!-- Release Immutable ID to Windows Azure AD --> <afp:attributefilterpolicy id="immutableid"> <afp:policyrequirementrule xsi:type="basic:attributerequesterstring" value="urn:federation:microsoftonline"/> <afp:attributerule attributeid="immutableid"> <afp:permitvaluerule xsi:type="basic:any"/> </afp:attributerule> </afp:attributefilterpolicy> 2.2.2 Relaying party This section of the configuration determines which party of the federation can use which service. Here the statement id= urn:federation:microsoftonline" provider= says that the provider yourdomain.com can participate and exchange data with the MicrosoftOnline federation. <!-- Windows Azure AD --> <rp:relyingparty id="urn:federation:microsoftonline" provider="https://yourdomain.com/idp/shibboleth" defaultsigningcredentialref="idpcredential"> <rp:profileconfiguration xsi:type="saml:saml2profile" signassertions="conditional" encryptassertions="never" encryptnameids="never" /> <rp:profileconfiguration xsi:type="ecp:saml2ecp" includeattributestatement="true" assertionlifetime="300000" assertionproxycount="0" signresponses="conditional" signassertions="always" encryptassertions="never" encryptnameids="never"/> <rp:profileconfiguration xsi:type="saml:saml2ecpprofile" includeattributestatement="true" assertionlifetime="pt5m" assertionproxycount="0" signresponses="never" signassertions="always" encryptassertions="never" encryptnameids="never"/> 14

</rp:relyingparty> The next section specifies from where to search for the Microsoft Federation Metadata, when the IdP wants to communicate with that service. <!-- Windows Azure AD Metadata --> <metadata:metadataprovider id="orgid" xsi:type="metadata:resourcebackedmetadataprovider"> <metadata:metadataresource xsi:type="resource:filesystemresource" file="/opt/shibboleth-idp/metadata/windowsazureadmetadata.xml"/> </metadata:metadataprovider> 15

3 Office 365 domain federation 3.1 Enable your domain to be federated After configuring the IDP, the next step is to make your desired domain available in Office 365 federated. This could be performed by using Windows Azure Active Directory Module for Windows PowerShell. This module, and instructions on its installation are given in the link below 1. After installation, the following commands must be executed to complete the federation of your domain. Click on the Windows Azure Active Directory Module for Windows PowerShell Shortcut. Right Click and Run As Administrator. After this you will see an PowerShell console, and you need to set the credential variable by typing: $cred=get-credential After typing this command, a window is shown (Figure 3.1). Enter your Global Administrator account from Office 365. Figure 3.1: Credential request screen Connect to Microsoft Online Services with the credential variable set previously: Connect- MsolService Credential $cred Then run the following commands to convert an existing domain (in this example, subdomain.yourdomain.com) for single sign on: $dom = "subdomain.yourdomain.com $url = "https://yourdomain.com/idp/profile/saml2/post/" $ecpurl = "https://yourdomain.com/idp/profile/saml2/soap/ecp" $uri = "https://yourdomain.com/idp/shibboleth" $logouturl = "https://yourdomain.com/logout/" $cert = "MIIFYzCCBEugAw...2tLRtyN" 1 https://msdn.microsoft.com/en-us/library/azure/jj151815.aspx 16

Set-MsolDomainAuthentication DomainName $dom -FederationBrandName $dom -Authentication Federated -PassiveLogOnUri $url - SigningCertificate $cert -IssuerUri $uri -ActiveLogOnUri $ecpurl - LogOffUri $logouturl -PreferredAuthenticationProtocol SAMLP After running these commands, you can verify that your domain is federated by typing Get- MsolDomain. The output of this command shows all of the domains you have registered in Office 365, status and authentication. If there were no errors from the previous command the output should resemble: PS C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Azure Active Directory> Get-MsolDomain Name Status Authentication ---- ------ -------------- Subdomain.yourdomain.com Verified Federated 17

4 Sync tool The last step in order to be able to log in to Office 365 is to create users that have the same attributes as the ones in the local database. Microsoft suggest using the Microsoft tool called DyrSync. This tool is partially based on Microsoft Identity Life Cycle Management and enables the syncing of local Active Directory users and groups into the Azure Active Directory. This tool can be set up to automatically synchronise user accounts (creates, updates deletes) in Azure AD. This tool is hard to control and was found to be complex and resource hungry in our experience. The tool produced unexpected behaviour, possibly due to its complex nature. It caused some of the users to get a bad domain and some user accounts were not created due to duplication of the users UUID. For better control of this process we discovered that there is a PowerShell library that implements all MS Online functionalities that DirSync tool makes. The following examples are code snippets from our own dirsync tool. Importing of the module library: import-module MSOnline Creating new user accounts that are in a csv format: import-csv createmsol.csv New-MsolUser Updating user accounts: import-csv updatemsol.csv Set-MsolUser Applying licences to user accounts: import-csv createmsol.csv select UserPrincipalName Set- MsolUserLicense -AddLicenses "yourdomain.com:standardwoffpack_student The following is the format of the Comma Separated Values (.CSV) file that is used for user information: ""UserPrincipalName,""ImmutableId"",""FirstName"",""LastName"", ""DisplayName"",""UsageLocation"" The main key that is used to link a logged-in user that is sent using the SAML2 message to Office 365 is the ImmutableID i.e., the UUID of the user. 18

We have developed a tool that integrates and automates this process using these scripts. It can take information from different data sources like Microsoft AD, LDAP, Database, etc. 19

5 Conclusion By federating students domain with Office 365, the management of users is much easier and much quicker. Now it takes only a few minutes to create email accounts for new students. Also, there is no need for students to remember different username and passwords for all of the services that they are using. With a single login they access all of the services that are available to them and the problem with resetting forgotten passwords is solved. The benefit from this integration was felt both from the students and the Administrators. This federation provides new services from Microsoft that are easily integrated and used by the students, providing a great opportunity to get hands-on experience with real world software and services that are usually expensive. 20

References [Shibboleth] [MSOffice 365] [DomFed] [Shibboleth] [Shibboleth] https://shibboleth.net/ http://office.microsoft.com/en-001/products/?ctt=97 http://blogs.technet.com/b/canitpro/archive/2013/06/13/step-by-stepsetting-up-ad-fs-and-enabling-single-sign-on-to-office-365.aspx Set up a trust between Shibboleth and AzureAD http://technet.microsoft.com/en-us/library/jj205457.aspx Configure Shibboleth for use with single sign-on http://technet.microsoft.com/en-us/library/jj205463.aspx 21

Glossary AD Active Directory CAS Central Authentication Service DNS Domain Name Server IdP Identity Provider JASIG Java in Administration Special Interest Group, a non-profit US organisation LDAP Lightweight Directory Access Protocol MS Microsoft (Corporation) ASOffice 365 The brand name used by Microsoft for a group of software plus services subscriptions that provides productivity software (Microsoft Office) and related services (OneDrive, Skype, etc.) to its subscribers. SAML2 Security Assertion Markup Language v2.0 Single Sign-On UUID Unique User ID 22

Complete BPDs are available at http://services.geant.net/cbp/pages/home.aspx campus-bp-announcements@terena.org