PEIQ Knowledge Base

[0-8] INBOUND Azure AD / SAML App

Transportverfahren

SAML/HTTP(S)

Objekt

XML

Trigger

manuell

Unterstützte Drittsysteme

Microsoft Azure AD

Funktionalitäten der Schnittstelle

  • Ermöglicht den Zugriff auf PEIQ-Dienste (PEIQ CREATE und PEIQ PRINT NGEN CLOUD) via Web-Browser per Single-Sign-On (SSO).

  • Ermöglicht die Benutzer- und Passwort-Verwaltung durch den Kunden.

Benutzer:innen müssen zusätzlich in der Kundendomain (PEIQ-Kunden-AD) und den jeweiligen Diensten angelegt sein.

 

Austauschformat und Übertragung der Daten

Security Assertion Markup Language (SAML):
Die Security Assertion Markup Language (SAML) ist ein XML-Framework zum Austausch von Authentifizierungs- und Autorisierungsinformationen. Sie stellt Funktionen bereit, um sicherheitsbezogene Informationen zu beschreiben und zu übertragen.

Die erfolgreiche Authentifizierung wird von Azure AD in einem signierten XML-Request bestätigt und via Browser(-Weiterleitung) an den entsprechenden PEIQ-Dienst übertragen.
Dort erfolgt die Verifizierung mit dem hinterlegten öffentlichen Schlüssel der Azure-AD-APP des Kunden.

Workflow

  1. Der oder die Kund:in legt in seinem/ihrem Microsoft-Azure-AD eine APP an und gibt diese für (ausgewählte) Mitarbeiter:innen oder Gruppen frei.
    Wahlweise kann das auch im PEIQ-Azure-AD geschehen, wobei Mitarbeiter:innen aus Kunden-Azure-ADs eingeladen werden können.

  2. Der oder die Mitarbeiter:in kann dann per Browser auf diese APP zugreifen und sich mit den Zugangsdaten seines Azure-AD-Zugangs authentifizieren.

  3. Der oder die Mitarbeiter:in wird anschließend, sofern er/sie authentifiziert wurde, an die PEIQ-APP weitergeleitet und kann damit arbeiten.

  4. Der Logout des Mitarbeiters oder der Mitarbeiterin wird in gleicher Weise an Azure-AD weitergeleitet und dort durchgeführt.

Beispieldaten

SAML-Ticket:

<samlp:Response ID="_35f0b660-8549-4184-bd95-xxxxxxxxxxx" Version="2.0" IssueInstant="2021-06-02T08:42:26.465Z" Destination="https://kunde.peiq.cloud/RASHTML5Gateway/sso/idp_4/assert" InResponseTo="_661b07f241bee467f362bef884c886e15019f36541" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"> <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://sts.windows.net/35439191-30fb-482f-94ba-xxxxxxxxxxx/</Issuer> <samlp:Status> <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/> </samlp:Status> <Assertion ID="_3e81eea4-13e0-4d14-8b55-xxxxxxxxxxx" IssueInstant="2021-06-02T08:42:26.460Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion"> <Issuer>https://sts.windows.net/35439191-30fb-482f-94ba-xxxxxxxxxxx/</Issuer> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> <Reference URI="#_3e81eea4-13e0-4d14-8b55-xxxxxxxxxxx"> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <DigestValue>uaHnf13OSXFL5oKCCngpxogowN3dBy8/9hSbN7FpI9I=</DigestValue> </Reference> </SignedInfo> <SignatureValue>[Signature]</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>[Certificate]</X509Certificate> </X509Data> </KeyInfo> </Signature> <Subject> <NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">max.mustermann@musterdomain.de</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <SubjectConfirmationData InResponseTo="_661b07f241bee467f362bef884c8xxxxxxxxxxx" NotOnOrAfter="2021-06-03T08:42:26.405Z" Recipient="https://kunde.peiq.cloud/RASHTML5Gateway/sso/idp_4/assert"/> </SubjectConfirmation> </Subject> <Conditions NotBefore="2021-06-02T08:37:26.405Z" NotOnOrAfter="2021-06-03T08:42:26.405Z"> <AudienceRestriction> <Audience>https://kunde.peiq.cloud/RASHTML5Gateway/sso/idp_4/metadata.xml</Audience> </AudienceRestriction> </Conditions> <AttributeStatement> <Attribute Name="http://schemas.microsoft.com/identity/claims/tenantid"> <AttributeValue>35412387-30fb-482f-94ba-xxxxxxxxxxx</AttributeValue> </Attribute> <Attribute Name="http://schemas.microsoft.com/identity/claims/objectidentifier"> <AttributeValue>32345b362-cd4c-4155-8ae7-xxxxxxxxxxx</AttributeValue> </Attribute> <Attribute Name="http://schemas.microsoft.com/identity/claims/displayname"> <AttributeValue>Max Mustermann</AttributeValue> </Attribute> <Attribute Name="http://schemas.microsoft.com/identity/claims/identityprovider"> <AttributeValue>https://sts.windows.net/35439191-30fb-482f-94ba-xxxxxxxxxxx/</AttributeValue> </Attribute> <Attribute Name="http://schemas.microsoft.com/claims/authnmethodsreferences"> <AttributeValue>http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password</AttributeValue> </Attribute> <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"> <AttributeValue>max.mustermann@musterdomain.de</AttributeValue> </Attribute> </AttributeStatement> <AuthnStatement AuthnInstant="2021-06-02T08:42:18.462Z" SessionIndex="_3e81abc2-13e0-4d14-8b55-xxxxxxxxxxx"> <AuthnContext> <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef> </AuthnContext> </AuthnStatement> </Assertion> </samlp:Response>

Informationen zu eingebundenen Drittanbietern & Cookies

Drittanbieter: Microsoft (Azure AD)
Cookies: Microsoft-Authentifizierung (z. B.: buid, ExternalIdpStateHash, x-ms-gateway-slice, stsservicecookie, brcap, clrc, ASP.NET_SessionId, PAXLocale, config, naiosockid)

 

Anleitung zum Set-Up/Mitwirkungspflichten

 

Kunde Pflichten

PEIQ Pflichten

 

Kunde Pflichten

PEIQ Pflichten

  1.  

 

 

Der Kunde erhält folgende Infos (siehe Bild)

Basic SAML Configuration:

  • Identifier (Entity ID) “<kundenkürzel>.peiq.cloud/RASHTML5Gateway/idp_<zahl>

  • Reply URL (Assertion Consumer Service URL) “<kundenkürzel>.peiq.cloud/RASHTML5Gateway/idp_<zahl>

  • Login URL / Anmelden URL “<kundenkürzel>.peiq.cloud/login”

  • Logout URL “<kundenkürzel>.peiq.cloud/logout”

2.

Anlegen folgender APPS in Azure-AD unter "Enterprise applications" und "Single Sign-on” in dieser APP bitte konfigurieren:

  1. PEIQ Parallels NGEN

  2. PEIQ CREATE Test

  3. PEIQ CREATE Produktivsystem

Bitte eindeutigen Namen wählen, bestenfalls obenstehende, je nach Einsatz der Produkte CREATE/ NGEN

 

3.

Nach der Einrichtung der APP vom Kunden werden folgende automatisch generierten Daten an PEIQ übermittelt (siehe auch Mitwirkungspflichten: [7-09] Einrichten Azure/SAML App + Zurückspielen Zertifikat ):

  • SAML Signing Certificate (Base64)

  • Name der SAML App, falls abweichend von Vorschlag unter 2.

 

4.

 

Die angelieferten Informationen werden von PEIQ hinterlegt und der App Zugriff in die PEIQ Cloud wird eingerichtet.

 

5.

Daraus ergeben sich automatisiert die Login URL, Logout URL und der Azure AD Identifier analog folgendem, die an PEIQ zu übermitteln sind:

Wichtig dabei: diese Informationen sind nicht identisch mit den von PEIQ angelieferten Login/Logout URLs. Deshalb unbedingt die im Set-Up unter Position 4 (siehe Screenshot) genannten Informationen anliefern.

 

6.

Übermitteln eine Liste der Benutzer:innen mit folgenden Daten an PEIQ:
Mitwirkungspflichten: [7-01 & 7-13] Initiale User-Anlage in NGEN

Die links genannten, angelieferten Informationen werden im AD hinterlegt und müssen zwingend mit dem Azure des Kunden übereinstimmen.

 

7.

Anlegen der PEIQ-User im Azure.

Sie erhalten hierzu eine Liste der PEIQ-Mitarbeiter, die Zugriff auf die Kunden-Cloud benötigen, um Anpassungen / Entwicklungen / Supportdienstleistungen darin vorzunehmen.

 

8.

Ausrollen des Parallels Clients auf den Rechnern der User siehe Installation des Parallels-Clients

 

9.

Einladung der User ins System

 

Während des Betriebs kann der Kunde die Registrierung selbst vornehmen.
Weitere Infos dazu: https://peiq.atlassian.net/wiki/spaces/PPSD/pages/edit-v2/840762181?draftShareId=badbab4e-3a99-4727-bc03-010de4ee1323 (in Bearbeitung)

Wichtig:
Für die Authentifizierung innerhalb der PEIQ-Dienste wird der “User Principal Name/UPN” (user.userprincipalname) aus Azure-AD verwendet.
Die E-Mail-Adresse des/der Benutzer:in wird nur für die Einladungs-E-Mail benötigt, sofern jemand aus einem Kunden-Azure-AD in PEIQ freigeschaltet und eingeladen wird.

Beispiel:
UPN in Azure AD: max.mustermann@musterdomain.de oder max.mustermann_otherdomain.de#EXT#@…
Daraus resultierender Benutzername in den PEIQ-Diensten:
max.mustermann → WICHTIG: darf in den PEIQ-Diensten maximal 20 Zeichen lang sein, muss dort ggf. gekürzt werden!

Mitwirkungspflichten

Mitwirkungspflichten: [7-01 & 7-13] Initiale User-Anlage in NGEN

 

Verwandte Seiten

Nur für PEIQ-Mitarbeiter:

https://peiq.atlassian.net/wiki/spaces/CORE/pages/812253309