Compartilhar via


Criar aplicativos seguros com o Azure DevOps

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Crie aplicativos e serviços seguros e escalonáveis que se integram ao Azure DevOps para acessar recursos do usuário e automatizar processos programaticamente. Quer você esteja criando ferramentas de automação internas ou criando produtos comerciais, o Azure DevOps fornece APIs robustas e opções de autenticação modernas para dar suporte às suas necessidades de integração.

Por que integrar com o Azure DevOps?

A integração do Azure DevOps permite que você:

🔧 Automatizar fluxos de trabalho

  • Criar e rastrear bugs automaticamente a partir de relatórios de clientes
  • Monitorar itens de trabalho e exibir status em dashboards personalizados
  • Sincronizar dados entre o Azure DevOps e sistemas externos
  • Gerar relatórios e análises de dados do Azure DevOps

🏗️ Criar soluções comerciais

  • Desenvolver extensões do marketplace para clientes do Azure DevOps
  • Criar produtos SaaS que se integram ao Azure DevOps
  • Criar aplicativos móveis que se conectam aos serviços do Azure DevOps
  • Integrar o Azure DevOps a sistemas empresariais

Introdução: Escolha seu caminho

🚀 Opções de início rápido

Necessidade Abordagem recomendada Mais adequado para
Automação simples API REST com PATs (tokens de acesso pessoal) Scripts, ferramentas pessoais
Aplicativos de produção Bibliotecas de clientes do .NET com identidade gerenciada Aplicativos empresariais, serviços hospedados no Azure
Aplicativos interativos autenticação do Microsoft Entra Aplicativos voltados para o usuário, ferramentas da área de trabalho
Componentes de interface do usuário personalizados Extensões do Azure DevOps Personalizações de equipe, produtos do marketplace

🔐 Autenticação: Segurança primeiro

Escolha o método de autenticação correto:

✅ Recomendado para produção:

⚡ Desenvolvimento rápido:

❌ Evitado na produção:

  • Autenticação de nome de usuário/senha (preterida)
  • Credenciais codificadas no código-fonte
  • Escopos de permissão excessivamente amplos

Abordagens de desenvolvimento

🔌 Integração da API REST

Melhor para: Chamadas HTTP diretas, desenvolvimento independente de plataforma, automação simples

**Key benefits:**
- Works with any programming language
- Full control over HTTP requests and responses
- Lightweight integration for simple scenarios
- Easy to debug and test

**Get started:**
- [Learn REST API basics](./how-to/call-rest-api.md)
- [Browse API reference](/rest/api/azure/devops/)
- [Try APIs in the browser](https://docs.microsoft.com/rest/api/azure/devops/)

📚 Bibliotecas de clientes do .NET

Melhor para: Aplicativos C#, desenvolvimento empresarial, integrações complexas

**Key benefits:**
- Strongly typed APIs with IntelliSense support
- Built-in retry logic and error handling
- Async/await patterns for better performance
- Production-ready authentication options

**Get started:**
- [.NET client library samples](./get-started/client-libraries/samples.md)
- [Authentication guidance](./get-started/authentication/authentication-guidance.md)
- [Client library concepts](./concepts/dotnet-client-libraries.md)

🔔 Integração controlada por eventos

Melhor para: Respostas em tempo real, automação baseada em webhook, sincronização externa do sistema

**Key benefits:**
- Real-time event notifications
- Reduced polling and improved efficiency
- Support for multiple event types
- Easy integration with external services

**Get started:**
- [Service hooks overview](../service-hooks/overview.md)
- [Webhook configuration guide](../service-hooks/services/webhooks.md)
- [Event reference documentation](../service-hooks/events.md)

🧩 Extensões de plataforma

Melhor para: Componentes de interface do usuário personalizados, recursos específicos da equipe, produtos do marketplace

**Key benefits:**
- Native integration with Azure DevOps UI
- Access to platform APIs and services
- Distribution through Visual Studio Marketplace
- Rich customization capabilities

**Get started:**
- [Extension development overview](../extend/overview.md)
- [Extension samples and tutorials](../extend/develop/samples-overview.md)
- [Marketplace publishing guide](../extend/publish/overview.md)

Padrões de arquitetura

Integração de microsserviços:

Azure Function/App Service → Managed Identity → Azure DevOps APIs
- Secure, serverless integration
- Automatic credential management
- Scalable and cost-effective

Aplicativo empresarial:

On-premises App → Service Principal → Azure DevOps REST APIs
- Certificate-based authentication
- Centralized credential management
- Audit logging and compliance

Aplicativo voltado para o usuário:

Web/Mobile App → Microsoft Entra OAuth → Azure DevOps on behalf of user
- User consent flows
- Secure token management
- Granular permission control

Segurança e conformidade

🛡️ Práticas recomendadas de segurança

Segurança de autenticação:

  • ✅ Usar identidades gerenciadas quando possível
  • ✅ Implementar a lógica de atualização de token adequada
  • ✅ Aplicar princípio de privilégio mínimo
  • ✅ Habilitar o log de auditoria para todas as chamadas à API
  • ❌ Nunca confirme as credenciais no controle do código-fonte
  • ❌ Não use escopos de PAT excessivamente amplos

Segurança do aplicativo:

  • Implementar o tratamento de erros e o registro em log adequados
  • Usar HTTPS para todas as comunicações
  • Validar todos os dados de entrada
  • Lidar com a limitação de taxa de maneira adequada
  • Armazenar dados confidenciais no Azure Key Vault

Considerações sobre conformidade:

Recursos e próximas etapas

📖 Documentação essencial

Principais conceitos:

Referências de API:

Exemplos de código:

🎯 Ações rápidas

Comece a construir hoje:

  1. Configurar a autenticação – Escolha seu método de autenticação
  2. Experimentar a API REST – Fazer sua primeira chamada à API
  3. Executar exemplos de biblioteca de clientes – veja exemplos de código de trabalho
  4. Examinar as práticas de segurança – Criar com segurança desde o início

Precisa de ajuda?

Dica

Novo na integração do Azure DevOps? Comece com as diretrizes de autenticação para entender suas opções e, em seguida, experimente o início rápido da API REST para fazer sua primeira chamada à API bem-sucedida.