Управление безопасностью платформы корпоративного уровня AKS и соответствие требованиямAKS enterprise-scale platform security governance and compliance

В этой статье рассматриваются аспекты управления безопасностью Azure Kubernetes Service (AKS), которые следует учесть перед реализацией любого решения.This article walks through aspects of Azure Kubernetes Service (AKS) security governance to think about before implementing any solution.

Большая часть этого содержимого не зависит от технологии, так как реализация зависит от клиентов.Most of this content is technology-agnostic, because implementation varies among customers. В этой статье рассматривается реализация решений с помощью Azure и некоторых программ с открытым кодом (OSS).The article focuses on how to implement solutions using Azure and some open-source software (OSS).

Жизненный цикл управления безопасностью в облакеCloud security control lifecycle

В облачной системе безопасности и управлении облако может быть динамическим, в то время как большинство предприятий используют относительно стабильные среды.In cloud-native security and governance, the cloud can be dynamic, whereas most enterprises are used to relatively stable environments. Традиционные среды включают элементы управления обнаружением и предотвращением в структурированной организационной модели, которая соответствует традиционным ИТ-функциям, таким как идентификация, работа в сети, управление компьютерами и виртуальными машинами (ВМ).Traditional environments include detection and prevention controls in a structured organizational model that aligns with traditional IT functions like identity, networking, and machine and virtual machine (VM) OS management. Традиционные группы обеспечения безопасности и соответствия требованиям сталкиваются относительно редких изменений в общей структуре и инфраструктуре, а также к необходимым элементам управления и мониторингу для достижения целей обеспечения безопасности и риска.Traditional security and compliance teams face relatively infrequent changes to overall structure and infrastructure, or to required controls and monitoring to achieve security and risk objectives.

Благодаря внедрению моделей Cloud и DevOps безопасность должна адаптироваться к изменениям, поэтому она не станет препятствием для бизнеса и хода выполнения.With the adoption of cloud and DevOps models, security must adapt to changes, so it doesn't become an impediment to business and progress. В процессе адаптации к системе безопасности предусмотрены такие процессы, как создание правильных ролей и обязанностей, а также автоматизация и технические инструменты, такие как сканирование, тестирование и инфраструктура в виде кода.Security adaptations include people processes like creating the right roles and responsibilities, and automation and technical tools like scanning, testing, and infrastructure as code. Эти средства являются частью конвейера DevOps, который обеспечивает инновации и быструю доставку, в то же время соблюдая требования к безопасности.These tools are part of a DevOps pipeline that enables innovation and fast delivery times, while still meeting security requirements.

Искушения — начать с того, что вы делаете сегодня, но ключ мысль заключается в том, что при попытке сделать это в облаке точно так же, как и локально, произойдет сбой.The temptation is to begin by doing what you do today, but the key takeaway is that if you try to do in the cloud exactly what you do today on-premises, you will fail. Внедрение в облако — это возможность изучать, обновлять навыки и повышать уровень безопасности Организации.Cloud adoption is an opportunity to learn, update skills, and increase the organization's security posture. Вы можете установить защиту в качестве активации, а не блокирования, оптимизируя безопасность как часть процесса разработки в рабочем процессе.You can position security to be an enabler rather than a blocker by streamlining security as part of the development to production process. Если вы используете 10-20 лет и более старых средств и процессов, вы наследуете или представите 10-20 лет старые проблемы безопасности, проблемы и разочарования.If you use 10-20 year-old tools and processes, you inherit or introduce 10-20 year-old security challenges, problems, and frustrations. Внедрение облачных технологий — ваш шанс начать новую работу.Cloud adoption is your chance to start fresh.

Начало нового начинается с понимания облака.Starting fresh begins with an understanding of the cloud.

  • Какие доступны облачные службы, элементы управления и видимость?What are the available cloud services, controls, and visibility?
  • Как работают облачные службы и элементы управления?How do you operate the cloud services and controls?
  • Что такое доступные средства обеспечения безопасности и средства управления?What are the available security tools and governance tools?
  • Как можно использовать средства безопасности и управления в процессах и системах, благодаря чему бизнес-процессы могут быть более гибкими с помощью современной модели DevOps?How can you use security and governance tools in processes and systems, so lines of business can be more agile with a modern DevOps model?
  • Как можно обеспечить соблюдение требований к безопасности и соответствию требованиям?How can you make sure to meet security and compliance requirements?

Зачастую проще начать инфраструктуру жизненного цикла с точки зрения процесса, как при создании элементов управления безопасностью, так и при управлении и эксплуатацию элементов управления.It's often easiest to start a lifecycle framework from a process perspective, both in establishing security controls, and managing and operationalizing the controls themselves. Для установки средств управления безопасностью многие клиенты используют общие платформы и стандарты, такие как NIST 800-53, ISO, тесты производительности и HIPAA/HITRUST.For establishing security controls, many customers use common frameworks and standards like NIST 800-53, ISO, CIS benchmarks, and HIPAA/HITRUST. Эти стандарты помогут вам создать комплексную платформу и предоставить рекомендации по созданию, документированию и аудиту средств управления и процессов безопасности.These standards can help establish a comprehensive framework, and offer guidance to help establish, document, and audit security controls and processes.

Для управления и эксплуатацию элементов управления безопасностью можно взглянуть на различные модели, включая процессы жизненного цикла разработки системы безопасности, включающие Cloud и DevOps.For managing and operationalizing security controls, you can look at various models, including security development lifecycle processes that include cloud and DevOps. Эти подходы и модели рассматривают элементы управления безопасностью, такие как любые другие активы в Организации, и включают управление жизненным циклом.These approaches and models treat security controls like any other assets in an organization, and include lifecycle management. На следующей схеме показан пример управления безопасностью в Организации.The following diagram shows an example of an organization's security control lifecycle management:

Диаграмма, показывающая настройку управления жизненным циклом системы управления безопасностью Azure.

Архитектура управления безопасностью AzureAzure security control architecture

Все элементы управления безопасностью Azure начинаются с и поверх Azure Resource Manager API.All Azure security controls start with, and build on top of, the Azure Resource Manager API. На следующей схеме показано, как подсистема политик Azure помогает применять политики независимо от их происхождения.The following diagram shows how the Azure Policy engine helps enforce policies regardless of their origin. Эта возможность важна, так как она означает, что организациям не нужно определять политики в нескольких местах.This ability is important because it means organizations don't have to define policies in multiple places.

Схема, показывающая архитектуру управления безопасностью Azure.

Управление безопасностьюSecurity control governance

Одним из ключевых преимуществ платформы управления безопасностью является его организация и Управление аудитом.One of the key benefits of a security control framework is its incorporation of governance and controls auditing. В дополнение к политике Azure система управления безопасностью Azure включает Центр безопасности Azureс его функциями панели мониторинга " Безопасность и соответствие требованиям".In addition to Azure Policy, Azure security control governance includes Azure Security Center, with its secure score and compliance dashboard features. Соответствие требованиям, в свою основу, — это все, что является наблюдаемым.Compliance, at its core, is all about governance observability. На следующем рисунке показан пример панели мониторинга соответствия:The following image shows a sample compliance dashboard:

Схема управления безопасностью Azure.

Установка средств управления безопасностью AzureAzure security controls setup

В этом разделе рассматривается настройка структуры управления безопасностью, относящейся к Azure.This section walks through setting up an overarching Azure-specific security control framework. В этом разделе предполагается, что элементы безопасности Организации уже установлены.This section assumes organizational security controls are already established. Определение этих средств безопасности выходит за рамки этой статьи.Defining these security controls is out of scope for this article.

В следующих разделах описывается реализация следующих элементов управления в соответствии с требованиями безопасности для вымышленного сценария Contoso Financial.The following sections describe implementing the following controls to meet security requirements for a fictitious Contoso Financials scenario:

  • Заносить в журнал все запросы к облачным API для создания отчетов об аудите.Log all cloud API requests for audit reporting purposes.
  • Включите разрешенные диапазоны IP-адресов для безопасного доступа к серверу API.Enable authorized IP ranges to secure access to the API server.
  • Используйте разрешенные расположения для создания кластеров AKS только в определенных регионах.Use allowed locations to create AKS clusters only in certain regions.

Эти элементы управления являются лишь подмножеством элементов управления безопасностью и политик Azure, включенных в полное развертывание Azure.These controls are just a subset of the security controls and Azure policies that a full Azure deployment includes. Когда вы понимаете процесс, его можно повторить, чтобы реализовать любые другие средства управления безопасностью, необходимые для Организации.Once you understand the process, you can repeat it to implement any other security controls your organization requires.

Регистрация всех запросов облачных API для создания отчетов об аудитеLog all cloud API requests for audit reporting purposes

Журналы действий Azure записывают все взаимодействия Azure Resource Manager, включая журналы аудита.Azure activity logs capture all Azure Resource Manager interactions, including audit logs. Проблема в том, что журналы действий имеют только определенный жизненный цикл хранения.The challenge is that activity logs only have a certain retention lifecycle. Чтобы хранить журналы для отчетов аудита, необходимо экспортировать данные из журналов действий в более устойчивое место хранения, например в журналы Azure Monitor.To retain logs for audit reporting, you must export the data out of the activity logs into a more persistent storage location, such as Azure Monitor Logs.

Руководство по настройке сбора журналов действий для подписки Azure см. в статье Отправка в log Analytics рабочую область.For a tutorial on how to set up activity log collection for an Azure subscription, see Send to a Log Analytics workspace.

На следующем снимке экрана показана запись журнала действий Azure в рабочей области Azure Log Analytics.The following screenshot shows an Azure activity log capture in an Azure Log Analytics workspace:

Снимок экрана, показывающий запись журнала действий.

Включение мониторинга безопасности Azure для проверки диапазонов разрешенных IP-адресовEnable Azure security monitoring to check for authorized IP ranges

Прежде чем создавать все, ознакомьтесь с вашим поставщиком облачных решений для мониторинга безопасности и рекомендациями.Before you create anything, look to your cloud provider for security monitoring best practices and recommendations. Поставщик облачных служб не реализует все средства управления безопасностью, необходимые Организации, но ключ заключается в использовании предоставленных элементов управления, чтобы избежать повторного создания колесика, и создавать пользовательские элементы управления только при необходимости.The cloud provider doesn't implement all the security controls an organization needs, but the key is to use the provided controls to avoid reinventing the wheel, and to create custom controls only when necessary.

В Azure можно включить центр безопасности Azure, чтобы просмотреть рекомендации по мониторингу безопасности.In Azure, you can enable Azure Security Center to see security monitoring recommendations. Вы также можете использовать центр безопасности Azure, чтобы определить, разрешены ли диапазоны разрешенных IP-адресов в кластере AKS.You can also use Azure Security Center to determine whether an AKS cluster has authorized IP ranges enabled.

Сведения о включении центра безопасности Azure уровня "Стандартный" для подписки Azure см. в разделе Краткое руководство. Настройка центра безопасности Azure.To enable Azure Security Center Standard for an Azure subscription, see Quickstart: set up Azure Security Center.

На следующем снимке экрана показан стандартный мониторинг центра безопасности Azure.The following screenshot shows Azure Security Center Standard monitoring:

Снимок экрана со стандартным мониторингом центра безопасности Azure.

Применение политики Azure для создания кластеров AKS только в определенных регионахEnforce an Azure Policy to create AKS clusters only in certain regions

Также просмотрите поставщик облачных служб для применения политик.Also look to the cloud provider for policy enforcement. В Azure оцените политику Azure, которая является ключевой частью плоскости управления предприятием.In Azure, evaluate Azure Policy, which is a key part of the enterprise control plane. Вы не можете выполнить все действия с политикой Azure, но в этом разделе вы сможете использовать предоставляемые ресурсы, чтобы избежать пересчета колесика и создавать пользовательские элементы управления только при необходимости.You can't do everything with Azure Policy, but the key is to use what's provided to avoid reinventing the wheel, and to create custom controls only when necessary.

Вы можете использовать политику Azure для реализации допустимых расположений для создания ресурсов Azure, таких как кластеры AKS.You can use Azure Policy to implement allowed locations for creating Azure resources like AKS clusters. Дополнительные сведения и инструкции см. в разделе Учебник. Создание политик и управление ими для обеспечения соответствия.For more information and instructions, see Tutorial: create and manage policies to enforce compliance.

На следующих снимках экрана показаны шаги использования политики Azure для реализации допустимых расположений регионов.The following screenshots show the steps of using Azure Policy to implement allowed region locations.

  1. Выберите встроенную политику разрешенных расположений в политике Azure.Select the built-in Allowed locations policy in Azure Policy.

    Снимок экрана, показывающий встроенные политики Azure.

  2. Просмотр определения политики и назначение политики.View the policy definition and assign the policy.

    Снимок экрана, показывающий определение политики разрешенных расположений.

  3. Настройте политику.Configure the policy.

    Снимок экрана, показывающий экран конфигурации разрешенных расположений.

  4. Настройте параметры политики.Configure the policy parameters.

    Снимок экрана, показывающий экран параметров разрешенных расположений.

  5. Просмотр назначений политик.View policy assignments.

    Снимок экрана с назначениями политик Azure.

Возможность ограничить создание ресурсов в определенном регионе — это лишь одна из многих доступных политик Azure.The ability to restrict resource creation to a specific region is just one of many available Azure policies.

Управление затратамиCost governance

Управление затратами — это непрерывный процесс реализации политик для управления затратами.Cost governance is the continuous process of implementing policies to control costs. В контексте Kubernetes существует несколько способов, с помощью которых организации могут управлять затратами и оптимизировать их.In the Kubernetes context, there are several ways organizations can control and optimize costs. К ним относятся собственные средства Kubernetes для управления использованием ресурсов и их использования, а также упреждающий мониторинг и оптимизация базовой инфраструктуры.These include native Kubernetes tooling to manage and govern resource usage and consumption and proactively monitor and optimize the underlying infrastructure.

В этом разделе показано, как с помощью кубекост управлять стоимостью кластера AKS.This section shows how to use Kubecost to govern AKS cluster cost. Вы можете ограничить распределение затрат для развертывания, службы, метки, Pod или пространства имен, что обеспечивает гибкость при отсчете или отображении пользователей кластера.You can scope cost allocation to a deployment, service, label, pod, or namespace, which provides flexibility in charging back or showing cluster users.

Установка КубекостInstall Kubecost

Существует несколько вариантов установки Кубекост.There are several Kubecost installation options. Дополнительные сведения см. в разделе Installing кубекост.For more information, see Installing Kubecost.

Чтобы установить Кубекост напрямую, используйте следующие команды:To install Kubecost directly, use the following commands:


# Create the Kubecost namespace

kubectl create namespace kubecost

# Install Kubecost into the AKS cluster

kubectl apply -f https://raw.githubusercontent.com/kubecost/cost-analyzer-helm-chart/master/kubecost.yaml --namespace kubecost

Чтобы установить Кубекост с помощью Helm 2, выполните следующие команды:To install Kubecost by using Helm 2, use the following commands:

helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm install kubecost/cost-analyzer --namespace kubecost --name kubecost --set kubecostToken="YWxnaWJib25AbWljcm9zb2Z0LmNvbQ==xm343yadf98"

Чтобы установить Кубекост с помощью Helm 3, выполните следующие команды:To install Kubecost by using Helm 3, use the following commands:

kubectl create namespace kubecost
helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm install kubecost kubecost/cost-analyzer --namespace kubecost --set kubecostToken="YWxnaWJib25AbWljcm9zb2Z0LmNvbQ==xm343yadf98"

Через несколько минут убедитесь, что Кубекост работает и работает:After a few minutes, check to make sure that Kubecost is up and running:

kubectl get pods -n kubecost

# Connect to the Kubecost dashboard UI

kubectl port-forward -n kubecost svc/kubecost-cost-analyzer 9090:9090

Теперь можно открыть браузер и указать, http://127.0.0.1:9090 чтобы открыть пользовательский интерфейс кубекост.You can now open your browser and point to http://127.0.0.1:9090 to open the Kubecost UI. В пользовательском интерфейсе Кубекост выберите кластер, чтобы просмотреть сведения о распределении затрат.In the Kubecost UI, select your cluster to view cost allocation information.

Кубекост разделяет ресурсы на следующие категории:Kubecost breaks down resources into the following categories:

  • Месячная стоимость кластераMonthly cluster cost
  • Стоимость пространства именNamespace cost
  • Стоимость ресурсов развертыванияDeployment resource cost
  • ЭкономичностьCost efficiency

Выберите кластер, чтобы просмотреть общие сведения, такие как следующая панель мониторинга:Select your cluster to see an overview like the following dashboard:

Снимок экрана, показывающий панель мониторинга Кубекост.

Выберите выделение в левой части, чтобы получить более подробную информацию о затратах на пространство имен ресурсов.Select Allocation on the left to dig down into the namespace cost of your resources. Выделение показывает затраты на ЦП, память, постоянные тома и сеть.Allocation shows the cost for CPU, memory, persistent volumes, and network. Кубекост получает данные из цен Azure, но вы также можете задать настраиваемые затраты для ресурсов.Kubecost gets the data from Azure pricing, but you can also set custom costs for the resources.

Снимок экрана, показывающий экран выделения Кубекост.

Выберите экономия в левой части, чтобы получить сведения о снижении затрат для недостаточного использования ресурсов.Select Savings on the left to dig into cost savings for underutilized resources. Экономия позволяет получить сведения о недостаточно загруженных узлах и модулях Pod и отброшенных ресурсах, а также определяет запросы ресурсов, которые передаются в кластере.Savings gives you information about underutilized nodes and pods and abandoned resources, and identifies resource requests that are overprovisioned within the cluster. На следующем снимке экрана показан пример сокращения для экономии :The following screenshot shows an example Savings overview:

Снимок экрана, показывающий экран экономии Кубекост.

Потратьте некоторое время на навигацию по различным представлениям и функциям, предоставляемым Кубекост.Take some time to navigate around the different views and features that Kubecost provides.

Рекомендации по проектированиюDesign considerations

AKS имеет несколько интерфейсов для других служб Azure, таких как Azure Active Directory, служба хранилища Azure и виртуальная сеть Azure, которые требуют особого внимания на этапе планирования.AKS has several interfaces to other Azure services like Azure Active Directory, Azure Storage, and Azure Virtual Network, which require special attention during the planning phase. AKS также добавляет дополнительную сложность, которая требует применения тех же механизмов обеспечения безопасности, управления и обеспечения соответствия, что и в оставшейся инфраструктуре инфраструктуры.AKS also adds extra complexity that requires you to consider applying the same security, governance, and compliance mechanisms and controls as in the rest of your infrastructure landscape.

Ниже приведены некоторые другие рекомендации по проектированию для управления безопасностью AKS и обеспечения соответствия требованиям.Here are some other design considerations for AKS security governance and compliance:

  • Решите, доступна ли доступ к плоскости управления кластера через Интернет (по умолчанию) или только в пределах определенной виртуальной сети в качестве частного кластера.Decide whether the cluster's control plane is accessible via the internet, which is the default, or only within a specific virtual network as a private cluster.

  • Оцените использование встроенного модуля безопасности AppArmor Linux, чтобы ограничить действия, которые могут выполнять контейнеры, такие как чтение, запись, выполнение или системные функции, такие как монтирование файловых систем.Evaluate using the built-in AppArmor Linux security module to limit actions that containers can perform, like read, write, execute, or system functions like mounting file systems.

  • Оцените использование безопасных вычислений (секкомп) на уровне процесса, чтобы ограничить количество вызовов процессов, которые могут выполнять контейнеры.Evaluate using secure computing (seccomp) at the process level to limit the process calls that containers can perform.

  • Рассмотрите возможность использования защитника Azure для Kubernetes при обнаружении угроз.Consider using Azure Defender for Kubernetes for threat detection.

Рекомендации по проектированиюDesign recommendations