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)

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.