Freigeben über


Verwenden der reinen App-Authentifizierung mit der Microsoft Graph CLI

Die Microsoft Graph-Befehlszeilenschnittstelle (CLI) unterstützt zwei Arten der Authentifizierung: delegierten Zugriff und nur App-Zugriff. In diesem Thema wird die Konfiguration beschrieben, die zum Aktivieren des reinen App-Zugriffs erforderlich ist.

Hinweis

Nur-App-Zugriff gewährt Berechtigungen direkt für eine Anwendung und erfordert, dass ein Administrator den erforderlichen Berechtigungsbereichen zustimmt. Weitere Informationen finden Sie unter Microsoft Identity Plattform und OAuth 2.0 Client-Anmeldeinformationsablauf.

In diesem Thema konfigurieren Sie den reinen App-Zugriff für ein einfaches Skript zum Auflisten von Benutzern und Gruppen in Ihrem Microsoft 365-Mandanten.

Konfiguration

Bevor Sie den reinen App-Zugriff mit dem SDK verwenden können, benötigen Sie Folgendes:

  • Ein Zertifikat, das als Anmeldeinformationen für die Anwendung verwendet werden soll. Dies kann ein selbstsigniertes Zertifikat oder ein Zertifikat einer Zertifizierungsstelle sein. Ausführliche Informationen zum Erstellen eines selbstsignierten Zertifikats finden Sie im Abschnitt Verwandte Inhalte .
  • Registrieren Sie eine Anwendung in Microsoft Entra ID, konfigurieren Sie sie mit den Berechtigungsbereichen, die Ihr Szenario erfordert, und geben Sie den öffentlichen Schlüssel für Ihr Zertifikat frei.

Zertifikat

Sie benötigen ein X.509-Zertifikat, das im vertrauenswürdigen Speicher Ihres Benutzers auf dem Computer installiert ist, auf dem Sie das Skript ausführen. Außerdem müssen Sie den öffentlichen Schlüssel des Zertifikats im format .cer, PEM oder CRT exportieren. Sie benötigen den Wert des Zertifikatantragstellers oder dessen Fingerabdruck.

Registrieren der App

Sie können die Anwendung im Microsoft Entra Admin Center registrieren.

  1. Melden Sie sich beim Microsoft Entra Admin Centeran.

  2. Erweitern Sie das Menü >Identität und wählen Sie Anwendungen>App-Registrierungen>Neue Registrierung aus.

  3. Legen Sie auf der Seite Anwendung registrieren die Werte wie folgt fest.

    • Legen Sie Name auf Graph CLI App-Only fest.
    • Legen Sie Unterstützte Kontotypen auf Nur Konten in diesem Organisationsverzeichnis fest.
    • Lassen Sie den Umleitungs-URI leer.
  4. Wählen Sie Registrieren aus. Kopieren Sie auf der Seite Nur App-Only der Graph CLI die Werte der Anwendungs-ID (Client) und der Verzeichnis-ID (Mandant), und speichern Sie sie.

    Screenshot der Anwendungs-ID der neuen App-Registrierung

  5. Wählen Sie unter Verwalten die Option API-Berechtigungen aus. Wählen Sie Berechtigung hinzufügen aus.

  6. Wählen Sie Microsoft Graph und dann Anwendungsberechtigungen aus. Fügen Sie User.Read.All und Group.Read.All hinzu, und wählen Sie dann Berechtigungen hinzufügen aus.

  7. Entfernen Sie unter Konfigurierte Berechtigungen die delegierte Berechtigung User.Read unter Microsoft Graph , indem Sie ... rechts neben der Berechtigung auswählen und Berechtigung entfernen auswählen. Wählen Sie Ja, entfernen aus, um dies zu bestätigen.

  8. Wählen Sie die Schaltfläche Administratoreinwilligung erteilen für... und dann Ja aus, um die Administratoreinwilligung für die konfigurierten Anwendungsberechtigungen zu erteilen. Die Spalte Status in der Tabelle Konfigurierte Berechtigungen ändert sich in Gewährt für ....

    Screenshot der konfigurierten Berechtigungen mit erteilter Administratoreinwilligung

  9. Wählen Sie unter Verwalten die Option Zertifikate & Geheimnisse und dann die Registerkarte Zertifikate aus. Wählen Sie die Schaltfläche Zertifikat hochladen aus. Navigieren Sie zur Datei mit dem öffentlichen Schlüssel Ihres Zertifikats, und wählen Sie Hinzufügen aus.

Authentifizieren

Nach Abschluss der vorherigen Konfigurationsschritte sollten drei Informationen verfügbar sein:

  • Zertifikatantragsteller oder Fingerabdruck des Zertifikats, das in Ihre Microsoft Entra App-Registrierung hochgeladen wurde.
  • Anwendungs-ID für Ihre App-Registrierung.
  • Ihre Mandanten-ID.

Sie verwenden diese Informationen zum Testen der Authentifizierung. Öffnen Sie PowerShell, und führen Sie den folgenden Befehl aus, und ersetzen Sie dabei die Platzhalter durch Ihre Informationen.

mgc login --client-id YOUR_APP_ID --tenant-id YOUR_TENANT_ID --certificate-name "YOUR_CERT_SUBJECT" --strategy ClientCertificate

Alternativ können Sie den Zertifikatfingerabdruck anstelle des Antragstellers verwenden.

mgc login --client-id YOUR_APP_ID --tenant-id YOUR_TENANT_ID --certificate-thumb-print "YOUR_CERT_THUMBPRINT" --strategy ClientCertificate

Auflisten von Benutzern und Gruppen

Führen Sie den folgenden Befehl aus, um die ersten 50 Benutzer in Ihrem Mandanten aufzulisten, die als Tabelle formatiert sind.

mgc users list --select displayName,id --top 50 --output TABLE

Der Befehl gibt die Anzeigenamen und IDs der Benutzer in einer Tabelle zurück.

┌────────────────────────────────────┬──────────────────────────────────────────────────┐
│ displayName                        │ id                                               │
├────────────────────────────────────┼──────────────────────────────────────────────────┤
│ Conf Room Adams                    │ 70214bd8-c3eb-4ec4-8c3e-9027b2764c52             │
│ Adele Vance                        │ 05fb57bf-2653-4396-846d-2f210a91d9cf             │
│ MOD Administrator                  │ 965d30b5-f1ba-4f59-90f0-4d81dfb1aa42             │
│ Alex Wilber                        │ a36fe267-a437-4d24-b39e-7344774d606c             │
│ Allan Deyoung                      │ 54cebbaa-2c56-47ec-b878-c8ff309746b0             │
└────────────────────────────────────┴──────────────────────────────────────────────────┘

Führen Sie den folgenden Befehl aus, um die ersten 50 Gruppen in Ihrem Mandanten aufzulisten, die als JSON formatiert sind.

mgc groups list --select displayName,id --top 50

Der Befehl gibt die Anzeigenamen und IDs von Gruppen im JSON-Format zurück.

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups(displayName,id)",
  "value": [
    {
      "displayName": "Parents of Contoso",
      "id": "1a0405b3-57d1-48fc-ad18-6cb63b350826"
    },
    {
      "displayName": "Digital Initiative Public Relations",
      "id": "22cf3814-dbef-4eb0-abe3-759b320b7d76"
    },
    {
      "displayName": "Communications",
      "id": "268360c5-ad3a-44c0-b35c-cef473609d9d"
    },
    {
      "displayName": "Paralegals",
      "id": "2fb31b50-4c46-4ae9-8177-19347e68ce8e"
    },
    {
      "displayName": "Leadership",
      "id": "364fad81-7c37-455d-94bb-7d5a209c42fe"
    },
  ]
}

Abmelden

Melden Sie sich abschließend von der CLI ab.

mgc logout