Включение DevSecOps с Azure и GitHub

DevSecOps, иногда называемый Secure DevOps, основывается на принципах DevOps , но ставит безопасность в центр всего жизненного цикла приложения. Эта концепция называется "shift-left security": она перемещает вышестоящий безопасности только для производства, чтобы охватывать ранние этапы планирования и развития. Для обеспечения безопасности требуется каждая команда и человек, работающий над приложением.

Корпорация Майкрософт и GitHub предлагают решения для обеспечения доверия к коду, который выполняется в рабочей среде. Эти решения проверяют код и позволяют отслеживать их до рабочих элементов и аналитических сведений об используемых сторонних компонентах.

Защита кода с помощью GitHub

Разработчики могут использовать средства сканирования кода, которые быстро и автоматически анализируют код в репозитории GitHub для поиска уязвимостей безопасности и ошибок кодирования.

Вы можете сканировать код для поиска, сортировки и определения приоритетов для существующих проблем. Сканирование кода также препятствует внесению новых проблем разработчиками. Вы можете запланировать сканирование на определенные дни и время или запускать его при возникновении определенного события в репозитории, например принудительной отправки. Вы также можете отслеживать зависимости репозитория и получать оповещения системы безопасности, когда GitHub обнаруживает уязвимые зависимости.

Отслеживание работы с помощью Azure Boards

Teams может использовать веб-службу Azure Boards для управления проектами программного обеспечения. Azure Boards предоставляет широкий набор возможностей, включая встроенную поддержку Scrum и Kanban, настраиваемые панели мониторинга и интегрированные отчеты.

Создание и развертывание контейнеров с помощью Azure Pipelines

Интеграция кластеров Azure Pipelines и Kubernetes с легкостью. Вы можете использовать те же документы YAML для создания многоэтапных конвейеров как кода для непрерывной интеграции, так и для непрерывной доставки.

Azure Pipelines интегрирует трассировку метаданных в образы контейнеров, включая хэши фиксации и номера проблем из Azure Boards, чтобы вы могли проверять приложения с уверенностью.

Возможность создавать конвейеры развертывания с файлами YAML и хранить их в системе управления версиями помогает обеспечить более жесткий цикл обратной связи между командами разработки и операций, которые полагаются на понятные, доступные для чтения документы.

Запуск и отладка контейнеров с помощью Bridge to Kubernetes

Разработка приложения Kubernetes может оказаться сложной задачей. Требуются файлы конфигурации Kubernetes и Docker. Необходимо понимать, как протестировать приложение локально и взаимодействовать с другими зависимыми службами. Вам может потребоваться разработать и протестировать несколько служб одновременно и с командой разработчиков.

Bridge to Kubernetes позволяет выполнять и отлаживать код на компьютере разработки, подключенном к кластеру Kubernetes, в котором находятся остальные приложения или службы. Вы можете выполнить сквозное тестирование кода, определить точки останова в коде, который выполняется в кластере, и предоставить своим сотрудникам общий доступ к кластеру разработки, где они смогут работать, не мешая друг другу.

Обеспечение безопасности контейнеров с помощью Microsoft Defender для контейнеров и Политика Azure

Microsoft Defender для контейнеров — это решение для защиты контейнеров, ориентированное на облако.

Управление удостоверениями и доступом с помощью платформа удостоверений Майкрософт

Платформа удостоверений Майкрософт — это решение на основе платформы для разработчиков Azure Active Directory (Azure AD). С ее помощью разработчики могут создавать приложения, которые поддерживают вход с использованием любых удостоверений Майкрософт и получают маркеры для вызова таких программных API Майкрософт, как API Microsoft Graph или других API, созданных разработчиками.

Azure AD B2C предоставляет идентификацию клиентов как услугу. Ваши клиенты получат возможность единого входа в ваши приложения и API, используя выбранные удостоверения социальных сетей, предприятий или локальных учетных записей.

Управление доступом к облачным ресурсам является важной функцией для любой организации, которая использует облако. Управление доступом на основе ролей Azure (Azure RBAC) помогает управлять доступом к ресурсам Azure, что они могут сделать с этими ресурсами и какие области они могут получить доступ.

Вы можете использовать платформа удостоверений Майкрософт для проверки подлинности с помощью остальных средств DevOps, включая встроенную поддержку в Azure DevOps и интеграции с GitHub Enterprise.

В настоящее время кластеру Службы Azure Kubernetes (AKS) (в частности, поставщику облачных служб Kubernetes) требуется удостоверение для создания дополнительных ресурсов, таких как подсистемы балансировки нагрузки и управляемые диски в Azure. Это удостоверение может быть либо управляемым удостоверением, либо субъектом-службой. Если вы используете субъект-службу, вам необходимо предоставить его, в противном случае AKS создаст его от вашего имени. Если вы используете управляемое удостоверение, он будет создан автоматически AKS. Для кластеров, использующих субъект-службу, субъект-служба должен быть продлен в конечном итоге, чтобы сохранить работу кластера. Управление субъектами-службами повышает сложность, поэтому вместо этого проще использовать управляемые удостоверения. И к субъектам-службам, и к управляемым удостоверениям применяются одинаковые требования к разрешениям.

Управляемые удостоверения, по сути, являются оболочкой для субъектов-служб и упрощают управление ими.

Управление ключами и секретами с помощью Azure Key Vault

В Azure Key Vault можно безопасно хранить токены, пароли, сертификаты, ключи API и другие секреты, а также контролировать доступ к этой информации. Централизованное хранение секретов приложений в Key Vault позволяет управлять их распределением. Key Vault значительно снижает вероятность случайной утечки секретов. При использовании Key Vault разработчики приложений больше не должны хранить сведения о безопасности в своем приложении, что устраняет необходимость сделать эту информацию частью кода. Например, приложению может потребоваться подключиться к базе данных. Вместо хранения строки подключения в коде приложений она безопасно хранится в Key Vault.

Мониторинг приложений

С помощью Azure Monitor вы можете отслеживать как приложение, так и инфраструктуру в реальном времени, выявляя проблемы с кодом и потенциально подозрительные действия и аномалии. Azure Monitor интегрируется с конвейерами выпуска в Azure Pipelines для автоматического утверждения проверок качества или отката выпусков на основе данных мониторинга.

Вы можете узнать, как отслеживать приложения и инфраструктуру с помощью Azure Application Insights и Azure Monitor.

Создание подходящей архитектуры

Безопасность является одним из наиболее важных аспектов любой архитектуры. Безопасность обеспечивает конфиденциальность, целостность и гарантии доступности от преднамеренной атаки и злоупотреблений ценными данными и системами. Утрата таких гарантий может негативно повлиять на операции и доходность вашего бизнеса, а также на репутацию вашей организации на рынке.