> ## 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.

# FIPS コンプライアンス

> Azure AKS 上の ABBYY Vantage セルフホスト型で FIPS 140-2 コンプライアンスを構成する方法について説明します。対象は、Redis のバージョン、NFS ファイル共有、FIPS 対応のノード プール、ストレージ ルールです。

<Note>
  このページは **Azure AKS** のデプロイにのみ適用されます。FIPS コンプライアンスの構成は、仮想マシンのデプロイには適用されません。
</Note>

<div id="overview">
  ## 概要
</div>

特定の US 政府機関や規制業界向けのデプロイでは、Federal Information Processing Standard (FIPS) 140-2 コンプライアンスが求められます。Vantage のデプロイで FIPS コンプライアンスを有効にするには、インフラストラクチャの作成時とインストール時に、特定の構成変更を行う必要があります。

<div id="key-differences-from-standard-deployment">
  ## 標準デプロイとの主な違い
</div>

| コンポーネント     | 標準デプロイ         | FIPS 対応デプロイ          |
| ----------- | -------------- | -------------------- |
| Redis バージョン | 6.2 以降         | 6.2 ～ 7.0.7 のみ       |
| ファイル共有の種類   | SMB            | NFS                  |
| AKS ノードプール  | 標準             | FIPS 対応              |
| ストレージアクセス   | パブリックまたはプライベート | 仮想ネットワークのみ (NFS の場合) |

<div id="requirements">
  ## 要件
</div>

<div id="redis-version-restriction">
  ### Redis のバージョン制限
</div>

<Warning>
  FIPS コンプライアンスのため、Redis は **6.2 ～ 7.0.7** のバージョンを使用する必要があります (これより新しいバージョンは不可) 。FIPS デプロイメントでは、バージョン 7.0.8 以降はサポートされていません。
</Warning>

<div id="nfs-share-considerations">
  ### NFS 共有に関する考慮事項
</div>

FIPS が有効な場合は、SMB 共有ではなく Network File System (NFS) 共有が使用されます。

* NFS 共有の ストレージ アカウント の構成では、パブリック IP アドレスからのアクセスを許可できます
* ただし、パブリック IP アドレスから NFS 共有を**マウントすることはできません**
* NFS 共有に接続できるのは、ストレージ アカウント によって信頼されている仮想ネットワーク上のマシンからのみです

<div id="infrastructure-creation-with-fips">
  ## FIPS 対応インフラストラクチャの作成
</div>

FIPS 準拠のデプロイメント向けに Azure インフラストラクチャを作成する場合は、ARM テンプレートのデプロイ時に `enableFIPS=true` パラメーターを追加します。

<div id="create-aks-cluster-with-fips">
  ### FIPS 対応の AKS Cluster を作成する
</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">
  ### NFS 共有アクセスを構成する
</div>

FIPS 対応クラスターを作成した後、次のコマンドを実行して、共有ストレージ アカウントを NFS 共有に接続します。

```bash theme={null}
# AKS クラスターのプリンシパル ID を取得する
export principalId=$(az aks show --name <cluster_name> -g <resource_group_name> \
  -o tsv --query identity.principalId)

# サブネットのスコープを取得する
export scope=$(az aks show --name <cluster_name> -g <resource_group_name> \
  -o tsv --query agentPoolProfiles[*].vnetSubnetId | uniq)

# クラスターがストレージにアクセスするためのロール割り当てを作成する
az role assignment create --role "Contributor" \
  --assignee-principal-type ServicePrincipal \
  --assignee-object-id $principalId \
  --scope $scope
```

<div id="create-storage-accounts-with-fips">
  ### 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">
  ## 設定パラメーター
</div>

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

次の設定項目を設定すると、FIPS サポートを有効にできます。

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

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

Azure Government Cloud にデプロイする場合は、`k8s_fips_enabled` の直後に `s3endpointSuffix` パラメーターを追加します。

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

<Note>
  `s3endpointSuffix` は、Azure Government Cloud にデプロイする場合にのみ追加してください。通常の Azure 商用クラウドにデプロイする場合は、このパラメーターを含めないでください。
</Note>

<div id="complete-fips-configuration-example">
  ## 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  # 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クラスター - FIPSにはバージョン6.2から7.0.7が必要
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  # FIPSに推奨

reporting:
  enabled: false

id_reading:
  enabled: false

# FIPS設定
k8s_fips_enabled: true

# Azure Government Cloudのみ、コメントを解除してください:
# s3endpointSuffix: core.usgovcloudapi.net
```

<div id="verification">
  ## 確認
</div>

デプロイ後、AKS ノードで FIPS が有効になっていることを確認してください。

```bash theme={null}
# ノード情報を取得する
kubectl get nodes -o wide

# ノードのFIPSステータスを確認する（事前にノードに接続しておく）
cat /proc/sys/crypto/fips_enabled
# 出力: 1（FIPS有効）または 0（FIPS無効）
```

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

* [システム要件](/ja/vantage/self-hosted/v2.7/system-requirements) - Redis クラスターの構成を含む全要件
* [Azure インフラストラクチャの作成](/ja/vantage/self-hosted/v2.7/azure-infrastructure) - Azure リソースを順を追って作成する手順
* [インストール](/ja/vantage/self-hosted/v2.7/installation) - 完全なインストール ガイド
