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
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.Der oder die Mitarbeiter:in kann dann per Browser auf diese APP zugreifen und sich mit den Zugangsdaten seines Azure-AD-Zugangs authentifizieren.
Der oder die Mitarbeiter:in wird anschließend, sofern er/sie authentifiziert wurde, an die PEIQ-APP weitergeleitet und kann damit arbeiten.
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 |
---|---|---|
|
Der Kunde erhält folgende Infos (siehe Bild) Basic SAML Configuration:
| |
2. | Anlegen folgender APPS in Azure-AD unter "Enterprise applications" und "Single Sign-on” in dieser APP bitte konfigurieren:
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 ):
|
|
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: | 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!
Benutzername im jeweiligen PEIQ-Kunden-AD: max.mustermann (max. 20 Zeichen)
E-Mail-Adresse im jeweiligen PEIQ-Kunden-AD:
max.mustermann@musterdomain.de oder max.mustermann@otherdomain.de (ungekürzt)Benutzername in PRINT NGEN oder CREATE: max.mustermann (max. 20 Zeichen)
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