Compartilhar 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 com suporte em que o token de acesso pode ser emitido. Um token de acesso adquirido deve ser incluído com solicitações de entrada para o construtor de API de Dados. O construtor de API de dados valida os tokens de acesso apresentados, garantindo que o construtor de API de Dados seja o público-alvo pretendido do token.

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

  • StaticWebApps
  • JWT (Tokens Web JSON)

Em desenvolvimento (Login AZ)

Usar Authentication='Active Directory Default' em cadeias de conexão do Banco de Dados SQL do Azure significa que o cliente será autenticado usando as credenciais do AAD (Azure Active Directory). O método de autenticação exato é determinado pelo ambiente. Quando um desenvolvedor executa az login, a CLI do Azure abre uma janela do navegador solicitando que o usuário entre com uma conta da Microsoft ou credenciais corporativas. Depois de autenticada, a CLI do Azure recupera e armazena em cache o token vinculado à identidade do Azure Active Directory. Esse token é usado para autenticar solicitações nos serviços do Azure sem a necessidade de credenciais na cadeia de conexão.

"data-source": {
    "connection-string": "...;Authentication='Active Directory Default';"
}

Para configurar credenciais locais, basta usar az login depois de instalar a CLI do Azure.

az login

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

O Construtor de API de Dados espera que a autenticação dos 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 autenticado fornecidos pelos Aplicativos Web Estáticos podem ser consultados na documentação a seguir: 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 a autorização .

Solicitações anônimas

Solicitações também podem ser feitas sem serem autenticadas. Nesses casos, a solicitação é atribuída automaticamente à função do sistema anonymous para que possa ser corretamente autorizada.

Cabeçalho de solicitação X-MS-API-ROLE

O construtor de API de Dados requer o cabeçalho X-MS-API-ROLE para autorizar 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, então o X-MS-API-ROLE também deverá ser Sample.Role. Para obter mais informações, consulte perfis de autorização de usuário.