Zum Hauptinhalt springen
Diese Seite gilt nur für Azure AKS-Bereitstellungen. Die Konfiguration der FIPS-Konformität ist nicht für Virtual-Machine-Bereitstellungen anwendbar.

Übersicht

Die Einhaltung des Federal Information Processing Standard (FIPS) 140-2 ist für bestimmte Bereitstellungen bei US-Behörden und in regulierten Branchen erforderlich. Das Aktivieren der FIPS-Konformität in Ihrer Vantage-Bereitstellung erfordert spezifische Konfigurationsänderungen beim Einrichten der Infrastruktur und während der Installation.

Hauptunterschiede zur Standardbereitstellung

KomponenteStandardbereitstellungFIPS-aktivierte Bereitstellung
Redis-Version6.2 oder höhernur 6.2 bis 7.0.7
DateifreigabetypSMBNFS
AKS-KnotenpoolsStandardFIPS-aktiviert
Speicherzugrifföffentlich oder privatnur virtuelles Netzwerk (für NFS)

Anforderungen

Redis-Versionsbeschränkung

Für FIPS-Konformität muss Redis in einer Version zwischen 6.2 und 7.0.7 ausgeführt werden (keine neuere Version). Versionen 7.0.8 und höher werden für FIPS-Bereitstellungen nicht unterstützt.

Hinweise zu NFS-Freigaben

Wenn FIPS aktiviert ist, werden Network File System (NFS)-Freigaben anstelle von SMB-Freigaben verwendet:
  • Die Konfiguration eines Speicherkontos für NFS-Freigaben kann den Zugriff über öffentliche IP-Adressen zulassen
  • Sie können NFS-Freigaben jedoch nicht über eine öffentliche IP-Adresse einbinden
  • Sie können nur von einem Computer in einem virtuellen Netzwerk, das vom Speicherkonto als vertrauenswürdig eingestuft ist, eine Verbindung mit NFS-Freigaben herstellen

Erstellung der Infrastruktur mit FIPS

Wenn Sie Azure-Infrastruktur für eine FIPS-konforme Bereitstellung erstellen, fügen Sie den Parameter enableFIPS=true zu den Bereitstellungen der ARM-Vorlagen hinzu.

AKS-Cluster mit FIPS erstellen

az deployment group create --name aks-cluster \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/Cluster.Manual.json \
  --parameters kubernetesClusterName=<cluster_name> \
  --parameters enableFIPS=true

Zugriff auf NFS-Freigabe konfigurieren

Nachdem Sie den FIPS-aktivierten Cluster erstellt haben, führen Sie die folgenden Befehle aus, um das Speicherkonto mit der NFS-Freigabe zu verbinden:
# Principal-ID des AKS-Clusters abrufen
export principalId=$(az aks show --name <cluster_name> -g <resource_group_name> \
  -o tsv --query identity.principalId)

# Subnetz-Bereich abrufen
export scope=$(az aks show --name <cluster_name> -g <resource_group_name> \
  -o tsv --query agentPoolProfiles[*].vnetSubnetId | uniq)

# Rollenzuweisung für Cluster-Zugriff auf Speicher erstellen
az role assignment create --role "Contributor" \
  --assignee-principal-type ServicePrincipal \
  --assignee-object-id $principalId \
  --scope $scope

Erstellen von Speicherkonten mit FIPS

az deployment group create --name storage \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/StorageAccounts.Template.json \
  --parameters kubernetesClusterName=<cluster_name> \
  --parameters enableFIPS=true

Konfigurations-Parameter

env_specific.yml

Aktivieren Sie die FIPS-Unterstützung, indem Sie den folgenden Parameter setzen:
k8s_fips_enabled: true

Azure Government Cloud

Wenn Sie in der Azure Government Cloud bereitstellen, fügen Sie den Parameter s3endpointSuffix unmittelbar nach k8s_fips_enabled hinzu:
k8s_fips_enabled: true
s3endpointSuffix: core.usgovcloudapi.net
Fügen Sie s3endpointSuffix nur hinzu, wenn Sie in der Azure Government Cloud bereitstellen. Geben Sie diesen Parameter bei Standardbereitstellungen in der kommerziellen Azure-Cloud nicht an.

Vollständiges Beispiel für eine FIPS-Konfiguration

env: vantage
poc: false

domain: yourdomain.gov
product_host: "vantage.{{ domain }}"

loadbalancer:
  external_ip: X.X.X.X

container_registry_host: "registry.yourdomain.gov"
container_registry_user: "service"
container_registry_password: "password"
container_registry_name: "{{ container_registry_host }}/vantage"

techcore:
  use_gpu_workers: false
  use_nn_extraction_training_workers: false

logging:
  enabled: true
  elasticsearch:
    enabled: false
  file:
    enabled: true

platform_admin_email: [email protected]

smtp:
  host: X.X.X.X
  login: null
  password: ""
  port: 587
  useSSL: false

mailFrom: [email protected]

database:
  type: sqlserver
  host: X.X.X.X
  username: login
  password: password
  encrypt: true  # Recommended for FIPS

s3storage:
  skills:
    accessKey: skills_storage_account_name
    secretKey: skills_storage_account_key
  processing:
    accessKey: processing_storage_account_name
    secretKey: processing_storage_account_key
  temporary:
    accessKey: temporary_storage_account_name
    secretKey: temporary_storage_account_key
  sharedfolder:
    accessKey: sharedfolder_storage_account_name
    secretKey: sharedfolder_storage_account_key
    resourcegroup: your_resource_group
  archive:
    accessKey: archive_storage_account_name
    secretKey: archive_storage_account_key

# Redis-Cluster - Version 6.2 bis 7.0.7 für FIPS erforderlich
redis:
  ips: ['172.16.10.101', '172.16.10.102', '172.16.10.103', '172.16.10.104', '172.16.10.105', '172.16.10.106']
  port: 6379
  password: redispassword
  ssl: true  # Recommended for FIPS

reporting:
  enabled: false

id_reading:
  enabled: false

# FIPS Configuration
k8s_fips_enabled: true

# Uncomment for Azure Government Cloud only:
# s3endpointSuffix: core.usgovcloudapi.net

Überprüfung

Überprüfen Sie nach der Bereitstellung, ob FIPS auf Ihren AKS-Knoten aktiviert ist:
# Node-Informationen abrufen
kubectl get nodes -o wide

# FIPS-Status auf einem Node überprüfen (zuerst mit Node verbinden)
cat /proc/sys/crypto/fips_enabled
# Ausgabe: 1 (FIPS aktiviert) oder 0 (FIPS deaktiviert)