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)
Em Desenvolvimento (AZ Login)
Usar Authentication='Active Directory Default'
nas cadeias de conexão do Banco de Dados SQL do Azure significa que o cliente será autenticado usando credenciais do Azure Ative Directory (AAD). 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. Uma vez autenticada, a CLI do Azure recupera e armazena em cache o token vinculado à identidade do Azure Ative Directory. Esse token é usado para autenticar solicitações para serviços do Azure sem exigir 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 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 a 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 de sistema anonymous
, para que possa ser devidamente autorizada.
X-MS-API-ROLE cabeçalho da solicitação
O compilador de API de dados requer o cabeçalho X-MS-API-ROLE
para autorizar pedidos 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.