Blog

Hoe sluit je een SaaS-applicatie aan- zonder Azure AD? | deel 2

In het eerste deel van 'Je SaaS-applicatie koppelen' heb ik het gehad over een aantal high-level overkoepelende concepten om SaaS-applicaties te koppelen met je omgeving. Wanneer de service- en identiteitsproviders allebei gebruik maken van Azure Active Directory, is koppelen redelijk gemakkelijk, zoals uitgelegd in het eerste artikel. Maar wat als je geen gebruik maakt van Azure AD, maar van een Security Token Service (STS) zoals Active Directory Federation Services (ADFS)?

Gepubliceerd: 16 februari 2022

Nou, in de eerste plaats moet je dan echt overwegen om toch Azure Active Directory te gaan gebruiken ;-). Maar er zijn ook andere mogelijkheden. In dit artikel bespreken we de volgende punten:

  1. Opties voor het koppelen van SaaS-applicaties
  2. Klanten zonder Azure Active Directory
  3. Externe identiteiten
  4. B2B-samenwerking
  5. Azure AD B2C

Met gemak je SaaS-applicaties koppelen

Als serviceprovider moet je je klanten laten weten hoe ze verbinding moeten maken. Ik zie vaak dat serviceproviders een applicatie ontwikkelen en dan maar één oplossing aanbieden om te koppelen. Ook geven ze geen verdere informatie over hoe de koppeling gemaakt kan worden. Bovendien ontbreekt elke verdere begeleiding met betrekking tot de details over de koppeling die je moet instellen. Overweeg daarom om een stap-voor-stap-handleiding te maken voor de klanten die je product gaan gebruiken. Niet iedereen beschikt over de kennis om een vertrouwensfederatie op te zetten zonder een metadata URL of kan alle specifieke instellingen zomaar zelf raden.

Koppelen zou makkelijk gemaakt moeten zijn, juist omdat identiteit, federatie, single sign-on en de protocollen die daarbij horen helemaal niet zo makkelijk zijn. Ondanks mijn jaren aan ervaring zijn er nog steeds een aantal dingen die ik niet helemaal doorgrond. Het is daarom een goed idee om zelf wat onderzoek te doen en wat dingen op papier te zetten in dit  artikel :-).

Voeg meer opties toe voor een breder platform

Als serviceprovider kies jij zelf welke koppelopties je beschikbaar wilt maken in je applicatie. Wil je alleen verbindingen mogelijk maken via SAML? OpenID Connect (OAuth 2.0) door multi-tenancy? Allebei? Misschien wil je nog wat smaakjes toevoegen? Jij bepaalt. Door meer opties toe te voegen, heb je een breder platform waarmee je klanten kunnen koppelen, dus het design in de afbeelding hieronder is er een om in gedachten te houden.

In dit design maakt elke klant gebruik van een unieke DNS-entry die verwijst naar een daarop gehoste multi-tenant web app, bijvoorbeeld AKS. De web app gebruikt een klantendatabase die de verbindingsinstellingen bijhoudt die elke klant gebruikt.

 

Klanten zonder Azure Active Directory 

Er zijn veel klanten die geen Azure Active Directory gebruiken. Als serviceprovider wil je, als je zelf Azure Active Directory gebruikt, de Azure-technologie zo veel mogelijk toepassen. Zoals besproken in het eerste artikel kunnen gebruikers, wanneer er een multi-tenant applicatie gebruikt wordt, in elke Azure AD tenant inloggen op je applicatie nadat ze toestemming hebben gegeven om hun account met jouw applicatie te gebruiken. Het OpenID Connect (OIDC) protocol wordt hiervoor gebruikt (OIDC is een simpele identiteitslaag boven op OAuth 2.0).

Daarnaast wordt SAML-authenticatie vaak gebruikt met identiteitsproviders zoals Active Directory Federation Services (ADFS) voor Azure AD, dus deze wordt vaak in zakelijke applicaties gebruikt. SAML is nog steeds het meest gebruikte protocol, maar Microsoft geeft tegenwoordig de voorkeur aan OIDC.

Azure biedt meerdere opties voor het maken van SAML-koppelingen, single sign-on of federation. Maar welke is het meest geschikt voor jou? Laten we ervan uitgaan dat je een applicatie aan het ontwikkelen bent, wilt dat je klanten via SAML koppelen en hen een metadata URL biedt. In dat geval moet je kijken naar External Identities in Azure Active Directory.

External Identities in Azure: twee scenario’s

Met External Identities in Azure AD kun je mensen van buiten je organisatie toestaan om bij je applicaties en tools te komen en hen daarbij laten inloggen met de identiteit die zij zelf kiezen. Je klanten, partners, distributeurs, leveranciers, verkopers en andere gastgebruikers kunnen hun eigen identiteiten meenemen. Dit kan een identiteit zijn zoals een bedrijfsidentiteit of een onbeheerde social identiteit, zoals Google of Facebook. Ze kunnen hun eigen gegevens gebruiken om in te loggen. De externe identiteitsproviders van de gebruiker beheert hun identiteit en jij beheert de toegang tot je applicaties met Azure AD om je eigen tools te beschermen. Met External Identities zijn er twee scenario's:

  1. B2B-samenwerking: waar je applicaties en resources deelt met externe gebruikers
  2. Azure AD B2C: biedt een white label identiteitsmanagementoplossing voor klant- en klantgerichte applicaties

B2B-samenwerking

Azure Active Directory business-to-business (B2B) samenwerking is een functie binnen External Identiteit die je in staat stelt om gastgebruikers uit te nodigen om samen te werken met je organisatie. Met B2B-samenwerking kun je veilig je applicaties delen met gastgebruikers van elke andere organisatie terwijl je zelf de controle behoudt over je zakelijke gegevens. Door een eenvoudig proces van uitnodigingsinwisseling kunnen partners hun eigen inloggegevens gebruiken om bij de resources van je bedrijf te komen. Dit wordt met name gebruikt voor samenwerkingen tussen bedrijven en meestal niet wanneer er wordt gehandeld als serviceprovider.

In het Azure Portal kun je een B2B-samenwerking configureren met SAML door te gaan naar Azure Active Directory > External Identities > All identity providers > New SAML/WS-Fed IdP. De metadata URL die de gast kan gebruikten ziet er ongeveer als volgt uit: https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml.

 

Azure AD B2C

Azure Active Directory B2C biedt business-to-customer identiteit as a service. Het regelt ook de opschaling en veiligheid van je authenticatieplatform, de monitoring, en handelt automatisch bedreigingen af, zoals denial-of-service, password spraying of aanvallen met brute kracht.

Azure AD B2C en Azure Active Directory (Azure AD) zijn aparte diensten. Azure AD B2C is gebouwd op dezelfde technologie als Azure AD, maar met een ander doel. Het stelt bedrijven in staat om een klantgerichte applicatie te bouwen, waarbij iedereen zich kan aanmelden voor deze applicaties zonder beperkingen op het gebruikersaccount.

Azure AD B2C is een white label authenticatieoplossing. Je kan de gehele gebruikerservaring aanpassen aan je merk, zodat deze naadloos aansluit op je web- en mobiele applicaties. Customize elke pagina die door Azure AD B2C wordt weergegeven als je gebruiker zich aanmeldt, inlogt en zijn/haar profielinformatie bewerkt.

Binnen Azure AD B2C heb je een op maat gemaakt beleid nodig om een federation met een STS als ADFS mogelijk te maken. De metadata URL die de klant kan gebruiken ziet er meestal als volgt uit: https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/your-policy/samlp/metadata?idptp=your-technical-profile

 

Tot slot: altijd een eenvoudige SaaS-koppeling

Of je klanten nu Azure AD gebruiken of niet, het zou hoe dan ook eenvoudig voor hen moeten zijn om te koppelen met je SaaS-applicatie. Je kan verschillende oplossingen aanbieden voor verschillende klanten, en External Identities helpt je daarbij! Er zijn veel verschillende mogelijkheden en ik help je daar graag verder mee. Je kan contact met me opnemen via fsuper@intercept.cloud.

In het derde en laatste artikel in deze serie zal ik je een voorbeeld van ADFS laten zien die is gekoppeld met een Azure AD B2C applicatie. Heb je het eerste artikel gemist? Lees deze dan hier: Je SaaS-applicatie koppelen.'

Wellicht ook interessant:

  • SaaS application

    Hoe sluit je een SaaS-applicatie aan?

    Wat als je je bedrijfsgegevens wilt gebruiken om in te loggen op deze applicatie? Hoe sluit je dan een SaaS-applicatie aan op jouw infrastructuur? Als je een hybride infrastructuur hebt zijn er veel mogelijkheden.

    • Leesduur 5min
    Meer over Hoe sluit je een SaaS-applicatie aan?