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.