Partilhar via


Autenticação do Azure no construtor de API de Dados

O construtor de API de dados permite que os desenvolvedores definam o mecanismo de autenticação (provedor de identidade) que desejam que o construtor de API de dados use para autenticar quem está fazendo solicitações.

A autenticação é delegada a um provedor de identidade suportado onde o token de acesso pode ser emitido. Um token de acesso adquirido deve ser incluído nas solicitações de entrada para o Data API builder. Em seguida, o construtor de API de dados valida todos os tokens de acesso apresentados, garantindo que o construtor de API de dados seja o público-alvo do token.

As opções de configuração do provedor de identidade suportadas são:

  • StaticWebApps
  • Tokens Web JSON (JWT)

Autenticação de Aplicativos Web Estáticos do Azure (EasyAuth)

O construtor de API de dados espera que a autenticação de Aplicativos Web Estáticos do Azure (EasyAuth) autentique a solicitação e forneça metadados sobre o usuário autenticado no cabeçalho HTTP X-MS-CLIENT-PRINCIPAL ao usar a opção StaticWebApps. Os metadados de usuário autenticados fornecidos pelo Static Web Apps podem ser referenciados na seguinte documentação: Acessando informações do usuário.

Para usar o provedor de StaticWebApps, você precisa especificar a seguinte configuração na seção runtime.host do arquivo de configuração:

"authentication": {
    "provider": "StaticWebApps"
}

Usar o provedor de StaticWebApps é útil quando você planeja executar o construtor de API de Dados no Azure, hospedando-o usando o Serviço de Aplicativo e executando-o em um contêiner: Executar um contêiner personalizado no Serviço de Aplicativo do Azure.

JWT

Para usar o provedor JWT, você precisa configurar a seção runtime.host.authentication fornecendo as informações necessárias para verificar o token JWT recebido:

"authentication": {
    "provider": "AzureAD",
    "jwt": {
        "audience": "<APP_ID>",
        "issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
    }
}

Seleção de funções

Depois que uma solicitação é autenticada por meio de qualquer uma das opções disponíveis, as funções definidas no token são usadas para ajudar a determinar como as regras de permissão são avaliadas para autorizar a solicitação. Qualquer solicitação autenticada é atribuída automaticamente à função do sistema authenticated, a menos que uma função de usuário seja solicitada para uso. Para obter mais informações, consulte autorização.

Pedidos anónimos

Os pedidos também podem ser feitos sem serem autenticados. Nesses casos, a solicitação é automaticamente atribuída à função anonymous sistema para que possa ser devidamente autorizada.

X-MS-API-ROLE cabeçalho da solicitação

O construtor de API de dados requer que o X-MS-API-ROLE de cabeçalho autorize solicitações usando funções personalizadas. O valor de X-MS-API-ROLE deve corresponder a uma função especificada no token. Por exemplo, se o token tiver a função Sample.Role, o X-MS-API-ROLE também deverá ser Sample.Role. Para obter mais informações, consulte funções de usuário de autorização.