

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 de Microsoft Entra App ID para OneDrive
<a name="kb-managed-onedrive-entra-setup"></a>

La autenticación Microsoft Entra App ID (`ENTRA_APP_ID`) es el método de autenticación recomendado para una fuente de OneDrive datos. El conector rastrea el contenido con el flujo de credenciales de cliente de OAuth 2.0 (solo para aplicaciones), utilizando el identificador de cliente y el secreto de la aplicación, sin que el usuario inicie sesión. Este es el único método de autenticación que admite el control de acceso (ACL) a nivel de documento. Para ver una comparación con el `OAUTH2` método alternativo, consulte. [Métodos de autenticación](kb-managed-ds-onedrive.md#kb-managed-onedrive-auth-methods)

**nota**  
Solo se requiere un certificado cuando se habilita el control de acceso a nivel de documento. Para el rastreo exclusivo del contenido, el identificador y el secreto del cliente son las únicas credenciales que necesita el conector. Esto difiere de una fuente de SharePoint datos, en la que la App-Only autenticación de Microsoft Entra ID siempre requiere un certificado.

**Se requiere acceso administrativo**  
Esta configuración requiere un administrador de Microsoft Entra ID (administrador global o administrador de rol privilegiado) para registrar la aplicación, configurar los permisos y conceder el consentimiento del administrador. En la siguiente tabla de **pasos y funciones de configuración** se indica el acceso necesario para cada paso.

## Pasos y funciones de configuración
<a name="kb-managed-onedrive-entra-roles"></a>

Este procedimiento implica tanto a un administrador de Microsoft Entra ID como a un AWS administrador. Según cómo se dividan las responsabilidades en la organización, una o varias personas pueden completar estos pasos. Los pasos del certificado (pasos 4 a 6 y 8) solo se aplican cuando se habilita el control de acceso a nivel de documento. Utilice la siguiente tabla para identificar el acceso que requiere cada paso.


**Los pasos de configuración y el acceso que requiere cada uno**  

| Paso | ¿Qué haces | ¿Se necesita acceso | 
| --- | --- | --- | 
| 1. Registre la solicitud | Cree el registro de la aplicación Entra y registre sus ID de cliente e inquilino. | Administrador de Microsoft Entra ID (administrador global o administrador de rol privilegiado) | 
| 2. Añada permisos y otorgue el consentimiento | Asigne los permisos de la aplicación para su configuración y otorgue el consentimiento del administrador. | Administrador de Microsoft Entra ID | 
| 3. Cree un secreto de cliente | Cree un secreto de cliente para la aplicación y registre su valor. | Administrador de Microsoft Entra ID | 
| 4. Genere el certificado (solo ACL) | Cree un certificado autofirmado y un paquete PKCS \#12 (.p12) con OpenSSL. | Cualquier persona con un terminal local (se requiere OpenSSL) | 
| 5. Cargue el certificado público a Entra (solo ACL) | Añada el certificado público a las claves de registro de la aplicación. | Administrador de Microsoft Entra ID | 
| 6. Cargue el certificado en Amazon S3 (solo ACL) | Guarde el .p12 paquete en un depósito de Amazon S3. | AWS administrador (Amazon S3) | 
| 7. Cree el secreto | Guarde las credenciales en AWS Secrets Manager secreto. | AWS administrador (Secrets Manager) | 
| 8. Conceda al rol de servicio acceso al certificado (solo ACL) | Añada permisos de lectura de Amazon S3 a su función de servicio de base de conocimientos. | AWS administrador (IAM) | 

## Referencia de permisos
<a name="kb-managed-onedrive-entra-permissions"></a>

Asigne los permisos de aplicación que coincidan con su configuración. Todos los permisos son permisos de **aplicación** (no delegados) y todos requieren el consentimiento del administrador. **Para el rastreo exclusivo de contenido, el conector se autentica únicamente en Microsoft Graph.** Cuando el control de acceso a nivel de documento está habilitado, el conector también se autentica en la API **SharePoint**REST para verificar el acceso en el momento de la consulta, ya que for Business está respaldado por. OneDrive SharePoint

**importante**  
**Al añadir estos permisos al portal Entra, selecciona la pestaña Permisos de la **aplicación, no los permisos** delegados.** Application-only la autenticación utiliza los permisos de la aplicación.

Seleccione la pestaña de su configuración para ver los permisos exactos que debe asignar.

------
#### [ Content only (no ACLs) ]


**Solo contenido**  

| API | Permiso | Finalidad | 
| --- | --- | --- | 
| Microsoft Graph | Files.Read.All | Lee los archivos de las unidades de los usuarios. | 
| Microsoft Graph | Sites.Read.All | Lee los OneDrive sitios que respaldan las unidades de disco de los usuarios. | 
| Microsoft Graph | User.Read.All | Enumere los usuarios cuyas unidades rastrea. | 

------
#### [ With ACLs ]


**Con ACL**  

| API | Permiso | Finalidad | 
| --- | --- | --- | 
| Microsoft Graph | Files.Read.All | Lee los archivos de las unidades de los usuarios. | 
| Microsoft Graph | Sites.Read.All | Lee los OneDrive sitios que respaldan las unidades de disco de los usuarios. | 
| Microsoft Graph | User.Read.All | Enumere los usuarios y resuélvalos para las ACL a nivel de documento. | 
| Microsoft Graph | GroupMember.Read.All | Resuelva la pertenencia a grupos para las ACL a nivel de documento. | 
| SharePoint | Sites.FullControl.All | Compruebe el acceso de cada usuario a un documento en el momento de la consulta. Sites.Read.Allno es suficiente para esta comprobación. | 

------

**nota**  
El SharePoint `Sites.FullControl.All` permiso otorga a la aplicación conectora un amplio acceso a todos los sitios de su inquilino. Ofrézcalo únicamente a esta aplicación y proteja las credenciales de la aplicación en consecuencia.

## Valores que se recopilan durante la configuración
<a name="kb-managed-onedrive-entra-values"></a>

Los siguientes valores se crean o recopilan a medida que avanza en los pasos. Los usa al crear la fuente de datos. Para obtener más información, consulte [Conectar una fuente OneDrive de datos](kb-managed-ds-onedrive-connect.md).


**Referencia de valores**  

| Valor | Creado en | Utilizado para | 
| --- | --- | --- | 
| ID de aplicación (cliente) | Paso 1 | El secreto (clientId). | 
| ID de directorio (inquilino) | Paso 1 | La fuente de datostenantId. | 
| Valor del secreto de cliente | Paso 3 | El secreto (clientSecret). | 
| Certificado: paquete PKCS \#12 (.p12) y su contraseña (solo ACL) | Paso 4 | El paquete (certificado más clave privada) se carga en Amazon S3 (paso 6); la contraseña se guarda en el secreto (certificatePassword). | 
| Certificado: certificado público (.cer) (solo ACL) | Paso 4 | La mitad pública del mismo certificado, cargada en el registro de la aplicación Entra (paso 5). | 
| Nombre y clave del bucket de Amazon S3 (solo ACL) | Paso 6 | La fuente certificateS3Path de datos. | 
| ARN del secreto | Paso 7 | La fuente de datossecretArn. | 

## Paso 1: Registrar la aplicación en Microsoft Entra ID
<a name="kb-managed-onedrive-entra-step1"></a>

1. Inicie sesión en el [Centro de administración de Microsoft Entra](https://entra.microsoft.com/).

1. En el menú de navegación de la izquierda, expande **Entra ID** y selecciona **Registros de aplicaciones.**

1. Selecciona **Nuevo registro**.

1. En **Nombre**, introduzca un nombre descriptivo, como`bedrock-onedrive-connector`.

1. Para los **tipos de cuentas compatibles**, selecciona **Solo cuentas de este directorio organizativo (arrendatario único)**.

1. Deje el **URI de redireccionamiento** en blanco. No se requiere un URI de redireccionamiento porque la aplicación usa el flujo de credenciales del cliente, no un flujo de inicio de sesión interactivo.

1. Elija **Registro**.

1. 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**). Necesitará ambos más adelante.

## Paso 2: Agrega los permisos de la API y otorga el consentimiento del administrador
<a name="kb-managed-onedrive-entra-step2"></a>

Añada los permisos para su configuración desde[Referencia de permisos](#kb-managed-onedrive-entra-permissions).

1. En el registro de la aplicación, selecciona **Permisos de API** y, a continuación, **Añadir un permiso**.

1. Seleccione **Microsoft Graph** y, a continuación, **Permisos de aplicación**. Busque y seleccione cada permiso de Microsoft Graph para su configuración y, a continuación, elija **Agregar permisos**.

1. Si está habilitando el control de acceso a nivel de documento, vuelva a seleccionar **Añadir un permiso**. Elija **SharePoint**(en **API de Microsoft**) y, a continuación, **Permisos de aplicación**. Seleccione `Sites.FullControl.All` y, a continuación, elija **Agregar permisos**.

1. En la página de **permisos de la API**, selecciona **Otorgar el consentimiento del administrador a [tu organización]** y confirma. Sin el consentimiento del administrador, la aplicación no puede acceder a OneDrive los datos.

## Paso 3: Crea un secreto de cliente
<a name="kb-managed-onedrive-entra-step3"></a>

OneDrive El rastreo utiliza el identificador y el secreto de cliente de la aplicación, por lo que se requiere un secreto de cliente tanto para las fuentes de datos como para las que solo contienen contenido. ACL-enabled Cuando el control de acceso a nivel de documento está habilitado, el conector usa el secreto del cliente para obtener un token de Microsoft Graph que resuelve el OneDrive host del inquilino y el certificado (del paso 4) para obtener el SharePoint token utilizado para la verificación de acceso.

1. En el registro de la aplicación, selecciona **Certificados y secretos**, luego Secretos de **cliente y, por último**, **Nuevo secreto de cliente**.

1. Introduce una descripción, selecciona una fecha de caducidad y selecciona **Añadir**.

1. Registre el **valor** secreto inmediatamente; solo se muestra una vez. Registre el **valor**, no el **identificador secreto**.

## Paso 4 (solo ACL): generar el certificado de autenticación
<a name="kb-managed-onedrive-entra-step4"></a>

**nota**  
Este paso y los pasos 5, 6 y 8 se aplican solo si habilita el control de acceso a nivel de documento. Para rastrear solo el contenido, vaya a. [Paso 7: Crea el secreto de Secrets Manager](#kb-managed-onedrive-entra-step7)

Genere un certificado autofirmado y empaquételo como un paquete PKCS \#12 (). `.p12` El paquete contiene el certificado y su clave privada, protegidos por una contraseña. Debe cargar el certificado público en Entra (paso 5) y el `.p12` paquete en Amazon S3 (paso 6). Seleccione la pestaña de su sistema operativo para ver los comandos.

**nota**  
Amazon Bedrock lee la clave privada del `.p12` paquete para firmar las afirmaciones de autenticación, por lo que el paquete debe estar protegido con contraseña. Elija una contraseña segura y aleatoria; guárdela en secreto como en el paso 7. `certificatePassword`

------
#### [ Linux or macOS (OpenSSL) ]

**Genera una clave privada y un certificado autofirmado**

```
openssl req -x509 -newkey rsa:2048 -keyout private_key.pem -out certificate.cer \
    -days 365 -nodes \
    -subj "/CN={{bedrock-onedrive-connector}}"
```

**Package el certificado y la clave como un paquete PKCS \#12 (`.p12`)**

Introduzca una contraseña de exportación segura cuando se le pida. Grábala para el paso 7.

```
openssl pkcs12 -export -out certificate.p12 \
    -inkey private_key.pem -in certificate.cer
```

Ahora tiene tres archivos: la clave privada (`private_key.pem`), el certificado público (`certificate.cer`) y el paquete (`certificate.p12`). El certificado público se carga en Entra en el paso 5 y el `.p12` paquete en Amazon S3 en el paso 6.

------
#### [ Windows (PowerShell) ]

**Genere un certificado autofirmado**

Los siguientes PowerShell comandos generan un certificado autofirmado RSA de 2048 bits con un período de validez de un año y lo almacenan en el almacén de certificados del usuario actual. {{your-password}}Sustitúyala por una contraseña segura y aleatoria; guárdela en secreto como en el paso 7. `certificatePassword`

```
$cert = New-SelfSignedCertificate `
    -Subject "CN={{bedrock-onedrive-connector}}" `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -KeyAlgorithm RSA `
    -KeyLength 2048 `
    -KeyExportPolicy Exportable `
    -NotAfter (Get-Date).AddYears(1)
```

**Exporte el certificado público**

```
Export-Certificate -Cert $cert -FilePath certificate.cer -Type CERT
```

**Exporte el paquete PKCS \#12 (`.p12`)**

```
$password = ConvertTo-SecureString -String "{{your-password}}" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath certificate.p12 -Password $password
```

Ahora tiene dos archivos: el certificado público (`certificate.cer`) y el paquete (`certificate.p12`). El certificado público se carga en Entra en el paso 5 y el `.p12` paquete en Amazon S3 en el paso 6.

------

**importante**  
Guarde el `.p12` paquete en Amazon S3 (no en el `.cer` archivo `.pem` or). El paquete contiene la clave privada que Amazon Bedrock utiliza para autenticarse y verificar el acceso, así que guárdela de forma segura. SharePoint Document-level el control de acceso requiere el `.p12` formato.

**nota**  
De forma predeterminada, el certificado es válido durante un año. Un certificado caducado provoca errores en todas las sincronizaciones, así que rote el certificado antes de que caduque. Para cambiar el período de validez, ajuste la `-days` opción (OpenSSL) o `-NotAfter` el argumento (). PowerShell Para conocer los pasos de rotación, consulte. [Rota el certificado](kb-managed-ds-onedrive-troubleshooting.md#kb-managed-ds-onedrive-rotate-cert)

## Paso 5 (solo ACL): Cargue el certificado público a Entra
<a name="kb-managed-onedrive-entra-step5"></a>

1. En el registro de la aplicación, selecciona **Certificados y secretos y**, a continuación, selecciona la pestaña **Certificados**.

1. Selecciona **Cargar certificado** y selecciona el `certificate.cer` archivo que generaste en el paso 4 (solo el certificado público; nunca subas el `.p12` paquete o la clave privada a Entra).

1. Elija **Añadir**.

## Paso 6 (solo ACL): cargar el certificado en Amazon S3
<a name="kb-managed-onedrive-entra-step6"></a>

Sube el `.p12` paquete del paso 4 a un depósito de Amazon S3 en la misma AWS región que tu base de conocimientos. Registra el nombre y la clave del bucket; úsalos como fuente de datos`certificateS3Path`.

```
aws s3api put-object \
  --bucket {{your-certificate-bucket}} \
  --key {{certs/certificate.p12}} \
  --body certificate.p12 \
  --server-side-encryption AES256
```

**nota**  
Le recomendamos que habilite el cifrado del lado del servidor en el objeto de certificado y restrinja el depósito a las entidades principales que lo necesiten. El paquete contiene la clave privada.

## Paso 7: Crea el secreto de Secrets Manager
<a name="kb-managed-onedrive-entra-step7"></a>

Guarde las credenciales en AWS Secrets Manager secreto. Para la autenticación de Microsoft Entra App ID, incluye los siguientes pares clave-valor:
+ `clientId`(obligatorio): el ID de la aplicación (cliente) del paso 1.
+ `clientSecret`(obligatorio): el valor secreto del cliente del paso 3.
+ `certificatePassword`(solo se recomienda el control de acceso a nivel de documento): la contraseña que configuraste en el `.p12` paquete en el paso 4. Consulte la nota siguiente.

**Solo contenido (sin control de acceso a nivel de documento)**

```
{
    "clientId": "{{your-client-id}}",
    "clientSecret": "{{your-client-secret}}"
}
```

**Con control de acceso a nivel de documento**

```
{
    "clientId": "{{your-client-id}}",
    "clientSecret": "{{your-client-secret}}",
    "certificatePassword": "{{your-certificate-password}}"
}
```

Crea el secreto con: AWS Command Line Interface

```
aws secretsmanager create-secret \
  --name {{bedrock-onedrive-creds}} \
  --secret-string file://secret.json
```

Registre el ARN secreto de la respuesta. Se usa como fuente `secretArn` de datos.

**nota**  
Cuando el control de acceso a nivel de documento esté activado, `certificatePassword` configúrelo con la contraseña que utilizó al crear el `.p12` paquete en el paso 4. Si omite este campo, Amazon Bedrock abre el paquete con el ID de cliente de su aplicación como contraseña, por lo que el paquete debe haberse creado con el ID de cliente como contraseña. Le recomendamos que, en su lugar, establezca siempre una contraseña explícita y de alta entropía.

## Paso 8 (solo ACL): conceda al rol de servicio acceso al certificado
<a name="kb-managed-onedrive-entra-step8"></a>

Su función de servicio de base de conocimientos debe poder leer el objeto de certificado de Amazon S3. Añada la siguiente declaración a la política de permisos del rol y sustituya el nombre y la clave del bucket por sus valores.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "S3ListCertificateBucket",
            "Effect": "Allow",
            "Action": ["s3:ListBucket"],
            "Resource": ["arn:aws:s3:::{{your-certificate-bucket}}"],
            "Condition": {
                "StringEquals": { "aws:ResourceAccount": ["{{123456789012}}"] }
            }
        },
        {
            "Sid": "S3GetCertificate",
            "Effect": "Allow",
            "Action": ["s3:GetObject"],
            "Resource": [
                "arn:aws:s3:::{{your-certificate-bucket}}/{{certs/certificate.p12}}",
                "arn:aws:s3:::{{your-certificate-bucket}}/{{certs/certificate.p12}}.metadata.json"
            ],
            "Condition": {
                "StringEquals": { "aws:ResourceAccount": ["{{123456789012}}"] }
            }
        }
    ]
}
```

**nota**  
La política también permite el acceso de lectura a un `.metadata.json` archivo opcional junto con el certificado. Amazon Bedrock no requiere este archivo; si se incluye el permiso, se evitan errores de acceso si hay alguno.

**Si el objeto de certificado está cifrado con una clave AWS KMS**

El comando upload [Paso 6 (solo ACL): cargar el certificado en Amazon S3](#kb-managed-onedrive-entra-step6) utiliza el S3-managed cifrado de Amazon (`AES256`), que no necesita permisos adicionales. Si, por el contrario, cifra el objeto de certificado con el cifrado del lado del servidor de Amazon S3 mediante una clave de KMS administrada por el cliente (SSE-KMS), el rol de servicio también necesita `kms:Decrypt` permiso sobre esa clave y la política de la clave debe permitir que el rol lo use. Los objetos cifrados con la `aws/s3` clave AWS administrada no requieren esta concesión adicional.

```
{
    "Sid": "KmsDecryptCertificate",
    "Effect": "Allow",
    "Action": ["kms:Decrypt"],
    "Resource": ["arn:aws:kms:{{us-west-2}}:{{123456789012}}:key/{{your-key-id}}"]
}
```

Para ver el conjunto completo de permisos de rol de servicio de la base de conocimientos, consulte[Permisos de acceso a los orígenes de datos](kb-permissions.md#kb-permissions-access-ds).

## Siguientes pasos
<a name="kb-managed-onedrive-entra-next"></a>

Ahora tiene las credenciales que necesita para crear la fuente de datos: el ARN secreto, su ID de inquilino y (para el control de acceso a nivel de documento) la ubicación del certificado en Amazon S3. Para crear la fuente de OneDrive datos con la API Consola de administración de AWS o la API, consulte. [Conectar una fuente OneDrive de datos](kb-managed-ds-onedrive-connect.md)