Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configurar la autenticación OAuth 2.0 para OneDrive
La autenticación OAuth 2.0 (OAUTH2) se autentica con un identificador de cliente de la aplicación y un secreto, junto con un token de actualización delegada. El conector usa el token de actualización para obtener los tokens de acceso que rastrean el contenido en el contexto delegado del usuario que ha iniciado sesión. La fuente de datos incluye el OneDrive contenido al que el usuario puede acceder: su propia unidad, además de cualquier unidad que haya compartido con él o a la que tenga acceso de administrador. SharePoint Las unidades a las que el usuario que ha iniciado sesión no puede acceder se omiten de forma silenciosa.
importante
Lo recomendamos Configurar la autenticación de Microsoft Entra App ID para OneDrive para la mayoría de las fuentes de datos. La autenticación OAuth 2.0 tiene las siguientes limitaciones:
-
Solo rastrea el OneDrive contenido al que puede acceder el usuario que ha iniciado sesión (su propia unidad de disco, además de cualquier unidad que haya compartido con él o a la que tenga acceso de administrador). SharePoint Las unidades a las que el usuario no puede acceder se omiten de forma silenciosa. Para rastrear todos los usuarios de OneDrive tu inquilino de manera uniforme, usa la autenticación Microsoft Entra App ID.
-
Requiere un token de actualización, que se obtiene mediante un único inicio de sesión de usuario (paso 4).
-
Los tokens de actualización tienen una Microsoft-side vida útil limitada. Cuando el token de actualización caduca o se revoca, las sincronizaciones fallan hasta que obtengas uno nuevo y actualices el secreto.
-
No admite el control de acceso a nivel de documento (ACL). Para filtrar los resultados de las consultas por permisos de usuario, utilice la autenticación Microsoft Entra App ID.
Requisitos previos
-
Acceso de administrador de Microsoft Entra ID para registrar una aplicación, conceder el consentimiento del administrador y crear un secreto de cliente.
-
Una cuenta de usuario de Microsoft 365 que tiene acceso al OneDrive contenido que quieres rastrear. Inicia sesión como este usuario una vez para obtener el token de actualización.
-
Su ID de inquilino de Microsoft 365.
Paso 1: Registrar la aplicación en Microsoft Entra ID
-
Inicie sesión en el Centro de administración de Microsoft Entra
. -
En el menú de navegación de la izquierda, expande Entra ID y selecciona Registros de aplicaciones.
-
Selecciona Nuevo registro.
-
En Nombre, introduzca un nombre descriptivo, como
bedrock-onedrive-oauth2. -
Para los tipos de cuentas compatibles, selecciona Solo cuentas de este directorio organizativo (arrendatario único).
-
En URI de redireccionamiento, selecciona Web como plataforma e ingresa
http://localhost:53672/callback. Este URI de redireccionamiento se utiliza cuando se obtiene un token de actualización en el paso 4. Puedes usar cualquier puerto localhost libre; si cambias el puerto aquí, usa el mismo puerto en el paso 4. -
Elija Registro.
-
En la página de descripción general de la aplicación, registre el ID de la aplicación (cliente) y el ID del directorio (inquilino).
Paso 2: Añade los permisos de la API y otorga el consentimiento del administrador
La autenticación de OAuth 2.0 utiliza un inicio de sesión delegado, por lo que la aplicación necesita permisos delegados, no permisos de aplicación.
-
En el registro de tu aplicación, selecciona Permisos de API y, a continuación, Añadir un permiso.
-
Selecciona Microsoft Graph y, a continuación, Permisos delegados.
-
Seleccione los siguientes permisos delegados y, a continuación, elija Agregar permisos:
Files.Read.All— lee los archivos a los que puede acceder el usuario.Sites.Read.All— leer los OneDrive sitios a los que puede acceder el usuario.User.Read.All— identificar al usuario.offline_access— obligatorio para que el inicio de sesión devuelva un token de actualización.
-
En la página de permisos de la API, selecciona Otorgar el consentimiento de administrador a [tu organización] y confirma.
Paso 3: Crea un secreto de cliente
-
En el registro de la aplicación, selecciona Certificados y secretos, luego Secretos de cliente y, por último, Nuevo secreto de cliente.
-
Introduce una descripción, selecciona una fecha de caducidad y selecciona Añadir.
-
Registre el valor secreto inmediatamente; solo se muestra una vez. Registre el valor, no el identificador secreto.
Paso 4: Obtenga un token de actualización
El conector necesita un token de actualización, que se obtiene mediante un único inicio de sesión de usuario. El siguiente procedimiento utiliza el flujo de códigos de autorización de OAuth 2.0 con una redirección de localhost, que funciona para los usuarios con autenticación multifactor (MFA). Para las cuentas de servicio que no son de MFA, al final se proporciona una alternativa más sencilla.
Flujo de códigos de autorización (recomendado)
-
Cree la URL de inicio de sesión. Sustituya los marcadores de posición por su ID de inquilino y el ID de la aplicación (cliente) del paso 1. Si usó un puerto localhost diferente en el paso 1, actualícelo
redirect_uripara que coincida.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 -
Inicia sesión. Abre la URL en un navegador e inicia sesión como el usuario de Microsoft 365 cuyo acceso deseas que utilice el conector. Completa cualquier desafío de MFA.
A continuación, el navegador redirige a la URL del servidor local, que no se carga (esto es de esperar porque no hay ninguna escucha en ese puerto). La barra de direcciones del navegador ahora contiene el URI de redireccionamiento seguido de un
codeparámetro, por ejemplo:.http://localhost:53672/callback?code=0.AXoA...&session_state=... -
Copia el código de autorización. En la barra de direcciones, copia el valor del
codeparámetro (todo lo que esté entrecode=y el siguiente&). El código es válido durante unos minutos; complete el paso 4 inmediatamente. -
Cambia el código por un token de actualización. Sustituya los marcadores de posición por su ID de inquilino, ID de aplicación (cliente), el secreto de cliente del paso 3 y el código de autorización que acaba de copiar.
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"La respuesta incluye un
refresh_token. Grábelo para el paso 5.
Credenciales de contraseña del propietario del recurso (alternativa para cuentas de servicio que no son de MFA)
Si tu cuenta no requiere MFA y no está sujeta a las políticas de acceso condicional que exigen el inicio de sesión interactivo, puedes saltarte el flujo del navegador e intercambiar directamente las credenciales del usuario por un token de actualización. Sustituya los marcadores de posición por sus valores, incluidos el UPN y la contraseña del usuario.
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"
La respuesta incluye un. refresh_token Grábelo para el paso 5. Este flujo no funciona para las cuentas a las que se aplica el MFA; en su lugar, utilice el flujo de códigos de autorización anterior.
Paso 5: Crea el secreto de Secrets Manager
Guarde las credenciales en un AWS Secrets Manager secreto con los siguientes pares clave-valor:
clientId— el ID de la aplicación (cliente) del paso 1.clientSecret— el valor secreto del cliente del paso 3.refreshToken— el token de actualización del paso 4.
{ "clientId": "your-client-id", "clientSecret": "your-client-secret", "refreshToken": "your-refresh-token" }
Crea el secreto con AWS Command Line Interface:
aws secretsmanager create-secret \ --namebedrock-onedrive-oauth2-creds\ --secret-string file://secret.json
Registre el ARN secreto de la respuesta. Se usa como fuente secretArn de datos.
nota
El OAUTH2 conector lee el token de actualización una vez de tu secreto y lo reutiliza en cada sincronización; no guarda el valor rotado que devuelve Microsoft. Planifica acuñar un nuevo token de actualización (paso 4) y actualizar el refreshToken campo de tu secreto antes de que caduque el actual. Si no actualizas el secreto a tiempo, las sincronizaciones fallarán y se producirá un error al actualizar el token hasta que lo hagas.
Siguientes pasos
Después de almacenar el secreto, cree la fuente de datos con el valor establecido en. authType OAUTH2 No se proporciona un certificado para este método. Consulte Conectar una fuente OneDrive de datos.