Configurando autenticação e acesso à API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Importância da segurança em APIs

Segurança HTTP

  • Endpoints de API costumam ser públicos
  • Os dados por trás das APIs precisam de proteção
  • Principalmente para dados sensíveis
Azure API Management

Visão geral de autenticação

  • Autenticação e autorização não são a mesma coisa
  • Autenticação comprova a identidade de quem chama
  • Entrar com usuário e senha é um tipo de autenticação

Formulário de login

Azure API Management

Visão geral de autorização

Requisições inseguras vs seguras

  • Autorização controla permissões
  • Um usuário autenticado ainda pode não ter autorização
  • Exemplo: só admins acessam a área de administração
Azure API Management

Exemplo de app de clima

Autorização em app de clima

Azure API Management

Introdução ao OAuth

  • OAuth é usado para autenticação
  • Também para autorização
  • Protocolo de segurança complexo
  • Tem classificação de segurança muito alta

Emissão de token de acesso

Azure API Management

Exemplo de OAuth do Google

Exemplo de OAuth do Google

Azure API Management

Autorização por chave de API no Azure Functions

  • Autenticação nem sempre é necessária para autorizar
  • Endpoints HTTP podem ser protegidos com chaves de API
  • Cadeia longa de caracteres
  • No Azure Functions, uma chave padrão é gerada
  • A chave deve ser incluída na requisição
  • O cliente precisa conhecer a chave
  • O cliente não precisa provar sua identidade

Configurando uma chave de API no Azure

Azure API Management

Escopos diferentes de chaves de API

Escopos de chave de API em uma Azure Function

  • Escopos diferentes para tipos de chave diferentes
  • Chave no nível da função concede acesso a funções específicas
    • Como uma chave física que abre uma porta específica
  • Chave no nível do host
    • Concede acesso a todas as funções de um app
    • como uma chave mestra que abre qualquer porta do prédio
Azure API Management

Autenticação no API Management

  • APIM pode ser conectado a um provedor de autenticação
  • Um deles é o Entra ID
    • Antigamente conhecido como Active Directory
  • Integrar com OAuth é mais seguro que usar chaves de API
    • Bem mais complexo

Habilitando integração com Entra ID no APIM

Azure API Management

Políticas de autorização no API Management

 

Validando JWT no APIM

A autorização é implementada por meio de políticas no API Management

  • Políticas definem regras de acesso

  • Restringem endpoints por função

  • Garantem que só clientes autorizados invoquem as APIs

Azure API Management

Vamos praticar!

Azure API Management

Preparing Video For Download...