

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar a autenticação Microsoft Entra App ID para OneDrive
<a name="kb-managed-onedrive-entra-setup"></a>

A autenticação Microsoft Entra App ID (`ENTRA_APP_ID`) é o método de autenticação recomendado para uma fonte OneDrive de dados. O conector rastreia o conteúdo com o fluxo de credenciais do cliente do OAuth 2.0 (somente do aplicativo), usando o ID do cliente e o segredo do seu aplicativo — nenhum login de usuário está envolvido. Esse é o único método de autenticação que oferece suporte ao controle de acesso (ACLs) em nível de documento. Para uma comparação com o `OAUTH2` método alternativo, consulte[Métodos de autenticação](kb-managed-ds-onedrive.md#kb-managed-onedrive-auth-methods).

**nota**  
Um certificado é necessário somente quando você ativa o controle de acesso em nível de documento. Para rastreamento somente de conteúdo, o ID do cliente e o segredo são as únicas credenciais de que o conector precisa. Isso difere de uma fonte de SharePoint dados, na qual a App-Only autenticação Microsoft Entra ID sempre exige um certificado.

**Acesso administrativo necessário**  
Essa configuração requer que um administrador do Microsoft Entra ID (administrador global ou administrador de função privilegiada) registre o aplicativo, configure as permissões e conceda o consentimento do administrador. A tabela **de etapas e funções de configuração** abaixo identifica o acesso necessário para cada etapa.

## Etapas e funções de configuração
<a name="kb-managed-onedrive-entra-roles"></a>

Esse procedimento envolve um administrador do Microsoft Entra ID e um AWS administrador. Dependendo de como as responsabilidades são divididas em sua organização, uma pessoa ou várias pessoas podem concluir essas etapas. As etapas do certificado (etapas 4 a 6 e 8) se aplicam somente quando você ativa o controle de acesso em nível de documento. Use a tabela a seguir para identificar o acesso que cada etapa exige.


**Etapas de configuração e o acesso que cada uma requer**  

| Etapa | O que você faz | Acesso necessário | 
| --- | --- | --- | 
| 1. Registre o aplicativo | Crie o registro do aplicativo Entra e registre seus IDs de cliente e inquilino. | Administrador do Microsoft Entra ID (administrador global ou administrador de função privilegiada) | 
| 2. Adicione permissões e conceda consentimento | Atribua as permissões do aplicativo para sua configuração e conceda o consentimento do administrador. | Administrador do Microsoft Entra ID | 
| 3. Crie um segredo de cliente | Crie um segredo de cliente para o aplicativo e registre seu valor. | Administrador do Microsoft Entra ID | 
| 4. Gere o certificado (somente ACLs) | Crie um certificado autoassinado e um pacote PKCS \#12 (.p12) com o OpenSSL. | Qualquer pessoa com um terminal local (é necessário o OpenSSL) | 
| 5. Carregue o certificado público para o Entra (somente ACLs) | Adicione o certificado público às chaves de registro do aplicativo. | Administrador do Microsoft Entra ID | 
| 6. Faça o upload do certificado para o Amazon S3 (somente ACLs) | Armazene o .p12 pacote em um bucket do Amazon S3. | AWS administrador (Amazon S3) | 
| 7. Criar o segredo | Armazene as credenciais em AWS Secrets Manager segredo. | AWS administrador (Secrets Manager) | 
| 8. Conceda à função de serviço acesso ao certificado (somente ACLs) | Adicione permissões de leitura do Amazon S3 à sua função de serviço da base de conhecimento. | AWS administrador (IAM) | 

## Referência de permissões
<a name="kb-managed-onedrive-entra-permissions"></a>

Atribua as permissões do aplicativo que correspondem à sua configuração. Todas as permissões são permissões de **aplicativos** (não delegadas) e todas exigem o consentimento do administrador. **Para rastreamento somente de conteúdo, o conector é autenticado somente no Microsoft Graph.** Quando o controle de acesso em nível de documento é ativado, o conector também se autentica na API **SharePoint**REST para verificar o acesso no momento da consulta, porque o OneDrive for Business é apoiado por. SharePoint

**Importante**  
Ao adicionar essas permissões no portal Entra, escolha a guia **Permissões do aplicativo**, não **Permissões delegadas**. Application-only a autenticação usa permissões do aplicativo.

Selecione a guia da sua configuração para ver as permissões exatas a serem atribuídas.

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


**Somente conteúdo**  

| solicitações de | Permissão | Finalidade | 
| --- | --- | --- | 
| Microsoft Graph | Files.Read.All | Leia os arquivos nos drives dos usuários. | 
| Microsoft Graph | Sites.Read.All | Leia os OneDrive sites que respaldam os discos dos usuários. | 
| Microsoft Graph | User.Read.All | Enumere os usuários cujos drives você rastreia. | 

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


**Com ACLs**  

| solicitações de | Permissão | Finalidade | 
| --- | --- | --- | 
| Microsoft Graph | Files.Read.All | Leia os arquivos nos drives dos usuários. | 
| Microsoft Graph | Sites.Read.All | Leia os OneDrive sites que respaldam os discos dos usuários. | 
| Microsoft Graph | User.Read.All | Enumere os usuários e resolva-os para ACLs em nível de documento. | 
| Microsoft Graph | GroupMember.Read.All | Resolva a associação ao grupo para ACLs em nível de documento. | 
| SharePoint | Sites.FullControl.All | Verifique o acesso de cada usuário a um documento no momento da consulta. Sites.Read.Allnão é suficiente para essa verificação. | 

------

**nota**  
A SharePoint `Sites.FullControl.All` permissão concede ao aplicativo do conector amplo acesso aos sites do seu locatário. Conceda-o somente a esse aplicativo e proteja adequadamente as credenciais do aplicativo.

## Valores que você coleta durante a configuração
<a name="kb-managed-onedrive-entra-values"></a>

Você cria ou coleta os seguintes valores à medida que avança nas etapas. Você os usa ao criar a fonte de dados. Para obter detalhes, consulte [Conectar uma fonte OneDrive de dados](kb-managed-ds-onedrive-connect.md).


**Referência de valores**  

| Valor | Criado em | Usado para | 
| --- | --- | --- | 
| ID da aplicação (cliente) | Etapa 1 | O segredo (clientId). | 
| ID do diretório (locatário) | Etapa 1 | A fonte de dadostenantId. | 
| Valor do segredo do cliente | Etapa 3 | O segredo (clientSecret). | 
| Certificado — PKCS \#12 bundle (.p12) e sua senha (somente ACLs) | Etapa 4 | O pacote (certificado mais chave privada) é carregado no Amazon S3 (Etapa 6); a senha é armazenada no segredo certificatePassword (). | 
| Certificado — certificado público (.cer) (somente ACLs) | Etapa 4 | A metade pública do mesmo certificado, enviada para o registro do aplicativo Entra (Etapa 5). | 
| Nome e chave do bucket Amazon S3 (somente ACLs) | Etapa 6 | A fonte de dadoscertificateS3Path. | 
| ARN do segredo | Etapa 7 | A fonte de dadossecretArn. | 

## Etapa 1: registrar o aplicativo no Microsoft Entra ID
<a name="kb-managed-onedrive-entra-step1"></a>

1. Faça login no [centro de administração do Microsoft Entra](https://entra.microsoft.com/).

1. No painel de navegação à esquerda, expanda **Entra ID** e escolha **Registros de aplicativos.**

1. Escolha **Novo registro**.

1. Em **Nome**, insira um nome descritivo, como`bedrock-onedrive-connector`.

1. Para **Tipos de conta compatíveis**, selecione **Contas somente neste diretório organizacional (inquilino único)**.

1. Deixe o **URI de redirecionamento** em branco. Um URI de redirecionamento não é necessário porque o aplicativo usa o fluxo de credenciais do cliente, não um fluxo de login interativo.

1. Escolha **Registrar**.

1. Na página **Visão geral** do aplicativo, registre o ID do **aplicativo (cliente) e o ID** do **diretório (inquilino)**. Você precisa dos dois mais tarde.

## Etapa 2: adicionar permissões de API e conceder o consentimento do administrador
<a name="kb-managed-onedrive-entra-step2"></a>

Adicione as permissões para sua configuração de[Referência de permissões](#kb-managed-onedrive-entra-permissions).

1. No registro do seu aplicativo, escolha **Permissões de API** e, em seguida, **Adicionar uma permissão**.

1. Escolha **Microsoft Graph** e, em seguida, **Permissões do aplicativo**. Pesquise e selecione cada permissão do Microsoft Graph para sua configuração e escolha **Adicionar permissões**.

1. Se você estiver habilitando o controle de acesso em nível de documento, escolha **Adicionar uma permissão novamente**. Escolha **SharePoint**(em **APIs da Microsoft**) e, em seguida, **Permissões do aplicativo**. Selecione `Sites.FullControl.All` e, em seguida, escolha **Adicionar permissões**.

1. Na página de **permissões da API**, escolha **Conceder consentimento do administrador para [sua organização]** e confirme. Sem o consentimento do administrador, o aplicativo não pode acessar OneDrive os dados.

## Etapa 3: criar um segredo de cliente
<a name="kb-managed-onedrive-entra-step3"></a>

OneDrive o rastreamento usa o ID e o segredo do cliente do aplicativo, portanto, um segredo do cliente é necessário tanto para fontes de dados quanto somente de conteúdo. ACL-enabled Quando o controle de acesso em nível de documento é ativado, o conector usa o segredo do cliente para obter um token do Microsoft Graph que resolve o OneDrive host do seu locatário e o certificado (da Etapa 4) para obter o SharePoint token usado para a verificação de acesso.

1. No registro do seu aplicativo, escolha **Certificados e segredos**, depois **Segredos do cliente** e depois **Novo segredo do cliente**.

1. Insira uma descrição, escolha uma expiração e escolha **Adicionar**.

1. Registre o **valor** secreto imediatamente — ele é exibido apenas uma vez. Registre o **valor**, não a **ID secreta**.

## Etapa 4 (somente ACLs): gerar o certificado de autenticação
<a name="kb-managed-onedrive-entra-step4"></a>

**nota**  
Esta etapa e as etapas 5, 6 e 8 se aplicam somente se você habilitar o controle de acesso em nível de documento. Para rastreamento somente de conteúdo, vá para. [Etapa 7: Criar o segredo do Secrets Manager](#kb-managed-onedrive-entra-step7)

Gere um certificado autoassinado e empacote-o como um pacote PKCS \#12 (`.p12`). O pacote contém o certificado e sua chave privada, protegidos por uma senha. Você carrega o certificado público para o Entra (Etapa 5) e o `.p12` pacote para o Amazon S3 (Etapa 6). Selecione a guia do seu sistema operacional para ver os comandos.

**nota**  
O Amazon Bedrock lê a chave privada do `.p12` pacote para assinar declarações de autenticação, portanto, o pacote deve ser protegido por senha. Escolha uma senha forte e aleatória — você a armazena em segredo, como `certificatePassword` na Etapa 7.

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

**Gere uma chave privada e um certificado autoassinado**

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

**Package o certificado e a chave como um pacote PKCS \#12 (`.p12`)**

Insira uma senha de exportação forte quando solicitado. Grave-o para a Etapa 7.

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

Agora você tem três arquivos: a chave privada (`private_key.pem`), o certificado público (`certificate.cer`) e o pacote (`certificate.p12`). Você carrega o certificado público para a Entra na Etapa 5 e o `.p12` pacote para o Amazon S3 na Etapa 6.

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

**Gere um certificado autoassinado**

Os PowerShell comandos a seguir geram um certificado autoassinado RSA de 2048 bits com um período de validade de um ano e o armazenam no repositório de certificados do usuário atual. {{your-password}}Substitua por uma senha forte e aleatória — você a armazena em segredo, como `certificatePassword` na Etapa 7.

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

**Exportar o certificado público**

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

**Exportar o pacote PKCS \#12 (`.p12`)**

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

Agora você tem dois arquivos: o certificado público (`certificate.cer`) e o pacote (`certificate.p12`). Você carrega o certificado público para a Entra na Etapa 5 e o `.p12` pacote para o Amazon S3 na Etapa 6.

------

**Importante**  
Armazene o `.p12` pacote no Amazon S3 (não `.pem` no arquivo `.cer` or). O pacote contém a chave privada que o Amazon Bedrock usa para se autenticar SharePoint para verificação de acesso, portanto, armazene-a com segurança. Document-level o controle de acesso requer o `.p12` formato.

**nota**  
Por padrão, o certificado é válido por um ano. Um certificado expirado faz com que todas as sincronizações falhem, então alterne o certificado antes que ele expire. Para alterar o período de validade, ajuste a `-days` opção (OpenSSL) ou `-NotAfter` o argumento (). PowerShell Para as etapas de rotação, consulte[Gire o certificado](kb-managed-ds-onedrive-troubleshooting.md#kb-managed-ds-onedrive-rotate-cert).

## Etapa 5 (somente ACLs): Carregue o certificado público para o Entra
<a name="kb-managed-onedrive-entra-step5"></a>

1. No registro do seu aplicativo, escolha **Certificados e segredos e**, em seguida, a guia **Certificados**.

1. Escolha **Carregar certificado** e selecione o `certificate.cer` arquivo que você gerou na Etapa 4 (somente o certificado público — nunca carregue o `.p12` pacote ou a chave privada para o Entra).

1. Escolha **Adicionar**.

## Etapa 6 (somente ACLs): faça o upload do certificado para o Amazon S3
<a name="kb-managed-onedrive-entra-step6"></a>

Faça o upload do `.p12` pacote da Etapa 4 para um bucket do Amazon S3 na AWS mesma região da sua base de conhecimento. Registre o nome e a chave do bucket — você os usa como fonte de dados`certificateS3Path`.

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

**nota**  
Recomendamos que você habilite a criptografia do lado do servidor no objeto certificado e restrinja o bucket às entidades principais que precisam dele. O pacote contém a chave privada.

## Etapa 7: Criar o segredo do Secrets Manager
<a name="kb-managed-onedrive-entra-step7"></a>

Armazene as credenciais em AWS Secrets Manager segredo. Para a autenticação do Microsoft Entra App ID, inclua os seguintes pares de valores-chave:
+ `clientId`(obrigatório) — o ID do aplicativo (cliente) da Etapa 1.
+ `clientSecret`(obrigatório) — o valor secreto do cliente da Etapa 3.
+ `certificatePassword`(somente controle de acesso em nível de documento, recomendado) — a senha que você definiu no `.p12` pacote na Etapa 4. Veja a nota a seguir.

**Somente conteúdo (sem controle de acesso em nível de documento)**

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

**Com controle de acesso em nível de documento**

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

Crie o segredo com o AWS Command Line Interface:

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

Registre o ARN secreto da resposta. Você o usa como fonte de dados`secretArn`.

**nota**  
Quando o controle de acesso em nível de documento estiver ativado, `certificatePassword` defina a senha que você usou ao criar o `.p12` pacote na Etapa 4. Se você omitir esse campo, o Amazon Bedrock abrirá o pacote usando o ID do cliente do seu aplicativo como senha, portanto, o pacote deve ter sido criado com o ID do cliente como senha. Em vez disso, recomendamos que você sempre defina uma senha explícita de alta entropia.

## Etapa 8 (somente ACLs): conceder à função de serviço acesso ao certificado
<a name="kb-managed-onedrive-entra-step8"></a>

Sua função de serviço da base de conhecimento deve ser capaz de ler o objeto certificado do Amazon S3. Adicione a seguinte declaração à política de permissões da função, substituindo o nome e a chave do bucket pelos seus 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**  
A política também permite acesso de leitura a um `.metadata.json` arquivo opcional junto com o certificado. O Amazon Bedrock não exige esse arquivo; incluir a permissão evita erros de acesso se houver um.

**Se o objeto certificado estiver criptografado com uma chave AWS KMS**

O comando de upload [Etapa 6 (somente ACLs): faça o upload do certificado para o Amazon S3](#kb-managed-onedrive-entra-step6) usa a S3-managed criptografia da Amazon (`AES256`), que não precisa de permissões adicionais. Se, em vez disso, você criptografar o objeto certificado com a criptografia do lado do servidor Amazon S3 usando uma chave KMS gerenciada pelo cliente SSE-KMS (), a função de serviço também `kms:Decrypt` precisará de permissão para essa chave, e a política da chave deve permitir que a função a use. Objetos criptografados com a `aws/s3` chave AWS gerenciada não exigem essa concessão adicional.

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

Para obter o conjunto completo de permissões de função de serviço da base de conhecimento, consulte[Permissões para acessar as fontes de dados](kb-permissions.md#kb-permissions-access-ds).

## Próximas etapas
<a name="kb-managed-onedrive-entra-next"></a>

Agora você tem as credenciais necessárias para criar a fonte de dados: o ARN secreto, seu ID de inquilino e (para controle de acesso em nível de documento) a localização do certificado no Amazon S3. Para criar a fonte de OneDrive dados com a Console de gerenciamento da AWS ou a API, consulte[Conectar uma fonte OneDrive de dados](kb-managed-ds-onedrive-connect.md).