View a markdown version of this page

Configure a autenticação OAuth 2.0 para OneDrive - Amazon Bedrock

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á.

Configure a autenticação OAuth 2.0 para OneDrive

A autenticação OAuth 2.0 (OAUTH2) autentica com um ID e segredo do cliente do aplicativo junto com um token de atualização delegado. O conector usa o token de atualização para obter tokens de acesso que rastreiam o conteúdo no contexto delegado do usuário conectado. A fonte de dados abrange o OneDrive conteúdo que o usuário pode acessar — seu próprio drive, além de quaisquer drives compartilhados com ele ou onde ele tenha acesso de SharePoint administrador. Os drives que o usuário conectado não pode acessar são ignorados silenciosamente.

Importante

Recomendamos Configurar a autenticação Microsoft Entra App ID para OneDrive para a maioria das fontes de dados. A autenticação OAuth 2.0 tem as seguintes limitações:

  • Ele rastreia somente o OneDrive conteúdo que o usuário conectado pode acessar (seu próprio drive, além de quaisquer drives compartilhados com ele ou onde ele tenha acesso de administrador). SharePoint Os drives que o usuário não pode acessar são ignorados silenciosamente. Para rastrear todos os usuários OneDrive em seu locatário uniformemente, use a autenticação Microsoft Entra App ID.

  • Isso requer um token de atualização, que você obtém por meio de um login único de usuário (Etapa 4).

  • Os tokens de atualização têm uma vida útil finita Microsoft-side . Quando o token de atualização expira ou é revogado, as sincronizações falham até que você obtenha um novo e atualize o segredo.

  • Ele não oferece suporte ao controle de acesso em nível de documento (ACLs). Para filtrar os resultados da consulta por permissões de usuário, use a autenticação Microsoft Entra App ID.

Pré-requisitos

  • Acesso de administrador do Microsoft Entra ID para registrar um aplicativo, conceder o consentimento do administrador e criar um segredo de cliente.

  • Uma conta de usuário do Microsoft 365 que tem acesso ao OneDrive conteúdo que você deseja rastrear. Você faz login como esse usuário uma vez para obter o token de atualização.

  • Seu ID de locatário do Microsoft 365.

Etapa 1: registrar o aplicativo no Microsoft Entra ID

  1. Faça login no centro de administração do Microsoft Entra.

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

  3. Escolha Novo registro.

  4. Em Nome, insira um nome descritivo, comobedrock-onedrive-oauth2.

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

  6. Em URI de redirecionamento, selecione Web como plataforma e insirahttp://localhost:53672/callback. Você usa esse URI de redirecionamento ao obter um token de atualização na Etapa 4. Você pode usar qualquer porta localhost gratuita; se você alterar a porta aqui, use a mesma porta na Etapa 4.

  7. Escolha Registrar.

  8. Na página Visão geral do aplicativo, registre o ID do aplicativo (cliente) e o ID do diretório (inquilino).

Etapa 2: adicionar permissões de API e conceder o consentimento do administrador

A autenticação OAuth 2.0 usa um login delegado, portanto, o aplicativo precisa de permissões delegadas, não de permissões do aplicativo.

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

  2. Escolha Microsoft Graph e, em seguida, Permissões delegadas.

  3. Selecione as seguintes permissões delegadas e escolha Adicionar permissões:

    • Files.Read.All— leia os arquivos que o usuário pode acessar.

    • Sites.Read.All— leia os OneDrive sites que o usuário pode acessar.

    • User.Read.All— identificar o usuário.

    • offline_access— necessário para que o login retorne um token de atualização.

  4. Na página de permissões da API, escolha Conceder consentimento do administrador para [sua organização] e confirme.

Etapa 3: criar um segredo de cliente

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

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

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

Etapa 4: Obter um token de atualização

O conector precisa de um token de atualização, que você obtém por meio de um login único do usuário. O procedimento abaixo usa o fluxo de código de autorização do OAuth 2.0 com um redirecionamento de host local, que funciona para usuários com autenticação multifator (MFA). Para contas de serviço que não sejam de MFA, uma alternativa mais simples é fornecida no final.

Fluxo do código de autorização (recomendado)

  1. Crie o URL de login. Substitua os espaços reservados pelo ID do inquilino e pelo ID do aplicativo (cliente) da Etapa 1. Se você usou uma porta localhost diferente na Etapa 1, atualize a redirect_uri para corresponder.

    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
  2. Faça login. Abra a URL em um navegador e entre como o usuário do Microsoft 365 cujo acesso você deseja que o conector use. Conclua qualquer desafio de MFA.

    O navegador então redireciona para a URL do host local, que não carrega (isso é esperado porque nada está escutando nessa porta). A barra de endereço do navegador agora contém o URI de redirecionamento seguido por um code parâmetro, por exemplo:http://localhost:53672/callback?code=0.AXoA...&session_state=....

  3. Copie o código de autorização. Na barra de endereço, copie o valor do code parâmetro (tudo entre code= e o próximo&). O código é válido por alguns minutos; conclua a Etapa 4 imediatamente.

  4. Troque o código por um token de atualização. Substitua os espaços reservados por seu ID de inquilino, ID do aplicativo (cliente), o segredo do cliente da Etapa 3 e o código de autorização que você acabou 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"

    A resposta inclui umarefresh_token. Grave-o para a Etapa 5.

Credenciais de senha do proprietário do recurso (alternativa para contas de serviço que não sejam de MFA)

Se sua conta não exigir MFA e não estiver sujeita às políticas de acesso condicional que impõem o login interativo, você pode pular o fluxo do navegador e trocar diretamente as credenciais do usuário por um token de atualização. Substitua os espaços reservados por seus valores, incluindo o UPN e a senha do usuário.

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"

A resposta inclui umarefresh_token. Grave-o para a Etapa 5. Esse fluxo não funciona para contas com MFA aplicada; em vez disso, use o fluxo de código de autorização acima.

Etapa 5: Criar o segredo do Secrets Manager

Armazene as credenciais em um AWS Secrets Manager segredo com os seguintes pares de valores-chave:

  • clientId— o ID do aplicativo (cliente) da Etapa 1.

  • clientSecret— o valor secreto do cliente da Etapa 3.

  • refreshToken— o token de atualização da Etapa 4.

{ "clientId": "your-client-id", "clientSecret": "your-client-secret", "refreshToken": "your-refresh-token" }

Crie o segredo com o AWS Command Line Interface:

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

Registre o ARN secreto da resposta. Você o usa como fonte de dadossecretArn.

nota

O OAUTH2 conector lê o token de atualização uma vez do seu segredo e o reutiliza em cada sincronização. Ele não salva o valor rotacionado que a Microsoft retorna. Planeje criar um novo token de atualização (Etapa 4) e atualizar o refreshToken campo em seu segredo antes que o existente expire. Se você não atualizar o segredo a tempo, as sincronizações falharão com um erro de atualização do token até que você o faça.

Próximas etapas

Depois de armazenar o segredo, crie a fonte de dados com authType definido comoOAUTH2. Você não fornece um certificado para esse método. Consulte Conectar uma fonte OneDrive de dados.