Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Richten Sie die OAuth 2.0-Authentifizierung ein für OneDrive
Die OAuth 2.0-Authentifizierung (OAUTH2) authentifiziert sich mit einer Client-ID und einem geheimen Schlüssel der Anwendung zusammen mit einem delegierten Aktualisierungstoken. Der Connector verwendet das Aktualisierungstoken, um Zugriffstoken abzurufen, die Inhalte im delegierten Kontext des angemeldeten Benutzers crawlen. Die Datenquelle umfasst OneDrive Inhalte, auf die der Benutzer zugreifen kann — sein eigenes Laufwerk sowie alle Laufwerke, die mit ihm geteilt wurden oder auf die er Administratorzugriff hat. SharePoint Laufwerke, auf die der angemeldete Benutzer nicht zugreifen kann, werden automatisch übersprungen.
Wichtig
Wir empfehlen Richten Sie die Microsoft Entra App ID-Authentifizierung ein für OneDrive für die meisten Datenquellen. Die OAuth 2.0-Authentifizierung hat die folgenden Einschränkungen:
-
Es crawlt nur OneDrive Inhalte, auf die der angemeldete Benutzer zugreifen kann (sein eigenes Laufwerk sowie alle Laufwerke, die mit ihm geteilt wurden oder auf die er Administratorzugriff hat). SharePoint Laufwerke, auf die der Benutzer nicht zugreifen kann, werden automatisch übersprungen. Verwenden Sie die Microsoft Entra App ID-Authentifizierung, um alle Benutzer OneDrive in Ihrem Mandanten einheitlich zu crawlen.
-
Dazu ist ein Aktualisierungstoken erforderlich, das Sie durch eine einmalige Benutzeranmeldung (Schritt 4) erhalten.
-
Aktualisierungstoken haben eine begrenzte Lebensdauer Microsoft-side . Wenn das Aktualisierungstoken abläuft oder gesperrt wird, schlagen Synchronisierungen fehl, bis Sie ein neues erhalten und das Geheimnis aktualisieren.
-
Die Zugriffskontrolle auf Dokumentebene (ACLs) wird nicht unterstützt. Verwenden Sie die Microsoft Entra App ID-Authentifizierung, um Abfrageergebnisse nach Benutzerberechtigungen zu filtern.
Voraussetzungen
-
Microsoft Entra ID-Administratorzugriff, um eine Anwendung zu registrieren, die Zustimmung des Administrators zu erteilen und einen geheimen Clientschlüssel zu erstellen.
-
Ein Microsoft 365-Benutzerkonto, das Zugriff auf die OneDrive Inhalte hat, die Sie crawlen möchten. Sie melden sich einmal als dieser Benutzer an, um das Aktualisierungstoken zu erhalten.
-
Ihre Microsoft 365-Mandanten-ID.
Schritt 1: Registrieren Sie die Anwendung in Microsoft Entra ID
-
Melden Sie sich im Microsoft Entra Admin Center
an. -
Erweitern Sie in der linken Navigationsleiste Entra ID und wählen Sie App-Registrierungen aus.
-
Wählen Sie Neue Registrierung.
-
Geben Sie unter Name einen aussagekräftigen Namen ein, z. B.
bedrock-onedrive-oauth2 -
Wählen Sie unter Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis (Einzelmandant) aus.
-
Wählen Sie unter Umleitungs-URI die Option Web als Plattform aus und geben Sie ein
http://localhost:53672/callback. Sie verwenden diesen Umleitungs-URI, wenn Sie in Schritt 4 ein Aktualisierungstoken erhalten. Sie können jeden freien Localhost-Port verwenden. Wenn Sie den Port hier ändern, verwenden Sie denselben Port in Schritt 4. -
Wählen Sie Registrieren aus.
-
Notieren Sie sich auf der Seite mit der Anwendungsübersicht die Anwendungs-ID (Client) und die Verzeichnis-ID (Mandanten-ID).
Schritt 2: Fügen Sie API-Berechtigungen hinzu und erteilen Sie die Zustimmung des Administrators
Die OAuth 2.0-Authentifizierung verwendet eine delegierte Anmeldung, sodass die Anwendung delegierte Berechtigungen benötigt — keine Anwendungsberechtigungen.
-
Wählen Sie in Ihrer App-Registrierung API-Berechtigungen und dann Berechtigung hinzufügen aus.
-
Wählen Sie Microsoft Graph und dann Delegierte Berechtigungen.
-
Wählen Sie die folgenden delegierten Berechtigungen und anschließend Berechtigungen hinzufügen aus:
Files.Read.All— liest die Dateien, auf die der Benutzer zugreifen kann.Sites.Read.All— liest die OneDrive Seiten, auf die der Benutzer zugreifen kann.User.Read.All— den Benutzer identifizieren.offline_access— erforderlich, damit bei der Anmeldung ein Aktualisierungstoken zurückgegeben wird.
-
Wählen Sie auf der Seite mit den API-Berechtigungen die Option Administratorzustimmung für [Ihre Organisation] gewähren aus und bestätigen Sie.
Schritt 3: Erstellen Sie ein geheimes Kundenkonto
-
Wählen Sie in Ihrer App-Registrierung Certificates & Secrets, dann Client Secrets und dann New client secret aus.
-
Geben Sie eine Beschreibung ein, wählen Sie ein Ablaufdatum und klicken Sie auf Hinzufügen.
-
Notieren Sie den geheimen Wert sofort — er wird nur einmal angezeigt. Notieren Sie den Wert, nicht die geheime ID.
Schritt 4: Besorgen Sie sich ein Aktualisierungstoken
Der Connector benötigt ein Aktualisierungstoken, das Sie durch eine einmalige Benutzeranmeldung erhalten. Das folgende Verfahren verwendet den OAuth 2.0-Autorisierungscodefluss mit einer Localhost-Umleitung, die für Benutzer mit Multi-Faktor-Authentifizierung (MFA) funktioniert. Für Dienstkonten ohne MFA wird am Ende eine einfachere Alternative bereitgestellt.
Ablauf des Autorisierungscodes (empfohlen)
-
Erstellen Sie die Anmelde-URL. Ersetzen Sie die Platzhalter durch Ihre Mandanten-ID und die Anwendungs-ID (Client) aus Schritt 1. Wenn Sie in Schritt 1 einen anderen Localhost-Port verwendet haben, aktualisieren Sie ihn entsprechend
redirect_uri.https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/authorize?client_id=CLIENT_ID&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A53672%2Fcallback&response_mode=query&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default%20offline_access -
Melden Sie sich an. Öffnen Sie die URL in einem Browser und melden Sie sich als der Microsoft 365-Benutzer an, dessen Zugriff der Connector verwenden soll. Schließe eine beliebige MFA-Herausforderung ab.
Der Browser leitet dann zur Localhost-URL weiter, die nicht geladen wird (dies ist zu erwarten, da an diesem Port nichts lauscht). Die Adressleiste des Browsers enthält jetzt die Umleitungs-URI, gefolgt von einem
codeParameter, zum Beispiel:http://localhost:53672/callback?code=0.AXoA...&session_state=.... -
Kopieren Sie den Autorisierungscode. Kopieren Sie den Wert des
codeParameters aus der Adressleiste (alles dazwischencode=und dem nächsten&). Der Code ist einige Minuten gültig. Schließen Sie Schritt 4 sofort ab. -
Tauschen Sie den Code gegen ein Aktualisierungstoken aus. Ersetzen Sie die Platzhalter durch Ihre Mandanten-ID, Anwendungs-ID (Client), den geheimen Clientschlüssel aus Schritt 3 und den Autorisierungscode, den Sie gerade kopiert haben.
curl -s -X POST \ "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=authorization_code" \ -d "client_id=CLIENT_ID" \ -d "client_secret=CLIENT_SECRET" \ -d "code=AUTHORIZATION_CODE" \ -d "redirect_uri=http://localhost:53672/callback" \ -d "scope=https://graph.microsoft.com/.default offline_access"Die Antwort enthält eine
refresh_token. Nehmen Sie es für Schritt 5 auf.
Anmeldeinformationen für den Ressourcenbesitzer (Alternative für Dienstkonten ohne MFA)
Wenn für Ihr Konto keine MFA erforderlich ist und auch nicht den Richtlinien für bedingten Zugriff unterliegt, die eine interaktive Anmeldung erzwingen, können Sie den Browser-Flow überspringen und die Anmeldeinformationen des Benutzers direkt gegen ein Aktualisierungstoken austauschen. Ersetzen Sie die Platzhalter durch Ihre Werte, einschließlich UPN und Passwort des Benutzers.
curl -s -X POST \ "https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=password" \ -d "client_id=CLIENT_ID" \ -d "client_secret=CLIENT_SECRET" \ -d "username=USER_UPN" \ -d "password=USER_PASSWORD" \ -d "scope=https://graph.microsoft.com/.default offline_access"
Die Antwort enthält eine. refresh_token Nehmen Sie es für Schritt 5 auf. Dieser Ablauf funktioniert nicht für Konten, für die MFA erzwungen wurde. Verwenden Sie stattdessen den oben genannten Autorisierungscodefluss.
Schritt 5: Erstellen Sie das Secrets Manager Manager-Geheimnis
Speichern Sie die Anmeldeinformationen in einem AWS Secrets Manager geheimen Ordner mit den folgenden Schlüssel-Wert-Paaren:
clientId— die Anwendungs-ID (Client) aus Schritt 1.clientSecret— der geheime Client-Wert aus Schritt 3.refreshToken— das Aktualisierungstoken aus Schritt 4.
{ "clientId": "your-client-id", "clientSecret": "your-client-secret", "refreshToken": "your-refresh-token" }
Erstellen Sie das Geheimnis mit dem AWS Command Line Interface:
aws secretsmanager create-secret \ --namebedrock-onedrive-oauth2-creds\ --secret-string file://secret.json
Notieren Sie den geheimen ARN aus der Antwort. Sie verwenden es als DatenquellesecretArn.
Anmerkung
Der OAUTH2 Connector liest das Aktualisierungstoken einmal aus Ihrem Secret und verwendet es für jede Synchronisierung erneut. Der rotierte Wert, den Microsoft zurückgibt, wird nicht gespeichert. Planen Sie, ein neues Aktualisierungstoken zu erstellen (Schritt 4) und das refreshToken Feld in Ihrem Secret zu aktualisieren, bevor Ihr vorhandenes abläuft. Wenn Sie das Secret nicht rechtzeitig aktualisieren, schlagen Synchronisierungen mit einem Token-Aktualisierungsfehler fehl, bis Sie es tun.
Nächste Schritte
Nachdem Sie das Geheimnis gespeichert haben, erstellen Sie die Datenquelle mit der Einstellung auf. authType OAUTH2 Sie stellen kein Zertifikat für diese Methode bereit. Siehe Eine OneDrive Datenquelle Connect.