Building a Secure and Developer-Friendly DevOps Structure with Kubernetes, Azure AD, Helm, Jenkins, SonarQube, and Azure Image Registry

12 септември 2023 / 3 мин. време за четене

Изграждане на сигурна и удобна за разработчиците DevOps структура с Kubernetes, Azure AD, Helm, Jenkins, SonarQube и Azure Image Registry

null

Въведение

В непрекъснато развиващия се технологичен свят адаптивността и иновациите са от решаващо значение в бизнеса. Digital and Software Solutions (DSS) осъзна тази необходимост и предприе трансформационни стъпки, за да укрепи своята DevOps структура. Целта беше ясна: да се отговори на нарастващите изисквания на клиентите и проектите, като същевременно се оптимизират мерките за сигурност и се поддържа благоприятна за разработчиците среда.

В тази статия ще се запознаете с успешната история на DSS, която описва цялостна DevOps стратегия, включваща Kubernetes, Azure Active Directory (Azure AD), Helm, Jenkins, SonarQube и Azure Image Registry.

Предизвикателство

В процеса на работа DSS се сблъска с няколко предизвикателства, които преодоляхме безпроблемно:

  • Балансиране на сигурността и продуктивността на разработчиците: Поддържането на сигурна среда, като същевременно се запазва продуктивността на разработчиците в среда на “multi-node“ клъстер Kubernetes, не беше лека задача.
  • Централизирано управление на идентичността и достъпа: DSS се нуждаеше от надеждно решение за управление на идентичността, за да осигури сигурен достъп на потребителите до различни платформи.
  • Оптимизиране на процеса по внедряване: Процесът по внедряване се нуждаеше от оптимизиране, за да се намали ръчната намеса и да се подобри ефективността, като същевременно се подобри качеството на кода.
  • Сигурни контейнерни приложения: Осигуряването на сигурността на контейнерните приложения и ефективното управление на образите беше също сложна задача.

Решение

Основа: Kubernetes Multi-Node Cluster

  • Ролеви контрол на достъпа (RBAC от “Role-based access control”): Въведен е RBAC, за да се контролира щателно достъпът до ресурси и API операции, като се следва принципът на най-малка привилегия.
  • Мрежови политики (“Network Policies”): Бяха въведени сегментиране на мрежата и строги политики за сигурност, за да се ограничи комуникацията между модулите.
  • Непрекъснато наблюдение (“Continuous Monitoring”): DSS използва инструменти като Prometheus и Grafana, за да осигури непрекъснато наблюдение на клъстера Kubernetes, предоставяйки информация в реално време.

Управление на достъпа: Azure Active Directory (Azure AD):

  • Централизирано управление на идентичността (“Centralised Identity Management”): Azure AD беше безпроблемно интегриран със съществуващите доставчици, за да се осигури сигурен достъп на потребителите в цялата организация.
  • Единно влизане (SSO от “Single Sign-On”): Внедряването на SSO чрез Azure AD опрости начина на влизане в системата, като насърчи продуктивността и сигурността.
  • Прецизен контрол на достъпа (“Fine-Grained Access Control”): Използвайки Azure AD, DSS създаде ясни и точни за изпълнение политики за достъп, основаващи се на роли и групи.

Оптимизирани внедрявания: Helm и Jenkins

  • Helm Charts: DSS използва Helm, за да улесни последователното програмиране и внедряване на приложенията, оптимизирайки процеса по внедряване.
  • Jenkins Jobs: Автоматизацията зае централно място с Jenkins, безпроблемно интегриран с Helm за създаване на ефективен и автоматизиран процес по внедряване.
  • Сканиране на сигурността (“Security Scanning”): Интегрирано сканиране на Trivy в Jenkins за идентифициране на уязвимости в контейнерните образи, укрепвайки сигурността.
  • Качество на кода със SonarQube: DSS използва SonarQube за статичен анализ на кода, което доведе до подобрения в качеството на кода и цялостната сигурност.

Управление на изображенията: Регистър на изображенията в Azure

  • Хранилище за изображения: DSS създаде регистър на изображения в Azure, за да съхранява сигурно образи на Docker, като гарантира тяхната цялост.
  • Сканиране на изображения с Trivy: Интегрирането на Trivy сканиране с Azure Image Registry позволи на DSS да гарантира сигурността на своите образи.
  • Публикуване на изображения: Jenkins беше конфигуриран да публикува Docker изображения в Azure Image Registry при успешно изградени системи, което допълнително повиши ефективността.

Резултати

Внедряването на тази цялостна DevOps структура доведе до забележителни резултати:

  • Подобрените мерки за сигурност бяха постигнати чрез RBAC, мрежови политики и непрекъснато наблюдение.
  • Подобрено изживяване за разработчиците, предлагащо SSO и прецизен контрол на достъпа чрез Azure AD.
  • Оптимизирани процеси на внедряване, които значително намалиха ръчната намеса.
  • Подобрено качество на кода и сигурност чрез сканиране на SonarQube и Trivy.
  • Ефективно управление на изображения и сигурното им съхранение чрез Azure Image Registry.

Заключение

Чрез използването на Kubernetes, Azure AD, Helm, Jenkins, SonarQube и Azure Image Registry DSS не само преодоля предизвикателствата на баланса между сигурността и производителността на разработчиците, но и постави началото на ера на повишена сигурност, рационализирани процеси и благоприятна за разработчиците среда. Тази трансформация е от полза за DSS и нейните клиенти, като илюстрира как проактивният подход към DevOps може да доведе до взаимен успех в постоянно развиващия се технологичен пейзаж.

Сподели:

Може да харесате също:

null
29 октомври 20242 мин. време за четене

Експерти на DSS проведоха обучение по киберсигурност пред преподаватели от страната

IT директорът Георги Котов проведе обучение по киберсигурност в колаборация с ТУ-София пред топ образователни специалисти у нас
null
23 февруари 20243 мин. време за четене

Case Study: Оптимизиране на вътрешните процеси по внедряване в инфраструктурата на УниКредит Булбанк

Използвайки технологии като Kubernetes, Helm, Jenkins и Trivy, ние рационализирахме процесите по внедряване в УниКредит Булбанк.