Einleitung
In diesem Dokument wird die Integration von Intune Mobile Device Management (MDM) in die Cisco Identity Services Engine (ISE) beschrieben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Kenntnisse der MDM-Services der Cisco ISE
- Kenntnisse von Microsoft Azure Intune Services
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
- Cisco Identity Services Engine 3.0
- Microsoft Azure Intune-Anwendung
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
MDM-Server sorgen für die Sicherheit, Überwachung, Verwaltung und Unterstützung von Mobilgeräten bei Mobilnetzbetreibern, Service Providern und Unternehmen. Diese Server fungieren als Richtlinienserver, der die Verwendung einiger Anwendungen auf einem Mobilgerät (z. B. einer E-Mail-Anwendung) in der bereitgestellten Umgebung steuert. Das Netzwerk ist jedoch die einzige Einheit, die auf Basis von Zugriffskontrolllisten (Access Control Lists, ACLs) granularen Zugriff auf Endpunkte ermöglichen kann. Die ISE fragt die MDM-Server nach den erforderlichen Geräteattributen ab, um ACLs zu erstellen, die die Netzwerkzugriffskontrolle für diese Geräte ermöglichen. Die Cisco ISE lässt sich mit Microsoft Intune MDM Server integrieren, um Unternehmen beim Zugriff auf Ressourcen vor Ort beim Schutz ihrer Unternehmensdaten zu unterstützen.
Konfigurieren
Netzwerkdiagramm
Konfigurieren von Microsoft Intune
Importieren Sie die Zertifikate aus dem Intune-Portal in den ISE Trusted Store.
Melden Sie sich bei der Intune-Admin-Konsole oder der Azure-Admin-Konsole an, je nachdem, welcher Standort Ihren Tenant hat. Verwenden Sie den Browser, um die Zertifikatdetails abzurufen:
Schritt 1: Öffnen Sie das Microsoft Azure portal über einen Webbrowser.
Schritt 2: Klicken Sie auf das Sperrsymbol in der Symbolleiste des Browsers und anschließend auf View Certificates.
Schritt 3: Klicken Sie im Fenster Zertifikat auf die Certification Path Registerkarte. Hier sehen Sie ein Beispiel:
Schritt 4: Suchen Sie Baltimore Cyber Trust root, die übliche Stammzertifizierungsstelle. Wenn jedoch eine andere Stammzertifizierungsstelle vorhanden ist, klicken Sie auf dieses Stammzertifizierungsstelle-Zertifikat. Auf der Registerkarte Details dieses Root-Zertifizierungsstellenzertifikats können Sie es in die Datei kopieren und als BASE64-Zertifikat speichern.
Schritt 5: Navigieren Sie in ISE zu dem soeben gespeicherten Stammzertifikat, Administration > System > Certificates > Trusted Certificates, und importieren Sie es. Geben Sie dem Zertifikat einen aussagekräftigen Namen, z. B. Azure MDM. Wiederholen Sie auch das Verfahren für die Zwischenzertifikate.
Bereitstellen von ISE als Anwendung im Azure-Portal
Schritt 1: Navigieren Sie zum , Azure Active Directory und wählen Sie App registrations.
Schritt 2: In eine neue Anwendungsregistrierung mit dem ISE-Namen App registrations, erstellen. Klicken Sie wie in diesem Bild dargestellt aufCreate.
Schritt 3: Wählen Sie diese OptionSettings, um die Anwendung zu bearbeiten und die erforderlichen Komponenten hinzuzufügen.
Schritt 4: Wählen Settings, Sie unter die erforderlichen Berechtigungen, und wenden Sie diese Optionen an:
- Microsoft-Diagramm
- Delegierte Berechtigungen
- Microsoft Intune-Gerätekonfiguration und -richtlinien lesen
- Microsoft Intune-Konfiguration lesen
- Benutzer anmelden
- Jederzeit Zugriff auf die Daten des Benutzers
- Microsoft Intune-API
- Gerätestatus- und Compliance-Informationen von Microsoft Intune abrufen
- Windows Azure Active Directory
- Delegierte Berechtigungen
- Verzeichnisdaten lesen
- Anmelden und das Benutzerprofil lesen
Das Ergebnis der Konfiguration ähnelt dem hier gezeigten:
Schritt 5: Klicken Sie Grant Permissions, um alle Anwendungsberechtigungen zu bestätigen. Dieser Vorgang dauert 5-10 Minuten. Bearbeiten Sie die Azure Manifest Datei für die Anwendung, die erstellt wurde, um interne ISE-Zertifizierungsstellenzertifikate zu importieren.
Importieren von ISE-Zertifikaten in die Anwendung in Azure
Schritt 1: Laden Sie die Manifestdatei für die Anwendung herunter.
Hinweis: Es handelt sich um eine Datei mit der Erweiterung JSON. Bearbeiten Sie nicht den Dateinamen oder die Erweiterung, andernfalls schlägt sie fehl.
Schritt 2: Exportieren Sie das ISE-Systemzertifikat von allen Knoten. Navigieren Sie im PAN zu Administration > System > Certificates > System Certificates, Select the Default self-signed server certificate, und klicken Sie auf Export.. Wählen Sie Export Certificate Only(Standard) aus, und wählen Sie einen Speicherort dafür aus. Löschen Sie die BEGIN- und END-Tags aus dem Zertifikat, und kopieren Sie den restlichen Text in einer Zeile. Dies gilt für Versionen vor Juni 2020, die im Abschnitt zu Legacy-Optionen beschrieben werden.
Ab Juni 2020 können Sie Zertifikate direkt über das Portal hochladen.
Legacy-Option:
Schritt 1: Führen Sie eine PowerShell-Prozedur aus, um das Zertifikat in BASE64 umzuwandeln und es ordnungsgemäß in die Azure JSON-Manifestdatei zu importieren. Verwenden Sie die Windows PowerShell- oder Windows PowerShell ISE-Anwendung von Windows aus. Verwenden Sie folgende Befehle:
$cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $cer.Import(“mycer.cer”) $bin = $cer.GetRawCertData() $base64Value = [System.Convert]::ToBase64String($bin) $bin = $cer.GetCertHash() $base64Thumbprint = [System.Convert]::ToBase64String($bin) $keyid = [System.Guid]::NewGuid().ToString()
Schritt 2: Behalten Sie die im nächsten Schritt verwendeten Werte für $base64Thumbprint, $base64Value, und $keyid bei. Alle diese Werte werden dem JSON-Feld hinzugefügt, keyCredentialsda es standardmäßig wie folgt aussieht:
Verwenden Sie dazu die Werte in der folgenden Reihenfolge:
"keyCredentials": [ { “customKeyIdentifier“: “$base64Thumbprint_from_powerShell_for_PPAN”, “keyId“: “$keyid_from_above_PPAN“, "type": "AsymmetricX509Cert", "usage": "Verify", "value": "Base64 Encoded String of ISE PPAN cert" }, { “customKeyIdentifier“: “$base64Thumbprint_from_powerShell_for_SPAN”, “keyId“: “$keyid_from_above_SPAN“, "type": "AsymmetricX509Cert", "usage": "Verify", "value": "Base64 Encoded String of ISE SPAN cert" } ],
Schritt 3: Laden Sie die bearbeitete JSON Datei in Azure Portal hoch, um die aus den auf der ISE verwendeten Zertifikaten zu validierenkeyCredentials.
Es muss ähnlich aussehen:
Schritt 4: Beachten Sie, dass nach dem Upload das value Feld unter keyCredentials angezeigt wird, null da dies von Microsoft erzwungen wird, damit diese Werte nach dem ersten Upload nicht mehr angezeigt werden.
Die Werte, die zum Hinzufügen des MDM-Servers in der ISE erforderlich sind, können von Microsoft Azure AD Graph API Endpoint und OAUTH 2.0 Token Endpointkopiert werden.
Diese Werte müssen in die ISE-GUI eingegeben werden. Navigieren Sie zu Administration > Network Resources > External MDM und fügen Sie einen neuen Server hinzu:
ISE |
Intune |
URL für automatische Erkennung |
Endgeräte > Microsoft Azure AD Graph API-Endgeräte |
Client-ID |
{Registered-App-Name} > Anwendungs-ID |
Tokenausstellungs-URL |
Endpunkte > OAuth 2.0-Token-Endpunkt |
Nach Abschluss der Konfiguration wird der Status als aktiviert angezeigt.
Überprüfung und Fehlerbehebung
"Connection to the server failed" (Verbindung zum Server fehlgeschlagen), basierend auf sun.security.validator.ValidatorException
Schritt 1: Erfassen Sie das Support-Paket mit diesen Protokollen auf TRACE-Ebene:
portal (guest.log)
mdmportal (ise-psc.log)
external-mdm (ise-psc.log)
Schritt 2: Überprüfen Sie ise-psc.log die folgenden Protokolle:
2016-10-17 12:45:52,158 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmAzureActiveDirectoryClient -::::- ClientId - a46a6fd7-4a31-4471-9078-59cb2bb6a5ab, Token issuance endpoint - https://login
microsoftonline.com/273106dc-2878-42eb-b7c8-069dcf334687/oauth2/token, ResourceId/App Id uri - https://graph.windows.net
2016-10-17 12:45:52,329 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmCertAndKeyUtil -::::- Certificate Friendly Name -USMEM-AM01-ISE.Sncorp.smith-nephew.com#USMEM-AM01-ISE.Sncorp.smith-nephew.c
om#00003
2016-10-17 12:45:52,354 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmCertAndKeyUtil -::::- Result of command invocation
2016-10-17 12:45:52,363 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmCertAndKeyUtil -::::- Result of command invocation
2016-10-17 12:45:52,364 DEBUG [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmCertAndKeyUtil -::::- Successfuly decrypted private key
2016-10-17 12:45:52,794 ERROR [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmAzureActiveDirectoryClient -::::- There is a problem with the Azure certificates or ISE trust store. sun.security.validator
.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2016-10-17 12:45:52,794 ERROR [admin-http-pool9300][] cisco.cpm.mdm.authtoken.MdmAzureActiveDirectoryClient -::::- Unable to acquire access token from Azure
java.util.concurrent.ExecutionException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException
: unable to find valid certification path to requested target
Dies zeigt an, dass das auf dieser Seite vorliegende graph.microsoft.com Zertifikat importiert werden muss.
Schritt 3: Klicken Sie auf das lockerSymbol, und überprüfen Sie die Zertifikatdetails.
Schritt 4: Speichern Sie es in einer Datei im BASE64-Format und importieren Sie es in den ISE Trusted Store. Stellen Sie sicher, dass Sie die gesamte Zertifikatskette importieren. Testen Sie anschließend die Verbindung zum MDM-Server erneut.
Fehler beim Abrufen des Auth-Tokens aus Azure AD.
In der Regel tritt dieser Fehler auf, wenn die Manifestdatei JSON die falsche ISE-Zertifikatkette enthält. Bevor Sie die Manifestdatei in Azure hochladen, überprüfen Sie, ob mindestens diese Konfiguration vorhanden ist:
"keyCredentials": [ { “customKeyIdentifier“: “$base64Thumbprint_from_powerShell_for_PPAN”, “keyId“: “$keyid_from_above_PPAN“, "type": "AsymmetricX509Cert", "usage": "Verify", "value": "Base64 Encoded String of ISE PPAN cert" }, { “customKeyIdentifier“: “$base64Thumbprint_from_powerShell_for_SPAN”, “keyId“: “$keyid_from_above_SPAN“, "type": "AsymmetricX509Cert", "usage": "Verify", "value": "Base64 Encoded String of ISE SPAN cert" } } ],
Das vorherige Beispiel basiert auf einem Szenario mit PAN und SAN. Führen Sie die Skripte von PowerShell erneut aus, und importieren Sie die korrekten BASE64-Werte. Versuchen Sie, die Manifestdatei hochzuladen, und es dürfen keine Fehler auftreten.
$cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $cer.Import(“mycer.cer”) $bin = $cer.GetRawCertData() $base64Value = [System.Convert]::ToBase64String($bin) $bin = $cer.GetCertHash() $base64Thumbprint = [System.Convert]::ToBase64String($bin) $keyid = [System.Guid]::NewGuid().ToString()
Denken Sie daran, die Werte für $base64Thumbprint, $base64Value und $keyid wie im Abschnitt Konfigurieren beschrieben anzuwenden.
Fehler beim Abrufen des Auth-Tokens aus Azure AD.
Häufig tritt dieser Fehler auf, wenn der Azure-App in nicht die richtigen Berechtigungen erteilt portal.azure.comwerden. Vergewissern Sie sich, dass Ihre App die richtigen Attribute aufweist, und klicken Sie nach jeder Änderung auf die SchaltflächeGrant Permissions.
Diese Meldung wird angezeigt, wenn die ISE versucht, auf die Token Issuing URL zuzugreifen, und ein Zertifikat zurückgibt, das die ISE nicht zurückgibt. Stellen Sie sicher, dass sich die vollständige Zertifizierungsstellenkette im ISE-Vertrauensspeicher befindet. Wenn das Problem nach der Installation des richtigen Zertifikats im vertrauenswürdigen ISE-Speicher weiterhin besteht, führen Sie eine Paketerfassung durch, und testen Sie die Verbindung, um festzustellen, was gesendet wird.
Zugehörige Informationen