このページの内容は Azure AKS デプロイメントにのみ適用されます。FIPS コンプライアンスの構成は、Virtual Machine デプロイメントには適用されません。
Federal Information Processing Standard (FIPS) 140-2 への準拠は、特定の米国政府機関および規制対象業界での導入において求められます。Vantage の導入で FIPS 準拠を有効にするには、インフラストラクチャの作成およびインストール時に特定の構成変更を行う必要があります。
| コンポーネント | 標準デプロイメント | FIPS 対応デプロイメント |
|---|
| Redis バージョン | 6.2 以降 | 6.2〜7.0.7 のみ |
| ファイル共有の種類 | SMB | NFS |
| AKS ノードプール | Standard | FIPS 対応 |
| ストレージ アクセス | パブリックまたはプライベート | 仮想ネットワークのみ(NFS 用) |
FIPS 準拠のため、Redis のバージョンは 6.2 から 7.0.7 である必要があります(これより新しいバージョンは使用できません)。バージョン 7.0.8 以降は、FIPS デプロイメントではサポートされていません。
FIPS が有効な場合、SMB 共有の代わりに Network File System (NFS) 共有が使用されます。
- NFS 共有のストレージ アカウント構成では、パブリック IP アドレスからのアクセスを許可できます
- ただし、パブリック IP アドレスから NFS 共有をマウントすることはできません
- ストレージ アカウントによって信頼されている仮想ネットワーク上のマシンからのみ、NFS 共有へ接続できます
FIPS に準拠したデプロイ用の Azure インフラストラクチャを作成する場合は、ARM テンプレートのデプロイ時に enableFIPS=true Parameter を追加します。
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
FIPS 対応クラスターを作成した後、次のコマンドを実行して、共有ストレージアカウントを NFS 共有に接続します。
# Get the principal ID of the AKS cluster
export principalId=$(az aks show --name <cluster_name> -g <resource_group_name> \
-o tsv --query identity.principalId)
# Get the subnet scope
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
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
次の Parameter を設定すると、FIPS サポートが有効になります。
Azure Government Cloud にデプロイする場合は、k8s_fips_enabled の直後に s3endpointSuffix Parameter を追加してください。
k8s_fips_enabled: true
s3endpointSuffix: core.usgovcloudapi.net
Azure Government Cloud にデプロイする場合にのみ s3endpointSuffix を追加してください。標準の Azure 商用クラウドへのデプロイでは、この Parameter は指定しないでください。
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 クラスター - 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 # 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
デプロイ後に、AKS ノードで FIPS が有効になっていることを確認します。
# ノード情報を取得
kubectl get nodes -o wide
# ノード上のFIPSステータスを確認(先にノードに接続)
cat /proc/sys/crypto/fips_enabled
# 出力: 1(FIPS有効)または0(FIPS無効)