> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conformité à la norme FIPS

> Configurez la conformité à la norme FIPS 140-2 pour ABBYY Vantage auto-hébergé sur Azure AKS : versions de Redis, partages de fichiers NFS, pools de nœuds avec FIPS activé et règles de stockage.

<Note>
  Cette page s’applique uniquement aux déploiements **Azure AKS**. La configuration de la conformité à la norme FIPS ne concerne pas les déploiements sur machine virtuelle.
</Note>

<div id="overview">
  ## Vue d’ensemble
</div>

La conformité à la norme FIPS 140-2 est requise pour certains déploiements au sein du gouvernement des US et dans des secteurs réglementés. Pour activer la conformité à la norme FIPS dans votre déploiement Vantage, vous devez apporter des modifications de configuration spécifiques lors de la création de l’infrastructure et de l’installation.

<div id="key-differences-from-standard-deployment">
  ## Principales différences par rapport au déploiement standard
</div>

| Composant                   | Déploiement standard | Déploiement avec FIPS activé         |
| --------------------------- | -------------------- | ------------------------------------ |
| Version de Redis            | 6.2 ou ultérieure    | 6.2 à 7.0.7 uniquement               |
| Type de partage de fichiers | SMB                  | NFS                                  |
| Pools de nœuds AKS          | Standard             | avec FIPS activé                     |
| Accès au stockage           | Public ou privé      | Réseau virtuel uniquement (pour NFS) |

<div id="requirements">
  ## Prérequis
</div>

<div id="redis-version-restriction">
  ### Restriction de version pour Redis
</div>

<Warning>
  Pour assurer la conformité à la norme FIPS, Redis doit être en version **6.2 à 7.0.7** (et non plus récente). Les versions 7.0.8 et ultérieures ne sont pas prises en charge pour les déploiements conformes à la norme FIPS.
</Warning>

<div id="nfs-share-considerations">
  ### Considérations relatives aux partages NFS
</div>

Lorsque FIPS est activé, des partages Network File System (NFS) sont utilisés à la place des partages SMB :

* La configuration du compte de stockage du partage NFS peut autoriser l’accès depuis des adresses IP publiques
* Cependant, vous **ne pouvez pas monter** de partages NFS depuis une adresse IP publique
* Vous pouvez vous connecter aux partages NFS uniquement depuis une machine située sur un réseau virtuel approuvé par le compte de stockage

<div id="infrastructure-creation-with-fips">
  ## Création de l’infrastructure avec FIPS
</div>

Lors de la création de l’infrastructure Azure pour un déploiement conforme aux exigences FIPS, ajoutez le paramètre `enableFIPS=true` aux déploiements de modèles ARM.

<div id="create-aks-cluster-with-fips">
  ### Créer un cluster AKS avec FIPS
</div>

```bash theme={null}
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
```

<div id="configure-nfs-share-access">
  ### Configurer l’accès au partage NFS
</div>

Après avoir créé le cluster avec FIPS activé, exécutez les commandes suivantes pour associer le compte de stockage partagé au partage NFS :

```bash theme={null}
# Obtenir l'ID principal du cluster AKS
export principalId=$(az aks show --name <cluster_name> -g <resource_group_name> \
  -o tsv --query identity.principalId)

# Obtenir la portée du sous-réseau
export scope=$(az aks show --name <cluster_name> -g <resource_group_name> \
  -o tsv --query agentPoolProfiles[*].vnetSubnetId | uniq)

# Créer une attribution de rôle pour que le cluster accède au stockage
az role assignment create --role "Contributor" \
  --assignee-principal-type ServicePrincipal \
  --assignee-object-id $principalId \
  --scope $scope
```

<div id="create-storage-accounts-with-fips">
  ### Créer des comptes de stockage avec FIPS
</div>

```bash theme={null}
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
```

<div id="configuration-parameters">
  ## Paramètres de configuration
</div>

<div id="env_specificyml">
  ### env\_specific.yml
</div>

Activez la prise en charge de FIPS en définissant le paramètre suivant :

```yaml theme={null}
k8s_fips_enabled: true
```

<div id="azure-government-cloud">
  ### Azure Government Cloud
</div>

Si vous déployez sur Azure Government Cloud, ajoutez le paramètre `s3endpointSuffix` immédiatement après `k8s_fips_enabled` :

```yaml theme={null}
k8s_fips_enabled: true
s3endpointSuffix: core.usgovcloudapi.net
```

<Note>
  Ajoutez `s3endpointSuffix` uniquement lors d’un déploiement vers Azure Government Cloud. N’incluez pas ce paramètre pour les déploiements standard vers le cloud commercial Azure.
</Note>

<div id="complete-fips-configuration-example">
  ## Exemple complet de configuration FIPS
</div>

```yaml theme={null}
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: admin@yourdomain.gov

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

mailFrom: noreply@yourdomain.gov

database:
  type: sqlserver
  host: X.X.X.X
  username: login
  password: password
  encrypt: true  # Recommandé pour 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

# Cluster Redis - doit être en version 6.2 à 7.0.7 pour FIPS
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  # Recommandé pour FIPS

reporting:
  enabled: false

id_reading:
  enabled: false

# Configuration FIPS
k8s_fips_enabled: true

# À décommenter pour Azure Government Cloud uniquement :
# s3endpointSuffix: core.usgovcloudapi.net
```

<div id="verification">
  ## Vérification
</div>

Après le déploiement, vérifiez que FIPS est activé sur vos nœuds AKS :

```bash theme={null}
# Obtenir les informations sur les nœuds
kubectl get nodes -o wide

# Vérifier le statut FIPS sur un nœud (se connecter d'abord au nœud)
cat /proc/sys/crypto/fips_enabled
# Sortie : 1 (FIPS activé) ou 0 (FIPS désactivé)
```

<div id="related-documentation">
  ## Documentation connexe
</div>

* [Exigences système](/fr/vantage/self-hosted/v2.7/system-requirements) - Exigences complètes, y compris la configuration du cluster Redis
* [Création de l’infrastructure Azure](/fr/vantage/self-hosted/v2.7/azure-infrastructure) - Création pas à pas des ressources Azure
* [Installation](/fr/vantage/self-hosted/v2.7/installation) - Guide d’installation complet
