Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Федеральный стандарт обработки информации (FIPS) 140-2 — это стандартный государственный стандарт США, который определяет минимальные требования к безопасности для криптографических модулей в продуктах и системах информационных технологий. Служба Azure Kubernetes (AKS) позволяет создавать пулы узлов Linux и Windows с поддержкой FIPS 140-2. Экземпляры, развернутые в пулах узлов, соответствующих FIPS, могут использовать эти криптографические модули для повышения безопасности и обеспечения соответствия требованиям безопасности в рамках соответствия требованиям FedRAMP. Дополнительные сведения о FIPS 140-2 см. в разделе Федеральный стандарт обработки информации (FIPS) 140.
Осторожность
В этой статье содержатся ссылки на функцию, которая может использовать версии ОС Ubuntu, которые устарели для AKS.
- Начиная с 17 июня 2025 года AKS больше не будет поддерживать Ubuntu 18.04. Существующие образы узлов будут удалены, а AKS больше не будет предоставлять обновления безопасности. Вы больше не сможете масштабировать пулы узлов. Обновите пулы узлов до поддерживаемой версии Kubernetes, чтобы перейти на поддерживаемую версию Ubuntu.
- Начиная с 17 марта 2027 года AKS больше не будет поддерживать Ubuntu 20.04. Существующие образы узлов будут удалены, а AKS больше не будет предоставлять обновления безопасности. Вы больше не сможете масштабировать пулы узлов. Обновите пулы узлов до kubernetes версии 1.34+, чтобы перейти на поддерживаемую версию Ubuntu. Дополнительные сведения об этой отставке см. в разделе "Проблемы с AKS GitHub"
Предварительные условия
Azure CLI версии 2.32.0 или более поздней версии, установленной и настроенной. Чтобы узнать версию, выполните команду az --version
. Дополнительные сведения об установке или обновлении Azure CLI см. в разделе Установка Azure CLI.
Примечание.
Надстройка мониторинга AKS поддерживает пулы узлов с включенной поддержкой FIPS для Ubuntu, Azure Linux и Windows, начиная с версии агента 3.1.17 для Linux и Win-3.1.17 для Windows.
Ограничения
- Пулы узлов с поддержкой FIPS имеют следующие ограничения:
- Для пулов узлов, соответствующих FIPS, необходима служба Kubernetes версии 1.19 и выше.
- Чтобы обновить базовые пакеты или модули, используемые для FIPS, необходимо использовать Обновление образа узла.
- Образы контейнеров на узлах FIPS не проверяются на соответствие FIPS.
- Подключение общей папки CIFS завершается сбоем, так как FIPS отключает некоторые модули проверки подлинности. Чтобы обойти эту проблему, обратитесь к разделу Ошибки при подключении общей папки на узелах с поддержкой FIPS.
- Пулы узлов с поддержкой FIPS с виртуальными машинами Arm64 поддерживаются только в Azure Linux 3.0+.
Внимание
Образ Linux, соответствующий FIPS, отличается от образа по умолчанию, используемого для пулов узлов на базе Linux.
Образы узлов с поддержкой FIPS могут иметь разные номера версий, например версию ядра, чем образы, которые не включены в FIPS. Цикл обновления для пулов узлов и образов узлов с включенной поддержкой FIPS может отличаться от циклов обновления для пулов узлов и образов, не поддерживающих FIPS.
Поддерживаемые версии ОС
Пулы узлов с поддержкой FIPS можно создавать во всех поддерживаемых типах ОС (Linux и Windows). Однако не все версии ОС поддерживают пулы узлов с поддержкой FIPS. После выпуска новой версии ОС обычно существует период ожидания, прежде чем он соответствует FIPS.
Эта таблица включает поддерживаемые версии ОС:
Тип ОС | Артикул ОС | Соответствие FIPS |
---|---|---|
Линукс | Ubuntu | Поддерживается |
Линукс | Azure Linux | Поддерживается |
Виндоус | Windows Server 2019 | Поддерживается |
Виндоус | Windows Server 2022 | Поддерживается |
При запросе версии Ubuntu с включенной поддержкой FIPS, если версия Ubuntu по умолчанию не поддерживает FIPS, AKS по умолчанию использует последнюю версию Ubuntu с поддержкой FIPS. Например, Ubuntu 22.04 по умолчанию используется для пулов узлов Linux. Поскольку версия 22.04 в настоящее время не поддерживает FIPS, AKS по умолчанию выбирает Ubuntu 20.04 для пулов узлов с поддержкой Linux FIPS.
Примечание.
Ранее можно использовать API GetOSOptions для определения того, поддерживается ли данная ОС FIPS. API GetOSOptions теперь устарел, и он больше не будет включен в новые версии API AKS, начиная с 2024-05-01.
Создание пула узлов Linux с поддержкой FIPS
Создайте пул узлов Linux с поддержкой FIPS с помощью команды az aks nodepool add с параметром
--enable-fips-image
.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image
Примечание.
Вы также можете использовать
--enable-fips-image
параметр с командой az aks create при создании кластера, чтобы включить FIPS в пуле узлов по умолчанию. При добавлении пулов узлов в кластер, созданный таким образом, для создания пула узлов с поддержкой FIPS необходимо использовать параметр--enable-fips-image
.Убедитесь, что пул узлов включил поддержку FIPS с помощью команды az aks show и проверьте значение enableFIPS в agentPoolProfiles.
az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
В следующем примере выходных данных показано, что пул узлов fipsnp поддерживает FIPS:
Name enableFips --------- ------------ fipsnp True nodepool1 False
Перечислите узлы с помощью команды
kubectl get nodes
.kubectl get nodes
В следующем примере выходных данных показан список узлов в кластере. Узлы, начиная с
aks-fipsnp
, являются частью пула узлов с поддержкой FIPS.NAME STATUS ROLES AGE VERSION aks-fipsnp-12345678-vmss000000 Ready agent 6m4s v1.19.9 aks-fipsnp-12345678-vmss000001 Ready agent 5m21s v1.19.9 aks-fipsnp-12345678-vmss000002 Ready agent 6m8s v1.19.9 aks-nodepool1-12345678-vmss000000 Ready agent 34m v1.19.9
Запустите развертывание с интерактивным сеансом на одном из узлов в пуле узлов с поддержкой FIPS с помощью
kubectl debug
команды.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
В выходных данных интерактивного сеанса убедитесь, что включены криптографические библиотеки FIPS. Выходные данные должны выглядеть примерно так:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1
Пулы узлов с включенной поддержкой FIPS также имеют метку kubernetes.azure.com/fips_enabled=true, которую развертывания могут использовать для обращения к этим пулам узлов.
Создание пула узлов Windows с поддержкой FIPS
Создайте пул узлов Windows с поддержкой FIPS с помощью команды az aks nodepool add с параметром
--enable-fips-image
. В отличие от пулов узлов Linux пулы узлов Windows используют один набор образов.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image \ --os-type Windows
Убедитесь, что ваш пул узлов с поддержкой FIPS включён, используя команду az aks show и запрос для значения enableFIPS в agentPoolProfiles.
az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Убедитесь, что пулы узлов Windows имеют доступ к криптографическим библиотекам FIPS, создав подключение RDP к узлу Windows в пуле узлов с поддержкой FIPS и проверьте реестр. В программе 'Выполнить' введите
regedit
.Найдите
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy
в реестре.Если
Enabled
установлено в 1, то FIPS включен.Пулы узлов с включенной поддержкой FIPS также имеют метку kubernetes.azure.com/fips_enabled=true, которую развертывания могут использовать для обращения к этим пулам узлов.
Обновление существующего пула узлов для включения или отключения FIPS
Существующие пулы узлов Linux можно обновить, чтобы включить или отключить FIPS. Если вы планируете перенести пулы узлов из не FIPS в FIPS, сначала проверьте правильность работы приложения в тестовой среде перед переносом в рабочую среду. Проверка приложения в тестовой среде должна предотвратить проблемы, вызванные блокировкой ядра FIPS некоторых слабых шифров или алгоритмов шифрования, таких как алгоритм MD4, который не соответствует FIPS.
Примечание.
При обновлении существующего пула узлов Linux для включения или отключения FIPS обновление пула узлов перемещается между образами fips и не-fips. Обновление пула узлов вызывает переустановку, чтобы завершить обновление. Это может привести к тому, что обновление пула узлов займет несколько минут.
Предварительные условия
Azure CLI версии 2.64.0 или более поздней. Чтобы узнать версию, выполните команду az --version
. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
Включите FIPS на существующем пуле узлов
Существующие пулы узлов Linux можно обновить, чтобы включить FIPS. При обновлении существующего пула узлов образ узла изменяется с текущего образа на рекомендуемый образ FIPS того же SKU ОС.
Обновите пул узлов с помощью команды az aks nodepool update с параметром
--enable-fips-image
.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --enable-fips-image
Эта команда запускает повторное представление пула узлов немедленно для развертывания совместимой операционной системы FIPS. Это повторное создание происходит во время обновления пула узлов. Дополнительные шаги не требуются.
Убедитесь, что в пуле узлов включена поддержка FIPS с помощью команды az aks show и запроса для значения enableFIPS в agentPoolProfiles.
az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
В следующем примере выходных данных показано, что пул узлов np поддерживает FIPS.
Name enableFips --------- ------------ np True nodepool1 False
Перечислите узлы с помощью команды
kubectl get nodes
.kubectl get nodes
В следующем примере выходных данных показан список узлов в кластере. Узлы, начиная с
aks-np
, являются частью пула узлов с поддержкой FIPS.NAME STATUS ROLES AGE VERSION aks-np-12345678-vmss000000 Ready agent 6m4s v1.19.9 aks-np-12345678-vmss000001 Ready agent 5m21s v1.19.9 aks-np-12345678-vmss000002 Ready agent 6m8s v1.19.9 aks-nodepool1-12345678-vmss000000 Ready agent 34m v1.19.9
Запустите развертывание с интерактивным сеансом на одном из узлов в пуле узлов с поддержкой FIPS с помощью
kubectl debug
команды.kubectl debug node/aks-np-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
В выходных данных интерактивного сеанса убедитесь, что включены криптографические библиотеки FIPS. Выходные данные должны выглядеть примерно так:
root@aks-np-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1
Пулы узлов с включенной поддержкой FIPS также имеют метку kubernetes.azure.com/fips_enabled=true, которую развертывания могут использовать для обращения к этим пулам узлов.
Отключение FIPS в существующем пуле узлов
Существующие пулы узлов Linux можно обновить, чтобы отключить FIPS. При обновлении существующего пула узлов образ узла изменяется с текущего FIPS образа на рекомендуемый не-FIPS образ с такой же SKU ОС. Изменение образа узла произойдет после повторного создания образа.
Обновите пул узлов Linux с помощью команды az aks nodepool update с параметром
--disable-fips-image
.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --disable-fips-image
Эта команда запускает повторное представление пула узлов немедленно для развертывания совместимой операционной системы FIPS. Это повторное создание происходит во время обновления пула узлов. Дополнительные шаги не требуются.
Проверьте, что в вашем пуле узлов не включен режим FIPS, с помощью команды az aks show и запроса значения enableFIPS в agentPoolProfiles.
az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
В следующем примере выходных данных показано, что пул узлов np не поддерживает FIPS.
Name enableFips --------- ------------ np False nodepool1 False
Сообщение дня
--message-of-the-day
Передайте флаг с расположением файла, чтобы заменить сообщение дня на узлах Linux при создании кластера или создании пула узлов.
Создайте кластер с сообщением дня с помощью команды az aks create .
az aks create --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Добавьте пул узлов с сообщением дня с помощью команды az aks nodepool add .
az aks nodepool add --name mynodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Следующие шаги
Дополнительные сведения о безопасности AKS см. в разделе Рекомендации по обеспечению безопасности кластера и обновления в службе Azure Kubernetes (AKS).
Azure Kubernetes Service