image

Bolsas de estudo DIO PRO para acessar bootcamps ilimitados

Disponível apenas:

580 vagas
Article image
Janei Pereira
Janei Pereira14/04/2025 19:53
Compartilhe
Microsoft Azure Cloud Native 2026Recomendados para vocêMicrosoft Azure Cloud Native 2026

Como Publicar e Proteger uma API no Azure com API Management e Subscription Key

    Publicar uma API na nuvem e protegê-la adequadamente é uma etapa fundamental para desenvolvedores que trabalham com microsserviços, aplicações web ou integrações de sistemas. O Azure oferece uma maneira simples e poderosa de fazer isso através do App Service e do API Management (APIM).

    Neste artigo, vamos explorar um passo a passo didático para:

    • Criar e publicar uma API no Azure
    • Importá-la no API Management
    • Aplicar proteção com Subscription Key (chave de subscrição)
    Este guia foi feito pensando em quem está iniciando na plataforma Azure. Vamos focar em boas práticas e evitar armadilhas comuns.

    ✨ Visão Geral da Arquitetura

    1. App Service: hospeda sua API
    2. API Management: atua como gateway, adicionando proteção, monitoramento e versões
    3. Subscription Key: chave obrigatória para acessar a API através do APIM

    1. Criar uma API local em .NET 8

    Começamos com um projeto simples em .NET 8 (Minimal API):

    mkdir WeatherApi && cd WeatherApi
    dotnet new webapi --no-https --framework net8.0
    

    No Program.cs, mantenha o endpoint /weatherforecast:

    app.MapGet("/weatherforecast", () =>
    {
      var forecast = Enumerable.Range(1, 5).Select(index =>
          new WeatherForecast(
              DateTime.Now.AddDays(index),
              Random.Shared.Next(-20, 55),
              "Sunny"
          ))
          .ToArray();
    
      return forecast;
    });
    

    Compile e teste localmente:

    dotnet run
    

    Acesse no navegador:

    http://localhost:5000/weatherforecast
    

    2. Fazer deploy no Azure (App Service)

    Requisitos:

    • Conta no Azure (Free Tier funciona)
    • Azure CLI instalado (az --version)
    • Login feito: az login

    Deploy com um comando:

    az webapp up \
    --name weather-api-demo \
    --resource-group MeuGrupo \
    --runtime "dotnet:8" \
    --location centralus
    
    Se ocorrer erro de cota na região (ex: "quota 0 instances"), tente centralus, southcentralus, westus2, etc.

    A URL gerada será parecida com:

    https://weather-api-demo.azurewebsites.net/weatherforecast
    

    3. Importar a API no API Management

    3.1 Criar o API Management (se ainda não existir)

    az apim create \
    --name meu-apim \
    --resource-group MeuGrupo \
    --publisher-name "Dev" \
    --publisher-email "dev@exemplo.com"
    

    3.2 Importar a API

    No portal do Azure:

    1. Acesse o recurso API Management
    2. Menu lateral > APIs > + Add API
    3. Escolha a opção "Create from Azure resource"
    4. Selecione App Service e vincule seu Web App

    4. Proteger a API com Subscription Key

    Por padrão, o API Management já protege suas APIs com chave de subscrição.

    Verificar configuração:

    1. Acesse sua API no APIM
    2. Clique no produto (ex: Starter)
    3. Marque "Require subscription"

    Obter uma chave de subscrição:

    1. Acesse Subscriptions > Starter > Crie uma subscrição
    2. Copie a primary key

    Testar com Postman:

    GET https://meu-apim.azure-api.net/weather/weatherforecast
    Ocp-Apim-Subscription-Key: <sua-chave>
    

    Sem essa chave, o acesso é negado com código 401 Unauthorized

    5. Dicas para evitar erros comuns

    • Erro de região sem quota: troque a região no az webapp up
    • Erro de SDK .NET: instale com dotnet-sdk-8.0 (Linux: via apt, dnf ou pacman)
    • Erro 401 no APIM: sempre envie a Subscription Key correta
    • Problemas no portal: atualize a página e verifique permissões da conta

    ✅ Conclusão

    Agora você tem uma API publicada no Azure, exposta de forma segura através do API Management, com controle de acesso básico via Subscription Key.

    Essa abordagem é ideal para testes, protótipos e ambientes de aprendizado. Em produção, considere também autenticação JWT ou OAuth2 com Azure AD.

    Se você quiser um repositório com exemplos, README, imagens e código .NET, comente aqui ou mande mensagem! ✨

    Compartilhe
    Recomendados para você
    Riachuelo - Cibersegurança
    Microsoft Certification Challenge #5 - AZ-204
    Microsoft Certification Challenge #5 - DP 100
    Comentários (3)

    JS

    Jean Slater - 14/04/2025 19:58

    eu encontrei uma série de dificuldades em publicar uma api de forma segura. vou tentar seguir esses passos

    Janei Pereira
    Janei Pereira - 15/04/2025 15:12

    DIO Community, JWT ou OAuth com certeza pode oferecer segurança aprimorada, principalmente para aplicativos ou sistemas onde isso é crucial como sistemas de pagamento online. Em um próximo artigo vou trazer essas informações e como implementar os testes, mas também podemos conferir o conteúdo em: https://web.dio.me/lab/api-de-pagamentos-segura-com-azure-api-management/learning/70542911-6a65-4bc4-b53b-10337150a4ad?back=/track/microsoft-azure-cloud-native

    DIO Community
    DIO Community - 15/04/2025 13:35

    Excelente artigo, Janei! Você abordou de maneira clara e detalhada o processo de publicar uma API no Azure, utilizando o App Service, o API Management e a implementação da proteção com Subscription Key. Essas práticas são essenciais para garantir que a API seja segura e acessível apenas para usuários autorizados. O passo a passo ficou muito bem organizado, com explicações detalhadas sobre como criar e testar a API, além de dicas para evitar erros comuns, o que é uma ótima forma de guiar os iniciantes na plataforma Azure.

    A explicação sobre como importar a API para o API Management e a proteção com Subscription Key é especialmente valiosa, pois dá uma base sólida para quem está começando a trabalhar com APIs e segurança no Azure. A dica de utilizar a Subscription Key para controle de acesso é simples, mas eficaz, garantindo que apenas clientes autorizados possam acessar os recursos da API.

    Agora que você nos mostrou o básico para configurar uma API segura, como você sugere que as empresas escale isso em um ambiente de produção, considerando questões como autenticação JWT ou OAuth2?

    Recomendados para vocêMicrosoft Azure Cloud Native 2026