Compartilhar via


Autenticação de usuário final com o Azure Data Lake Storage Gen1 usando a API REST

Neste artigo, você aprende sobre como usar a API REST para fazer a autenticação do usuário final com o Armazenamento de Dados do Azure Data Lake Gen1. Para autenticação de serviço a serviço com o Data Lake Storage Gen1 usando a API REST, consulte Autenticação de serviço a serviço com o Data Lake Storage Gen1 usando a API REST.

Pré-requisitos

Autenticação do usuário final

A autenticação do usuário final é a abordagem recomendada se você quiser que um usuário faça logon em seu aplicativo usando Microsoft Entra ID. Seu aplicativo será capaz de acessar recursos do Azure com o mesmo nível de acesso do usuário que fez logon. O usuário precisará fornecer as respectivas credenciais periodicamente para que o aplicativo mantenha o acesso.

O objetivo do logon do usuário é para que seu aplicativo receba um token de acesso e um token de atualização. O token de acesso é anexado a cada solicitação feita ao Data Lake Storage Gen1 ou Data Lake Analytics e ele é válido por uma hora por padrão. O token de atualização pode ser usado para obter um novo token de acesso e é válido por até duas semanas, por padrão, se usado regularmente. Você pode usar duas abordagens diferentes para o logon do usuário final.

Nesse cenário, o aplicativo solicita o logon do usuário e todas as operações são executadas no contexto do usuário. Execute as seguintes etapas:

  1. Por meio de seu aplicativo, redirecione o usuário para a seguinte URL:

    https://login.microsoftonline.com/<TENANT-ID>/oauth2/authorize?client_id=<APPLICATION-ID>&response_type=code&redirect_uri=<REDIRECT-URI>

    Observação

    <REDIRECT-URI> precisa ser codificado para uso em uma URL. Portanto, para https://localhost, use https%3A%2F%2Flocalhost)

    Para os fins deste tutorial, é possível substituir os valores de espaço reservado na URL acima e colá-los na barra de endereços do navegador da Web. Você será redirecionado para autenticar usando seu logon do Azure. Depois de fazer logon com êxito, a resposta será exibida na barra de endereços do navegador. A resposta estará no seguinte formato:

    http://localhost/?code=<AUTHORIZATION-CODE>&session_state=<GUID>

  2. Capture o código de autorização da resposta. Para este tutorial, é possível copiar o código de autorização da barra de endereços do navegador da Web e passá-lo na solicitação POST para o ponto de extremidade do token, conforme mostrado no seguinte snippet de código:

    curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token \
    -F redirect_uri=<REDIRECT-URI> \
    -F grant_type=authorization_code \
    -F resource=https://management.core.windows.net/ \
    -F client_id=<APPLICATION-ID> \
    -F code=<AUTHORIZATION-CODE>
    

    Observação

    Nesse caso, o <REDIRECT-URI> não precisa ser codificado.

  3. A resposta é um objeto JSON que contém um token de acesso (por exemplo, "access_token": "<ACCESS_TOKEN>") e um token de atualização (por exemplo, "refresh_token": "<REFRESH_TOKEN>"). Seu aplicativo usa o token de acesso ao acessar o Azure Data Lake Storage Gen1 e o token de atualização para obter outro token de acesso quando um token de acesso expira.

    {"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1461865782","not_before":    "1461861882","resource":"https://management.core.windows.net/","access_token":"<REDACTED>","refresh_token":"<REDACTED>","id_token":"<REDACTED>"}
    
  4. Quando o token de acesso expira, é possível solicitar um novo token de acesso usando o token de atualização, conforme mostrado no seguinte snippet:

    curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token  \
         -F grant_type=refresh_token \
         -F resource=https://management.core.windows.net/ \
         -F client_id=<APPLICATION-ID> \
         -F refresh_token=<REFRESH-TOKEN>
    

Para obter mais informações sobre a autenticação interativa de usuário, confira Fluxo de concessão de código de autorização.

Próximas etapas

Neste artigo, você aprendeu a usar a autenticação de serviço a serviço para se autenticar no Armazenamento de Dados do Azure Data Lake usando a API REST. Agora você pode examinar os artigos a seguir que falam sobre como usar a API REST para trabalhar com o Armazenamento de dados do Windows Azure Gen1.