Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Федеральный стандарт обработки информации (FIPS) 140-2 — это стандартный государственный стандарт США, который определяет минимальные требования к безопасности для криптографических модулей в продуктах и системах информационных технологий. Azure Kubernetes Service (AKS) позволяет создавать пулы узлов Linux и Windows с включенным FIPS 140-2. Экземпляры, развернутые в пулах узлов, соответствующих FIPS, могут использовать эти криптографические модули для повышения безопасности и обеспечения соответствия требованиям безопасности в рамках соответствия требованиям FedRAMP. Дополнительные сведения о FIPS 140-2 см. в разделе Федеральный стандарт обработки информации (FIPS) 140.
Внимание
Начиная с march 17, 2027 Azure Kubernetes Service (AKS) больше не поддерживает или предоставляет обновления для системы безопасности для Ubuntu 20.04. Все существующие образы узлов будут удалены, и вы не сможете масштабировать пулы узлов под управлением Ubuntu 20.04. Выполните миграцию в поддерживаемую версию Ubuntu, обновив пулы узлов до Kubernetes версии 1.35+. Дополнительные сведения об этом выводе из эксплуатации см. в вопросе GitHub и объявлении о выводе из эксплуатации в Azure Updates. Чтобы оставаться в курсе объявлений и обновлений, следуйте заметкам о релизах AKS.
Внимание
Начиная с 30 ноября 2025 Azure Kubernetes Service (AKS) больше не поддерживает или не предоставляет обновления системы безопасности для Azure Linux 2.0. Образ узла Azure Linux 2.0 заморожен в выпуске 202512.06.0. Начиная с 31 марта 2026 г. образы узлов будут удалены, и вы не сможете масштабировать пулы узлов. Мигрируйте на поддерживаемую версию Azure Linux путем обновления пулов узлов до поддерживаемой версии Kubernetes или перехода на osSku AzureLinux3. Для получения дополнительной информации см. вопрос на GitHub о завершении поддержки и объявление о завершении поддержки в Azure Updates. Чтобы оставаться в курсе объявлений и обновлений, следуйте заметкам о релизах AKS.
Предварительные условия
Активная подписка Azure. Если у вас нет подписки Azure, создайте учетную запись free перед началом работы.
Задайте контекст подписки с помощью
az account setкоманды. Рассмотрим пример.az account set --subscription "00000000-0000-0000-0000-000000000000"установлен kubectl. Ее можно установить локально с помощью
az aks install-cliкоманды.
- Terraform установлен локально. Инструкции по установке см. в разделе "Установка Terraform".
Совместимость версий
- Azure CLI версии 2.32.0 или более поздней версии, установленной и настроенной. Чтобы узнать версию, выполните команду
az --version. Дополнительные сведения об установке или обновлении Azure CLI см. в разделе Install Azure CLI.
- Примеры шаблонов ARM в этой статье используют версию API
2023-03-01дляMicrosoft.ContainerService/managedClustersиMicrosoft.ContainerService/managedClusters/agentPools.
- Примеры Bicep в данной статье используют версию API
2023-03-01дляMicrosoft.ContainerService/managedClustersиMicrosoft.ContainerService/managedClusters/agentPools.
- Примеры Terraform в этой статье используют провайдер AzureRM 3.x.
- Для параметров FIPS Terraform используйте
enable_fips_imageнаazurerm_kubernetes_cluster.default_node_poolиfips_enabledнаazurerm_kubernetes_cluster_node_pool.
Ограничения
Пулы узлов с поддержкой FIPS имеют следующие ограничения:
- Для пулов узлов, соответствующих FIPS, необходима служба Kubernetes версии 1.19 и выше.
- Чтобы обновить базовые пакеты или модули, используемые для FIPS, необходимо использовать обновление образа узла.
- Образы контейнеров на узлах FIPS не проверяются на соответствие FIPS.
- Подключение общей папки CIFS завершается сбоем, так как FIPS отключает некоторые модули проверки подлинности. Чтобы обойти эту проблему, обратитесь к разделу Ошибки при подключении общей папки на узелах с поддержкой FIPS.
- Пулы узлов с поддержкой FIPS с виртуальными машинами Arm64 поддерживаются только в Azure Linux 3.0+.
- Надстройка мониторинга AKS поддерживает FIPS-совместимые пулы узлов на платформах Ubuntu, Azure Linux и Windows, начиная с версии агента 3.1.17 (для Linux) и Win-3.1.17 (для Windows).
Внимание
Образ Linux, соответствующий FIPS, отличается от образа по умолчанию, используемого для пулов узлов на базе Linux.
Образы узлов с поддержкой FIPS могут иметь разные номера версий, например версию ядра, чем образы, которые не включены в FIPS. Цикл обновления для пулов узлов и образов узлов с включенной поддержкой FIPS может отличаться от циклов обновления для пулов узлов и образов, не поддерживающих FIPS.
Поддерживаемые версии ОС
Пулы узлов с поддержкой FIPS можно создавать во всех поддерживаемых типах ОС (Linux и Windows). Однако не все версии ОС поддерживают пулы узлов с поддержкой FIPS. После выпуска новой версии ОС обычно существует период ожидания, прежде чем он соответствует FIPS.
В следующей таблице перечислены поддерживаемые версии ОС для пулов узлов с поддержкой FIPS:
| Тип ОС | Артикул ОС | Соответствие FIPS | По умолчанию |
|---|---|---|---|
| Линукс | Ubuntu | Поддерживается | Отключено по умолчанию |
| Линукс | Azure Linux | Поддерживается | Отключено по умолчанию |
| Windows | Windows Server 2022 | Поддерживается | Включен по умолчанию |
| Windows | Windows Server 2025 г. | Поддерживается | Включена по умолчанию и не может быть отключена |
При запросе Ubuntu с поддержкой FIPS, если версия Ubuntu по умолчанию не поддерживает FIPS, то AKS по умолчанию переключается на последнюю версию Ubuntu, поддерживающую FIPS. Например, Ubuntu 22.04 по умолчанию используется для пулов узлов Linux. Поскольку версия 22.04 в настоящее время не поддерживает FIPS, AKS по умолчанию выбирает Ubuntu 20.04 для пулов узлов с поддержкой Linux FIPS.
Примечание.
Ранее можно использовать GetOSOptions API для определения того, поддерживается ли данная ОС FIPS. API GetOSOptions объявлен устаревшим и больше не включается в новые версии API AKS, начиная с 2024-05-01.
Создание файла конфигурации Terraform
Файлы конфигурации Terraform определяют инфраструктуру, которую Terraform создает и управляет ею.
Создайте файл с именем
main.tfи добавьте следующий код, чтобы определить версию Terraform и указать поставщика Azure:terraform { required_version = ">= 1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 3.0" } } } provider "azurerm" { features {} }Добавьте следующий код в
main.tfдля создания группы ресурсов Azure. При необходимости вы можете изменить имя и расположение группы ресурсов.resource "azurerm_resource_group" "example" { name = "example-fips-rg" location = "East US" }
Создание кластера AKS с пулом узлов с поддержкой FIPS по умолчанию
При создании нового кластера AKS можно включить FIPS в пуле узлов по умолчанию.
При создании дополнительных пулов узлов в кластере, который уже имеет пул узлов с поддержкой FIPS по умолчанию, необходимо также включить FIPS в новых пулах узлов с помощью --enable-fips-image параметра.
Создайте кластер AKS с включенной поддержкой FIPS в пуле узлов по умолчанию, используя команду
az aks createс параметром--enable-fips-image.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 3 \ --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В следующем примере вывода показано, что пул узлов по умолчанию поддерживает FIPS:
Name enableFips --------- ------------ nodepool1 True
Включение FIPS во время создания кластера AKS в настоящее время не поддерживается на портале Azure. Чтобы создать кластер с пулом узлов с поддержкой FIPS по умолчанию, используйте инструкции Azure CLI, шаблона ARM, Bicep или Terraform.
При создании дополнительных пулов узлов в кластере, который уже имеет пул узлов с поддержкой FIPS по умолчанию, необходимо также включить FIPS в новых пулах узлов, установив для него значение enableFipstrue.
Создайте кластер AKS с включенным FIPS в пуле узлов по умолчанию с помощью шаблона ARM, задав
enableFipsсвойствоtrueв профиле пула агентов. Рассмотрим пример.{ "type": "Microsoft.ContainerService/managedClusters", "location": "[parameters('location')]", "name": "[parameters('clusterName')]", "properties": { "kubernetesVersion": "1.27", "enableRBAC": true, "dnsPrefix": "[parameters('dnsPrefix')]", "agentPoolProfiles": [ { "name": "nodepool1", "count": 3, "vmSize": "Standard_D2s_v3", "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "enableFips": true } ] }, "identity": { "type": "SystemAssigned" } }Разверните шаблон ARM с помощью портала Azure, Azure CLI или Azure PowerShell. Дополнительные сведения о развертывании шаблонов ARM см. в статье "Развертывание ресурсов с помощью шаблонов ARM".
Проверьте, включена ли в вашем пуле узлов поддержка FIPS, используя команду
az aks showи запрос значения enableFIPS в agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableВ следующем примере вывода показано, что пул узлов по умолчанию поддерживает FIPS:
Name enableFips --------- ------------ nodepool1 True
При создании дополнительных пулов узлов в кластере, который уже имеет пул узлов с поддержкой FIPS по умолчанию, необходимо также включить FIPS в новых пулах узлов, установив для него значение enableFIPStrue.
Создайте кластер AKS с поддержкой FIPS в пуле узлов по умолчанию с помощью Bicep, задав в профиле агентного пула параметру
enableFIPSзначениеtrue. Рассмотрим пример.param location string param clusterName string param dnsPrefix string resource aks 'Microsoft.ContainerService/managedClusters@2023-03-01' = { name: clusterName location: location identity: { type: 'SystemAssigned' } properties: { kubernetesVersion: '1.27' enableRBAC: true dnsPrefix: dnsPrefix agentPoolProfiles: [ { name: 'nodepool1' count: 3 vmSize: 'Standard_D2s_v3' osType: 'Linux' osSKU: 'Ubuntu' type: 'VirtualMachineScaleSets' mode: 'System' enableFIPS: true } ] } }Разверните файл Bicep с помощью Azure CLI, Azure PowerShell или портала Azure. Дополнительные сведения о развертывании файлов Bicep см. в статье Create Bicep files using Visual Studio Code.
Проверьте, включена ли в вашем пуле узлов поддержка FIPS, используя команду
az aks showи запрос значения enableFIPS в agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableВ следующем примере вывода показано, что пул узлов по умолчанию поддерживает FIPS:
Name enableFips --------- ------------ nodepool1 True
При создании дополнительных пулов узлов в кластере, который уже имеет пул узлов по умолчанию с поддержкой FIPS, необходимо также включить FIPS в новых пулах узлов, установив параметр fips_enabled в значение true на azurerm_kubernetes_cluster_node_pool.
Добавьте следующий код в
main.tf, чтобы создать кластер AKS с включенным FIPS в пуле узлов по умолчанию:resource "azurerm_kubernetes_cluster" "example" { name = "example-aks-cluster" location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name dns_prefix = "example-aks" default_node_pool { name = "nodepool1" node_count = 3 vm_size = "Standard_D2s_v3" os_sku = "Ubuntu" enable_fips_image = true } identity { type = "SystemAssigned" } }Инициализируйте Terraform в каталоге, содержащем ваш файл
main.tf, с помощью командыterraform init.terraform initСоздайте план выполнения Terraform с помощью
terraform planкоманды.terraform planПримените конфигурацию с помощью
terraform applyкоманды для развертывания кластера с пулом узлов с поддержкой FIPS по умолчанию.terraform applyПодключитесь к кластеру AKS с помощью команды [
az aks get-credentials][az-aks-get-credentials].az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterПроверьте, включена ли в вашем пуле узлов поддержка FIPS, используя команду
az aks showи запрос значения enableFIPS в agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o tableВ следующем примере вывода показано, что пул узлов по умолчанию поддерживает FIPS:
Name enableFips --------- ------------ nodepool1 True
Дополнительные сведения о ресурсе azurerm_kubernetes_cluster см. в документации по поставщику Terraform Azure.
Добавление пула узлов Linux с поддержкой FIPS в существующий кластер AKS
Добавьте пул узлов Linux с поддержкой FIPS в существующий кластер с помощью
az aks nodepool addкоманды с параметром--enable-fips-image.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-imageПроверьте конфигурацию пула узлов с помощью
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, которую развертывания могут использовать для обращения к этим пулам узлов.
Включение FIPS при добавлении пула узлов Linux в настоящее время не поддерживается на портале Azure. Чтобы добавить пул узлов Linux с поддержкой FIPS, используйте инструкции Azure CLI, шаблона ARM, Bicep или Terraform.
Создайте пул узлов Linux с поддержкой FIPS с помощью шаблона ARM, развернув ресурс пула агентов с заданным
enableFipsсвойствомtrue. Рассмотрим пример.{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "apiVersion": "2023-03-01", "name": "[concat(parameters('clusterName'), '/fipsnp')]", "properties": { "count": 3, "vmSize": "Standard_D2s_v3", "osType": "Linux", "osSKU": "Ubuntu", "mode": "User", "enableFips": true } }Разверните шаблон ARM с помощью портала Azure, Azure CLI или Azure PowerShell. Дополнительные сведения о развертывании шаблонов ARM см. в статье "Развертывание ресурсов с помощью шаблонов ARM".
Проверьте конфигурацию пула узлов с помощью
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, которую развертывания могут использовать для обращения к этим пулам узлов.
Создайте пул узлов Linux с поддержкой FIPS с помощью Bicep путем развертывания ресурса пула агентов с
enableFIPSдля параметраtrue. Рассмотрим пример.param clusterName string param nodePoolName string = 'fipsnp' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { count: 3 vmSize: 'Standard_D2s_v3' osType: 'Linux' osSKU: 'Ubuntu' mode: 'User' enableFIPS: true } }Разверните файл Bicep с помощью Azure CLI, Azure PowerShell или портала Azure. Дополнительные сведения о развертывании файлов Bicep см. в статье Create Bicep files using Visual Studio Code.
Проверьте конфигурацию пула узлов с помощью
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, которую развертывания могут использовать для обращения к этим пулам узлов.
Добавьте следующий код в
main.tf, чтобы добавить пул узлов Linux с поддержкой FIPS в кластер AKS:resource "azurerm_kubernetes_cluster_node_pool" "fips_linux" { name = "fipsnp" kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id vm_size = "Standard_D2s_v3" os_type = "Linux" os_sku = "Ubuntu" node_count = 3 fips_enabled = true node_taints = [] }Примените обновленную конфигурацию Terraform, используя команды
terraform planиterraform apply.terraform plan terraform applyПодключитесь к кластеру AKS с помощью команды [
az aks get-credentials][az-aks-get-credentials].az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterПроверьте конфигурацию пула узлов с помощью
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, которую развертывания могут использовать для обращения к этим пулам узлов.
Дополнительные сведения о ресурсе azurerm_kubernetes_cluster_node_pool см. в документации по поставщику Terraform Azure.
Добавление пула узлов Windows с поддержкой FIPS
В этом разделе мы добавим пул узлов Windows в существующий кластер AKS.
В пулах узлов Windows Server 2022 и более поздних версий FIPS включен по умолчанию, даже если enableFips не отображает True. пулы узлов Windows Server 2025 и более поздних версий не поддерживают отключение FIPS.
Создайте пул узлов Windows с помощью команды
az aks nodepool add. В отличие от пулов узлов на основе Linux, Windows пулы узлов используют один и тот же набор образов.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image \ --os-type WindowsПроверьте конфигурацию пула узлов с помощью
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 в пуле узлов и проверке реестра. В программе 'Выполнить' введите
regedit.Найдите
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicyв реестре.Если
Enabledустановлено в 1, то FIPS включен.
Пулы узлов с включенной поддержкой FIPS также имеют метку kubernetes.azure.com/fips_enabled=true, которую развертывания могут использовать для обращения к этим пулам узлов.
Нет возможности Azure портала для включения или отключения параметров FIPS для пулов узлов Windows. Все пулы узлов Windows, созданные с помощью портала Azure, имеют активированную функцию FIPS. Windows Server 2022 и более поздние версии пулов узлов включают FIPS по умолчанию, а пулы узлов Windows Server 2025 и более поздние версии не поддерживают отключение FIPS.
Создайте пул узлов Windows с помощью шаблона ARM, развернув ресурс пула агентов, в котором
osTypeустановлен наWindows. Рассмотрим пример.{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "apiVersion": "2023-03-01", "name": "[concat(parameters('clusterName'), '/fipsnp')]", "properties": { "count": 3, "vmSize": "Standard_D2s_v3", "osType": "Windows", "osSKU": "Windows2022", "mode": "User" } }Разверните шаблон ARM с помощью портала Azure, Azure CLI или Azure PowerShell. Дополнительные сведения о развертывании шаблонов ARM см. в статье "Развертывание ресурсов с помощью шаблонов ARM".
Проверьте конфигурацию пула узлов с помощью
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 в пуле узлов и проверке реестра. В программе 'Выполнить' введите
regedit.Найдите
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicyв реестре.Если
Enabledустановлено в 1, то FIPS включен.
Пулы узлов с включенной поддержкой FIPS также имеют метку kubernetes.azure.com/fips_enabled=true, которую развертывания могут использовать для обращения к этим пулам узлов.
Создайте пул узлов Windows через Bicep, развернув ресурс пула агентов с
osTypeустановленным наWindows. Рассмотрим пример.param clusterName string param nodePoolName string = 'fipsnp' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { count: 3 vmSize: 'Standard_D2s_v3' osType: 'Windows' osSKU: 'Windows2022' mode: 'User' enableFIPS: true } }Разверните файл Bicep с помощью Azure CLI, Azure PowerShell или портала Azure. Дополнительные сведения о развертывании файлов Bicep см. в статье Create Bicep files using Visual Studio Code.
Проверьте конфигурацию пула узлов с помощью
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 в пуле узлов и проверке реестра. В программе 'Выполнить' введите
regedit.Найдите
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicyв реестре.Если
Enabledустановлено в 1, то FIPS включен.
Пулы узлов с включенной поддержкой FIPS также имеют метку kubernetes.azure.com/fips_enabled=true, которую развертывания могут использовать для обращения к этим пулам узлов.
Добавьте следующий код в
main.tf, чтобы создать пул узлов Windows в кластере AKS:resource "azurerm_kubernetes_cluster_node_pool" "fips_windows" { name = "fipsnp" kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id vm_size = "Standard_D2s_v3" os_type = "Windows" os_sku = "Windows2022" node_count = 3 fips_enabled = true node_taints = [] }Примените обновленную конфигурацию Terraform, используя команды
terraform planиterraform apply.terraform plan terraform applyПодключитесь к кластеру AKS с помощью команды [
az aks get-credentials][az-aks-get-credentials].az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterПроверьте конфигурацию пула узлов с помощью
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 в пуле узлов и проверке реестра. В программе 'Выполнить' введите
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. Если необходимо установить или обновить, см. раздел Install Azure CLI.
Включите 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
Включение FIPS в существующем пуле узлов в настоящее время не поддерживается на портале Azure. Чтобы включить FIPS в существующем пуле узлов, используйте Azure CLI, шаблоны ARM, инструкции Bicep или Terraform, описанные в этой статье.
Включите FIPS в существующем пуле узлов с помощью шаблона ARM, обновив профиль пула агентов, установив свойство
enableFipsв значениеtrue. Рассмотрим пример.{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "[concat(parameters('clusterName'), '/np')]", "apiVersion": "2023-03-01", "properties": { "enableFips": true } }Разверните обновленный шаблон с помощью портала Azure, Azure CLI или Azure PowerShell. Дополнительные сведения о развертывании шаблонов ARM см. в статье "Развертывание ресурсов с помощью шаблонов ARM".
Проверьте, включена ли в вашем пуле узлов поддержка 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
Включите FIPS в существующем пуле нодов с помощью Bicep, обновив ресурс пула агентов для установки
enableFIPSвtrue. Рассмотрим пример.param clusterName string param nodePoolName string = 'np' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { enableFIPS: true } }Разверните обновленный файл Bicep с помощью Azure CLI, Azure PowerShell или портала Azure. Дополнительные сведения о развертывании файлов Bicep см. в статье Create Bicep files using Visual Studio Code.
Убедитесь, что ваш пул узлов с поддержкой 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
Обновите ресурс
azurerm_kubernetes_cluster_node_poolвmain.tf, установивfips_enabledнаtrue:resource "azurerm_kubernetes_cluster_node_pool" "example" { name = "np" kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id vm_size = "Standard_D2s_v3" os_type = "Linux" os_sku = "Ubuntu" node_count = 3 fips_enabled = true }Примените обновленную конфигурацию Terraform, используя команды
terraform planиterraform apply. Terraform обнаруживает изменениеfips_enabledи запускает необходимую операцию переустановки образа.terraform plan terraform applyПодключитесь к кластеру AKS с помощью команды [
az aks get-credentials][az-aks-get-credentials].az aks get-credentials \ --resource-group myResourceGroup \ --name myAKSClusterПроверьте, включена ли в вашем пуле узлов поддержка 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
Отключение 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
Отключение FIPS в существующем пуле узлов в настоящее время не поддерживается на портале Azure. Чтобы отключить FIPS в существующем пуле узлов, используйте инструкции Azure CLI, шаблона ARM, Bicep или Terraform в этой статье.
Отключите FIPS в существующем пуле узлов с помощью шаблона ARM, обновив профиль пула агентов, чтобы установить значение свойства
enableFipsнаfalse. Рассмотрим пример.{ "type": "Microsoft.ContainerService/managedClusters/agentPools", "name": "[concat(parameters('clusterName'), '/np')]", "apiVersion": "2023-03-01", "properties": { "enableFips": false } }Разверните обновленный шаблон с помощью портала Azure, Azure CLI или Azure PowerShell. Дополнительные сведения о развертывании шаблонов ARM см. в статье "Развертывание ресурсов с помощью шаблонов ARM".
Убедитесь, что ваш пул узлов не поддерживает 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
Отключите FIPS в существующем пуле узлов с помощью Bicep, обновив ресурс пула агентов, чтобы задать
enableFIPSзначениеfalse. Рассмотрим пример.param clusterName string param nodePoolName string = 'np' resource nodePool 'Microsoft.ContainerService/managedClusters/agentPools@2023-03-01' = { name: '${clusterName}/${nodePoolName}' properties: { enableFIPS: false } }Разверните обновленный файл Bicep с помощью Azure CLI, Azure PowerShell или портала Azure. Дополнительные сведения о развертывании файлов Bicep см. в статье Create Bicep files using Visual Studio Code.
Убедитесь, что ваш пул узлов не поддерживает 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
Обновите ресурс
azurerm_kubernetes_cluster_node_poolвmain.tf, установивfips_enabledнаfalse:resource "azurerm_kubernetes_cluster_node_pool" "example" { name = "np" kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id vm_size = "Standard_D2s_v3" os_type = "Linux" os_sku = "Ubuntu" node_count = 3 fips_enabled = false }Примените обновленную конфигурацию Terraform, используя команды
terraform planиterraform apply. Terraform обнаруживает изменениеfips_enabledи запускает необходимую операцию переустановки образа.terraform plan terraform applyУбедитесь, что ваш пул узлов не поддерживает 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
Сообщение дня
Вы можете заменить сообщение дня (MOTD) на узлах Linux с помощью --message-of-the-day флага при создании кластера или добавлении пула узлов.
Создайте кластер и замените сообщение дня с помощью команды az aks create с флагом --message-of-the-day, установленным на путь к новому файлу MOTD.
az aks create --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Добавьте пул узлов и замените сообщение дня с помощью az aks nodepool add команды флагом --message-of-the-day , заданным для пути нового файла MOTD.
az aks nodepool add --name mynodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt
Связанный контент
Дополнительные сведения о безопасности AKS см. в статье Best practices for cluster security and upgrades in Azure Kubernetes Service (AKS).