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

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

Корпорация Майкрософт и 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.

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

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