Поделиться через


Создание безопасных приложений с помощью Azure DevOps

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

Создавайте безопасные, масштабируемые приложения и службы, которые интегрируются с Azure DevOps для доступа к ресурсам пользователей и автоматизации процессов программным способом. Независимо от того, создаете ли вы внутренние средства автоматизации или создаете коммерческие продукты, Azure DevOps предоставляет надежные API и современные варианты проверки подлинности для поддержки потребностей интеграции.

Зачем интегрироваться с Azure DevOps?

Интеграция Azure DevOps позволяет выполнять следующие действия.

🔧 Автоматизация рабочих процессов

🏗️ Создание коммерческих решений

  • Разработка расширений Marketplace для клиентов Azure DevOps
  • Создание продуктов SaaS, которые интегрируются с Azure DevOps
  • Создание мобильных приложений, подключающихся к службам Azure DevOps
  • Интеграция Azure DevOps с корпоративными системами

Начало работы. Выбор пути

🚀 Параметры быстрого запуска

Нужда Рекомендуемый подход лучше всего подходит для
Простая автоматизация REST API с личными маркерами доступа (PATs) Скрипты, личные инструменты
Рабочие приложения Клиентские библиотеки .NET с управляемым удостоверением Корпоративные приложения, размещенные в Azure службы
Интерактивные приложения Проверка подлинности Microsoft Entra Пользовательские приложения, настольные инструменты
Кастомные компоненты пользовательского интерфейса Расширения Azure DevOps Кастомизации команды, продукты торговой площадки

🔐 Проверка подлинности: безопасность в первую очередь

Выберите правильный метод проверки подлинности:

✅ Рекомендуется для производственной среды:

⚡ Быстрая разработка:

❌ Избегайте для производственной среды:

  • Проверка подлинности имени пользователя и пароля (не рекомендуется)
  • Жестко закодированные учетные данные в исходном коде
  • Слишком широкие области разрешений

Подходы к разработке

🔌 Интеграция REST API

Лучше всего: Прямые http-вызовы, не зависящая от платформы разработки, простая автоматизация

**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/)

📚 Клиентские библиотеки .NET

Лучше всего: Приложения C#, корпоративная разработка, сложные интеграции

**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)

🔔 Интеграция на основе событий

Лучше всего подходит для: ответы в режиме реального времени, автоматизация с использованием вебхуков, синхронизация с внешними системами

**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)

🧩 Расширения платформы

Лучше всего подходит для: Кастомные компоненты пользовательского интерфейса, функции, специфичные для команды, продукты торговой площадки

**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)

Шаблоны архитектуры

Интеграция микрослужб:

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

Корпоративное приложение:

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

Приложение для пользователя:

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

Безопасность и соответствие требованиям

🛡️ Рекомендации по обеспечению безопасности

Безопасность проверки подлинности:

  • ✅ Используйте управляемые удостоверения по возможности
  • ✅ Реализация правильной логики обновления маркера
  • ✅ Применение принципа наименьших привилегий
  • ✅ Включение ведения журнала аудита для всех вызовов API
  • ❌ Никогда не фиксируйте учетные данные в системе контроля версий
  • ❌ Не используйте слишком широкие области PAT

Безопасность приложений:

  • Реализация правильной обработки ошибок и ведения журнала
  • Использование HTTPS для всех коммуникаций
  • Проверка всех входных данных
  • Грамотная обработка ограничения частоты запросов
  • Хранение конфиденциальных данных в Azure Key Vault

Рекомендации по соответствию требованиям:

  • Обзор безопасности Azure DevOps
  • Понимание требований к месту размещения данных
  • Реализация надлежащих элементов управления доступом и аудита
  • Следуйте рекомендациям по соответствию отраслевым требованиям

Ресурсы и дальнейшие действия

📖 Основная документация

Основные понятия:

Ссылки на API:

Примеры кода:

🎯 Быстрые действия

Начните строительство сегодня:

  1. Настройка проверки подлинности— выбор метода проверки подлинности
  2. Попробуйте ИСПОЛЬЗОВАТЬ REST API . Создание первого вызова API
  3. Запуск примеров клиентской библиотеки . См. примеры рабочего кода
  4. Проверка методик безопасности . Безопасное создание с самого начала

Нужна помощь?

Подсказка

Вы впервые сталкиваетесь с интеграцией Azure DevOps? Начните с руководства по проверке подлинности, чтобы понять ваши варианты, затем попробуйте краткое руководство по REST API, чтобы сделать первый успешный вызов API.