Verwenden Sie einen benutzerdefinierten Telefonanbieter mit mehrstufiger Authentifizierung. Dies gilt für die in diesem Artikel beschriebenen Szenarios für MIM SSPR und PAM.
In diesem Artikel wird beschrieben, wie Sie MIM mit einem benutzerdefinierten Multi-Factor Authentication-Anbieter über eine API und ein vom Kunden entwickeltes SDK für die Integration verwenden.
Voraussetzungen
Um eine benutzerdefinierte mehrstufige Authentifizierungsanbieter-API mit MIM zu verwenden, benötigen Sie Folgendes:
Telefonnummern für alle Kandidatenbenutzer
MIM-Hotfix 4.5.202.0 oder höher: siehe Ankündigungen im Versionsverlauf
MIM-Dienst für SSPR oder PAM konfiguriert
Vorgehensweise mithilfe von Code für benutzerdefinierte mehrstufige Authentifizierung
Schritt 1: Stellen Sie sicher, dass der MIM-Dienst die Version 4.5.202.0 oder höher aufweist.
Laden Sie den MIM-Hotfix 4.5.202.0 oder höher herunter, und installieren Sie diesen.
Schritt 2: Erstellen Sie eine DLL, die die IPhoneServiceProvider-Schnittstelle implementiert.
Die DLL muss eine Klasse enthalten, die drei Methoden implementiert:
InitiateCall: Der MIM-Dienst ruft diese Methode auf. Der Dienst übergibt die Telefonnummer und Anforderung-ID als Parameter. Die Methode muss für den PhoneCallStatus-Wert Pending, Success oder Failed zurückgeben.
GetCallStatus: Wenn für einen früheren Aufruf von initiateCallPending zurückgegeben wurde, ruft der MIM-Dienst diese Methode auf. Diese Methode gibt für den PhoneCallStatus-Wert Pending, Success oder Failed zurück.
GetFailureMessage: Wenn für einen früheren Aufruf von InitiateCall oder GetCallStatusFailed zurückgegeben wurde, ruft der MIM-Dienst diese Methode auf. Diese Methode gibt eine diagnostische Meldung zurück.
Die Implementierungen dieser Methoden müssen threadsicher sein, und darüber hinaus müssen die Implementierung der GetCallStatus und GetFailureMessage darf nicht davon ausgehen, dass sie von demselben Thread wie ein früherer Aufruf InitiateCallaufgerufen werden.
Speichern Sie die DLL im C:\Program Files\Microsoft Forefront Identity Manager\2010\Service\-Verzeichnis.
Beispielcode, der mithilfe von Visual Studio 2010 oder höher erstellt werden kann.
C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Microsoft.IdentityManagement.PhoneServiceProvider;
namespaceCustomPhoneGate
{
publicclassCustomPhoneGate: IPhoneServiceProvider
{
string path = @"c:\Test\phone.txt";
public PhoneCallStatus GetCallStatus(string callId)
{
int res = 2;
foreach (string line in File.ReadAllLines(path))
{
var info = line.Split(newchar[] { ';' });
if (string.Compare(info[0], callId) == 0)
{
if (info.Length > 2)
{
bool b = Int32.TryParse(info[2], out res);
if (!b)
{
res = 2;
}
}
break;
}
}
switch(res)
{
case0:
return PhoneCallStatus.Pending;
case1:
return PhoneCallStatus.Success;
case2:
return PhoneCallStatus.Failed;
default:
return PhoneCallStatus.Failed;
}
}
publicstringGetFailureMessage(string callId)
{
string res = "Call ID is not found";
foreach (string line in File.ReadAllLines(path))
{
var info = line.Split(newchar[] { ';' });
if (string.Compare(info[0], callId) == 0)
{
if (info.Length > 2)
{
res = info[3];
}
else
{
res = "Description is not found";
}
break;
}
}
return res;
}
public PhoneCallStatus InitiateCall(string phoneNumber, Guid requestId, Dictionary<string,object> deliveryAttributes)
{
// Here should be some logic for performing voice call// For testing purposes we just write details in file string info = string.Format("{0};{1};{2};{3}", requestId, phoneNumber, 0, string.Empty);
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine(info);
}
return PhoneCallStatus.Pending;
}
}
}
Schritt 3: Speichern der vorhandenen MfaSettings
Sichern Sie die MfaSettings.xml im Ordner "C:\Program Files\Microsoft Forefront Identity Manager\2010\Service".
Schritt 4: Bearbeiten Sie die MfaSettings.xml-Datei.
Aktualisieren oder löschen Sie die folgenden Zeilen:
Alle Konfigurationeintragszeilen entfernen/löschen
Aktualisieren Sie die folgenden Zeilen, oder fügen Sie diese mit Ihrem benutzerdefinierten Telefonanbieter der MfaSettings.xml-Datei hinzu. <CustomPhoneProvider>C:\Program Files\Microsoft Forefront Identity Manager\2010\Service\CustomPhoneGate.dll</CustomPhoneProvider>
Schritt 5: Starten Sie den MIM-Dienst neu.
Verwenden Sie nach dem Neustart des Diensts SSPR und/oder PAM, um die Funktion mit dem benutzerdefinierten Identitätsanbieter zu überprüfen.
Hinweis
Ersetzen Sie zum Wiederherstellen Ihrer Einstellung MfaSettings.xml durch die Sicherungsdatei aus Schritt 3.
Die mehrstufige Authentifizierung trägt zum Schutz Ihrer Umgebung und Ihrer Ressourcen bei, indem Ihre Benutzer ihre Identität mit mehreren Authentifizierungsmethoden bestätigen müssen, z. B. durch einen Anruf, eine SMS, eine Benachrichtigung über eine mobile App oder ein Einmalkennwort. Sie können die mehrstufige Authentifizierung sowohl lokal als auch in der Cloud verwenden, um die Sicherheit für den Zugriff auf Microsoft Onlinedienste, Remotezugriffsanwendungen und vieles mehr zu verbessern. Dieser Lernp
Veranschaulichen der Features von Microsoft Entra ID, um Identitätslösungen zu modernisieren sowie Hybridlösungen und Identitätsgovernance zu implementieren
Richten Sie azure Multi-Factor Authentication Server als zweite Sicherheitsebene ein, wenn Ihre Benutzer Rollen in Privileged Access Management und Self Service Password Reset aktivieren.