Lernprogramm: Identifizieren und Beheben von Risiken mithilfe von Microsoft Graph-APIs

Azure AD Identity Protection bietet Organisationen Einblicke in identitätsbasierte Risiken und verschiedene Möglichkeiten, Risiken zu untersuchen und automatisch zu beheben. Die in diesem Lernprogramm verwendeten Identitätsschutz-APIs können Ihnen dabei helfen, Risiken zu erkennen und einen Workflow so zu konfigurieren, dass eine Kompromittierung bestätigt oder die Behebung aktiviert wird. Weitere Informationen finden Sie unter Was ist Risiko?

In diesem Lernprogramm erfahren Sie, wie Sie eine riskante Anmeldung generieren und den Risikostatus des Benutzers mit einer Richtlinie für bedingten Zugriff beheben, die eine mehrstufige Authentifizierung (MFA) erfordert. In einem optionalen Abschnitt erfahren Sie, wie Sie verhindern können, dass sich der Benutzer auch mithilfe einer Richtlinie für bedingten Zugriff anmeldet und das Benutzerrisiko ausblendet.

Hinweis

Die in diesem Lernprogramm gezeigten Antwortobjekte sind möglicherweise zur besseren Lesbarkeit gekürzt.

Voraussetzungen

Um dieses Lernprogramm erfolgreich abzuschließen, stellen Sie sicher, dass Sie über die erforderlichen Voraussetzungen verfügen:

  • Sie müssen über eine Azure AD Premium P1- oder P2-Lizenz verfügen, um die Risikoerkennungs-API verwenden zu können.
  • In diesem Lernprogramm wird der Tor-Browser verwendet, um sich anonym bei der Azure-Portal anzumelden. Sie können einen beliebigen anonymen Browser verwenden, um die Aufgabe zu erledigen. Informationen zum Herunterladen des Tor-Browsers finden Sie unter "Tor-Browser herunterladen".
  • In diesem Lernprogramm wird davon ausgegangen, dass Sie Microsoft Graph-Tester verwenden, Sie können jedoch auch Postman verwenden oder eine eigene Client-App erstellen, um Microsoft Graph aufzurufen. Zum Aufrufen der Microsoft Graph-APIs in diesem Lernprogramm müssen Sie ein Konto mit einer globalen Administratorrolle und den entsprechenden Berechtigungen verwenden. Führen Sie die folgenden Schritte aus, um Berechtigungen im Microsoft Graph-Tester festzulegen:
    1. Starten Sie Microsoft Graph-Tester.

    2. Wählen Sie Anmeldung mit Microsoft aus, und melden Sie sich mit einem globalen Azure AD-Administratorkonto an. Nach der erfolgreichen Anmeldung werden die Details des Benutzerkontos im linken Bereich angezeigt.

    3. Wählen Sie das Symbol "Einstellungen" rechts neben den Details des Benutzerkontos aus, und wählen Sie dann Berechtigungen auswählen.

      Berechtigungen festlegen

    4. Scrollen Sie durch die Liste der Berechtigungen für diese Berechtigungen:

      • IdentityRiskEvents (2), erweitern sie, und wählen Sie dann IdentityRiskEvent.Read.All
      • IdentityRiskyUser (2), erweitern und wählen Sie dann IdentityRiskyUser.ReadWrite.All
      • Richtlinie (13), erweitern und dann auswählen Policy.Read.All und Policy.ReadWrite.ConditionalAccess
      • Benutzer (8), erweitern und dann auswählen User.ReadWrite.All

      Nach Berechtigungen suchen

    5. Wählen Sie Zustimmung aus, und wählen Sie dann Annehmen aus, um die Zustimmung zu den Berechtigungen zu erteilen. Sie müssen diesen Berechtigungen nicht im Namen Ihrer Organisation zustimmen.

      Akzeptieren von Berechtigungen

Schritt 1: Erstellen eines Benutzerkontos

In diesem Lernprogramm erstellen Sie ein Benutzerkonto, das zum Testen von Risikoerkennungen verwendet wird. Ändern Sie contoso.com im Anforderungstext den Domänennamen Ihres Mandanten. Mandanteninformationen finden Sie auf der Azure Active Directory-Übersichtsseite.

Anforderung

POST https://graph.microsoft.com/v1.0/users
Content-type: application/json

{
  "accountEnabled":true,
  "displayName":"MyTestUser1",
  "mailNickname":"MyTestUser1",
  "userPrincipalName":"MyTestUser1@contoso.com",
  "passwordProfile": {
    "forceChangePasswordNextSignIn":true,
    "password":"Contoso1234"
  }
}

Antwort

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
  "id": "4628e7df-dff3-407c-a08f-75f08c0806dc",
  "businessPhones": [],
  "displayName": "MyTestUser1",
  "givenName": null,
  "jobTitle": null,
  "mail": null,
  "mobilePhone": null,
  "officeLocation": null,
  "preferredLanguage": null,
  "surname": null,
  "userPrincipalName": "MyTestUser1@contoso.com"
}

Schritt 2: Auslösen einer Risikoerkennung

Auslösen einer Risikoerkennung

Eine Möglichkeit, eine Risikoerkennung für ein Benutzerkonto auszulösen, besteht darin, sich anonym bei der Azure-Portal anzumelden. In diesem Lernprogramm wird der Tor-Browser verwendet, um sich anonym anzumelden.

  1. Öffnen Sie den Browser, und geben Sie portal.azure.com die Websiteadresse ein.
  2. Melden Sie sich mit den Anmeldeinformationen für das zuvor erstellte MyTestUser1-Konto beim Portal an. Sie werden aufgefordert, das vorhandene Kennwort zu ändern.

Auflisten von Risikoerkennungen

Wenn Sie sich mit dem anonymen Browser bei der Azure-Portal angemeldet haben, wurde ein anonymizedIPAddress Risikoereignis erkannt. Sie können den $filter Abfrageparameter verwenden, um nur die Risikoerkennungen abzurufen, die dem MyTestUser1-Benutzerkonto zugeordnet sind.

Anforderung

GET https://graph.microsoft.com/v1.0/identityProtection/riskDetections?$filter=userDisplayName eq 'MyTestUser1'

Antwort

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#riskDetections",
  "value": [
    {
      "id": "d52a631815aaa527bf642b196715da5cf0f35b6879204ea5b5c99b21bd4c16f4",
      "requestId": "06f7fd18-b8f1-407d-86a3-f6cbe3a4be00",
      "correlationId": "2a38abff-5701-4073-a81e-fd3aac09cba3",
      "riskType": "anonymizedIPAddress",
      "riskEventType": "anonymizedIPAddress",
      "riskState": "atRisk",
      "riskLevel": "medium",
      "riskDetail": "none",
      "source": "IdentityProtection",
      "detectionTimingType": "realtime",
      "activity": "signin",
      "tokenIssuerType": "AzureAD",
      "ipAddress": "178.17.170.23",
      "activityDateTime": "2020-11-03T20:51:34.6245276Z",
      "detectedDateTime": "2020-11-03T20:51:34.6245276Z",
      "lastUpdatedDateTime": "2020-11-03T20:53:12.1984203Z",
      "userId": "4628e7df-dff3-407c-a08f-75f08c0806dc",
      "userDisplayName": "MyTestUser1",
      "userPrincipalName": "MyTestUser1@contoso.com",
      "additionalInfo": "[{\"Key\":\"userAgent\",\"Value\":\"Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0\"}]",
      "location": {
        "city": "Chisinau",
        "state": "Chisinau",
        "countryOrRegion": "MD",
        "geoCoordinates": {
          "latitude": 47.0269,
          "longitude": 28.8416
        }
      }
    }
  ]
}

Hinweis

Es kann einige Minuten dauern, bis das Ereignis zurückgegeben wird.

Schritt 3: Erstellen einer Richtlinie für bedingten Zugriff

Sie können Richtlinien für bedingten Zugriff in Ihrer Organisation nutzen, damit Benutzer sich selbst beheben können, wenn Risiken erkannt werden. Die Selbstbehebung ermöglicht es Ihren Benutzern, die Blockierung für den sicheren Zugriff auf ihre Ressourcen nach Abschluss der Richtlinienaufforderung aufzuheben. In diesem Schritt erstellen Sie eine Richtlinie für bedingten Zugriff, die erfordert, dass sich der Benutzer mit MFA anmeldet, wenn eine Erkennung mit mittlerem oder hohem Risiko auftritt.

Einrichten der mehrstufigen Authentifizierung

Beim Einrichten eines Kontos für MFA können Sie aus mehreren Methoden zur Authentifizierung des Benutzers auswählen. Wählen Sie die beste Methode für Ihre Situation aus, um dieses Lernprogramm abzuschließen.

  1. Melden Sie sich mit dem MyTestUser1-Konto an, um Die Sichere Website Ihres Kontos beizubehalten.
  2. Führen Sie das MFA-Einrichtungsverfahren mithilfe der geeigneten Methode für Ihre Situation aus, z. B. das Senden einer SMS an Ihr Telefon.

Erstellen der Richtlinie für bedingten Zugriff

Die Richtlinie für bedingten Zugriff bietet die Möglichkeit, die Bedingungen der Richtlinie festzulegen, um Anmelderisikostufen zu identifizieren. Risikostufen können , low``medium, high, none. In der Antwort, die von der Auflistung der Risikoerkennungen für MyTestUser1 zurückgegeben wurde, können wir sehen, dass die Risikostufe ist medium. In diesem Beispiel wird gezeigt, wie MFA für MyTestUser1 erforderlich ist, der als riskanter Benutzer identifiziert wurde.

Anforderung

POST https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies 
Content-type: application/json
 
{ 
  "displayName": "Policy for risky sign-in", 
  "state": "enabled", 
  "conditions": { 
    "signInRiskLevels": [ 
      "high", 
      "medium" 
    ], 
    "applications": { 
      "includeApplications": ["All"]
    }, 
    "users": { 
      "includeUsers": [ 
        "4628e7df-dff3-407c-a08f-75f08c0806dc" 
      ] 
    } 
  }, 
  "grantControls": { 
    "operator": "OR", 
    "builtInControls": [ 
      "mfa" 
    ] 
  } 
} 

Antwort

{ 
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identity/conditionalAccess/policies/$entity", 
  "id": "9ad78153-b1f8-4714-adc1-1445727678a8", 
  "displayName": "Policy for risky sign-in", 
  "createdDateTime": "2020-11-03T20:56:38.6210843Z", 
  "modifiedDateTime": null, 
  "state": "enabled", 
  "sessionControls": null, 
  "conditions": { 
    "signInRiskLevels": [ 
      "high", 
      "medium" 
    ], 
    "clientAppTypes": [  
      "all"  
    ], 
    "platforms": null, 
    "locations": null, 
    "applications": { 
      "includeApplications": [ 
        "All" 
      ], 
      "excludeApplications": [], 
      "includeUserActions": [] 
    }, 
    "users": { 
      "includeUsers": [ 
        "4628e7df-dff3-407c-a08f-75f08c0806dc" 
      ], 
      "excludeUsers": [], 
      "includeGroups": [], 
      "excludeGroups": [], 
      "includeRoles": [], 
      "excludeRoles": [] 
    } 
  }, 
  "grantControls": { 
    "operator": "OR", 
    "builtInControls": [ 
      "mfa" 
    ], 
    "customAuthenticationFactors": [], 
    "termsOfUse": [] 
  } 
} 

Mit dieser Richtlinie für bedingten Zugriff ist das MyTestUser1-Konto jetzt für die Verwendung von MFA bei der Anmeldung erforderlich, da das Anmelderisiko mittel oder hoch ist.

Anmelden und abschließen der mehrstufigen Authentifizierung

Durch die Anmeldung beim anonymen Browser wird ein Risiko erkannt, aber es wird durch Abschluss der MFA behoben.

  1. Öffnen Sie den Browser, und geben Sie portal.azure.com die Websiteadresse ein.
  2. Melden Sie sich mit den Anmeldeinformationen für das MyTestUser1-Konto beim Portal an, und schließen Sie den MFA-Prozess ab.

Auflisten von Risikoerkennungen

Da MFA abgeschlossen wurde. Wenn Sie nun Risikoerkennungen auflisten, zeigt riskState das Ereignis als remediatedan.

Anforderung

GET https://graph.microsoft.com/v1.0/identityProtection/riskDetections?$filter=userDisplayName eq 'MyTestUser1'

Antwort

{
  "id": "ba9d45f16d8f87f6ae974efda7336b2120962a398cb362dfd9e5bdc8e9d149d0",
  "requestId": "156c01fb-31cf-4a10-b9a9-beee93e6a400",
  "correlationId": "a8aaac45-fe22-46df-babf-10a8dba85d62",
  "riskType": "anonymizedIPAddress",
  "riskEventType": "anonymizedIPAddress",
  "riskState": "remediated",
  "riskLevel": "medium",
  "riskDetail": "userPassedMFADrivenByRiskBasedPolicy",
  "source": "IdentityProtection",
  "detectionTimingType": "realtime",
  "activity": "signin",
  "tokenIssuerType": "AzureAD",
  "ipAddress": "185.220.101.213",
  "activityDateTime": "2020-11-12T23:45:22.4092789Z",
  "detectedDateTime": "2020-11-12T23:45:22.4092789Z",
  "lastUpdatedDateTime": "2020-11-12T23:47:57.7831423Z",
  "userId": "4b608561-9258-44ba-8cdb-3286dcbf0e3b",
  "userDisplayName": "MyTestUser1",
  "userPrincipalName": "MyTestUser1@contoso.com",
    "additionalInfo": "[{\"Key\":\"userAgent\",\"Value\":\"Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0\"}]",
  "location": {
    "city": "Schoenwalde-Glien",
    "state": "Brandenburg",
    "countryOrRegion": "DE",
    "geoCoordinates": {
      "latitude": 52.61983,
      "longitude": 13.12743
    }
  }
}

Schritt 4: Blockieren der Anmeldung des Benutzers (optional)

Anstatt dem Benutzer die Möglichkeit zu geben, sich selbst zu korrigieren, können Sie die Anmeldung des Benutzers blockieren. In diesem Schritt erstellen Sie eine neue Richtlinie für bedingten Zugriff, die verhindert, dass sich der Benutzer anmeldet, wenn eine Erkennung mit mittlerem oder hohem Risiko auftritt. Der Unterschied bei Richtlinien besteht darin, dass die builtInControls auf blockfestgelegt ist.

Anforderung

POST https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies
Content-type: application/json

{
  "displayName": "Policy for risky sign-in block access",
  "state": "enabled",
  "conditions": {
    "signInRiskLevels": [
      "high",
      "medium"
    ],
    "applications": {
      "includeApplications": ["All"]
    },
    "users": {
      "includeUsers": [
        "4628e7df-dff3-407c-a08f-75f08c0806dc"
      ]
    }
  },
  "grantControls": {
    "operator": "OR",
    "builtInControls": [
      "block"
    ]
  }
}

Antwort

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identity/conditionalAccess/policies/$entity",
  "id": "9ad78153-b1f8-4714-adc1-1445727678a8",
  "displayName": "Policy for risky sign-in block access",
  "createdDateTime": "2020-11-03T20:56:38.6210843Z",
  "modifiedDateTime": null,
  "state": "enabled",
  "sessionControls": null,
  "conditions": {
    "signInRiskLevels": [
      "high",
      "medium"
    ],
    "clientAppTypes": [ 
      "all" 
    ],
    "platforms": null,
    "locations": null,
    "applications": {
      "includeApplications": [
        "All"
      ],
      "excludeApplications": [],
      "includeUserActions": []
    },
    "users": {
      "includeUsers": [
        "4628e7df-dff3-407c-a08f-75f08c0806dc"
      ],
      "excludeUsers": [],
      "includeGroups": [],
      "excludeGroups": [],
      "includeRoles": [],
      "excludeRoles": []
    }
  },
  "grantControls": {
    "operator": "OR",
    "builtInControls": [
      "block"
    ],
    "customAuthenticationFactors": [],
    "termsOfUse": []
  }
}

Mit dieser Richtlinie für bedingten Zugriff ist das MyTestUser1-Konto jetzt für die Anmeldung gesperrt, da die Anmelderisikostufe gleich ist medium oder high.

Blockierte Anmeldung

Schritt 5: Schließen riskanter Benutzer

Wenn Sie glauben, dass der Benutzer nicht gefährdet ist und Sie keine Richtlinie für bedingten Zugriff erzwingen möchten, können Sie den riskanten Benutzer manuell schließen.

Schließen des riskanten Benutzers

Anforderung

POST https://graph.microsoft.com/v1.0/identityProtection/riskyUsers/dismiss
Content-Type: application/json

{
  "userIds": [
    "4628e7df-dff3-407c-a08f-75f08c0806dc"
  ]
}

Antwort

HTTP/1.1 204 No Content

Riskante Benutzer auflisten

Nach dem Schließen des Risikobenutzers können Sie in der Antwort sehen, wenn Sie riskante Benutzer auflisten, dass das Benutzerkonto "MyTestUser1 " jetzt eine Risikostufe von none und einen "riskState" von aufweist dismissed.

Anforderung

GET https://graph.microsoft.com/v1.0/identityProtection/riskyUsers?$filter=userDisplayName eq 'MyTestUser1'

Antwort

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#riskyUsers",
  "value": [
    {
      "id": "4628e7df-dff3-407c-a08f-75f08c0806dc",
      "isDeleted": false,
      "isProcessing": false,
      "riskLevel": "none",
      "riskState": "dismissed",
      "riskDetail": "adminDismissedAllRiskForUser",
      "riskLastUpdatedDateTime": "2020-11-03T21:48:53.4298425Z",
      "userDisplayName": "MyTestUser1",
      "userPrincipalName": "MyTestUser1@contoso.com"
    }
  ]
}

Schritt 6: Bereinigen von Ressourcen

In diesem Schritt entfernen Sie die Ressourcen, die Sie erstellt haben.

Löschen Sie das Benutzerkonto.

Löschen Sie das Benutzerkonto "MyTestUser1 ".

Anforderung

DELETE https://graph.microsoft.com/v1.0/users/4628e7df-dff3-407c-a08f-75f08c0806dc

Antwort

No Content - 204

Löschen der Richtlinie für bedingten Zugriff

Löschen Sie die von Ihnen erstellte Richtlinie für bedingten Zugriff.

Anforderung

DELETE https://graph.microsoft.com/v1.0/groups/9ad78153-b1f8-4714-adc1-1445727678a8

Antwort

No Content - 204

Siehe auch

In diesem Lernprogramm haben Sie viele APIs zum Ausführen von Aufgaben verwendet. In der API-Referenz für diese APIs erfahren Sie mehr darüber, was die APIs tun können.