Integration mit einem benutzerdefinierten Identitätsdienst

Verwendet Ihre Organisation einen cloudbasierten Identitätsdienst, der standardmäßig nicht von Jamf Connect unterstützt wird, können Sie die Identitätsdienst-Option Custom (Benutzerdefiniert) nutzen, um sich mit einer beliebigen Identitätsdienst-Lösung zu integrieren, die das OpenID Connect Authentifizierungsprotokoll unterstützt.

Anforderungen

Ein Identitätsdienst, der das OpenID Connect Authentifizierungsprotokoll unterstützt.

  1. Folgen Sie den Anweisungen Ihres Identitätsdiensts, um eine OpenID Connect Anwendungsintegration zu erstellen, die die folgenden Werte generiert.
    • Client-ID

      Eine einzigartige Kennung für Ihre Jamf Connect Anwendungsintegration.

    • Weiterleitungs-URI

      Eine URL, an die Benutzer während des Authentifizierungsvorgangs weitergeleitet werden.

      Für die Authentifizierung unter macOS über das Anmeldefenster und die Menüleisten-App wird https://127.0.0.1/jamfconnect empfohlen.

      Für die Authentifizierung mit iOS über Jamf Unlock wird jamfunlock://callback/auth empfohlen.

    • Ermittlungs-URL

      Das OpenID Metadaten-Dokument des Identitätsdienstes, in dem Ihre Konfigurationsdaten für OpenID gespeichert sind. Dieser Wert erscheint in folgendem Format: https://domain.url.com/.well-known/openid-configuration

  2. Stellen Sie sicher, dass die folgenden Gewährungsarten bei ihrem Identitätsdienst aktiviert sind:
    • Autorisierungscodegewährung

      Hierbei wird nach erfolgreicher Authentifizierung der Anmeldedaten des Benutzers für seine Cloud-Identität ein Autorisierungscode an Jamf Connect übermittelt und von Jamf Connect an den Token-Endpunkt Ihres Identitätsdienstes gesendet.

    • Ressourcenbesitzer-Kennwortgewährung (ROPG)

      Hierbei werden die Anmeldedaten des Benutzers für seine Cloud-Identität direkt beim Token-Endpunkt Ihres Identitätsdienstes authentifiziert. Diese Authentifizierungsmethode wird nur verwendet, wenn Passwörter synchronisiert werden müssen.

  3. Erstellen Sie ein Jamf Connect Konfigurationsprofil für das Anmeldefenster und die Menüleisten-App, das die Werte Ihrer App-Integration in Ihrem Identitätsdienst verwendet.
    Stellen Sie sicher, dass die Einstellungen für das Anmeldefenster und die Menüleisten-App in ihre jeweiligen Einstellungsdomänen geschrieben werden.
    • com.jamf.connect.login

    • com.jamf.connect

    Die folgenden Einstellungen sind erforderlich:

    Anmeldefenster
    • Identitätsdienst
    • Client-ID
    • Weiterleitungs-URI
    • Ermittlungs-URL
    Menüleisten-App
    • Identitätsdienst
    • Client-ID
    • Ermittlungs-URL

    Die Einstellung Identity Provider (Identitätsdienst) muss auf Benutzerdefiniert stehen.

Ihr benutzerdefinierter Identitätsdienst sollte mit Jamf Connect integriert sein und Ihre Konfigurationsprofile sollten diesem Beispiel ähneln:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>OIDCProvider</key>
        <string>Benutzerdefiniert</string>
        <key>OIDCROPGID</key>
        <string>3bdd52c7-ee36-4689-8517-c5fed2c98s5</string>
        <key>OIDCClientID</key>
        <string>3bdd52c7-ee36-4689-8517-c5fed2c98s5</string>
        <key>OIDCRedirectURI</key>
        <string>https://127.0.0.1/jamfconnect</string>
        <key>OIDCDiscoveryURL</key>
        <string>https://identity-provider-example-address.com/.well-known/openid-configuration</string>
        <key>OIDCNewPassword</key>
        <false/>
     </dict>   
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>IdPSettings</key>
	<dict>
		<key>DiscoveryURL</key>
		<string>https://identity-provider-example-address.com/.well-known/openid-configuration</string>
		<key>Provider</key>
		<string>Benutzerdefiniert</string>
		<key>ROPGID</key>
		<string>3bdd52c7-ee36-4689-8517-c5fed2c98s5</string>
	</dict>
</dict>
</plist>