Security and compliance
Labs 56–60: FIPS posture, network policies and egress, disconnected operation, secrets and Compliance Operator scans.
AI platforms in regulated sectors face the same audits as any other system. These labs collect the controls and evidence, with PCI DSS as the example standard.
Every lab assumes the environment described in the series overview. Commands and names are examples: replace them with your own.
Labs in this section
- Lab 56: FIPS posture and the NIM exception
- Lab 57: NetworkPolicies and egress control
- Lab 58: Disconnected operation with mirrored images and models
- Lab 59: Secrets with External Secrets or Vault
- Lab 60: Compliance Operator scans for PCI DSS and CIS
Lab 56: FIPS posture and the NIM exception
Goal: Find which AI components meet FIPS requirements and document any exceptions.
Prerequisites
- A cluster installed in FIPS mode
Environment notes
Some third-party AI images, including some NIM versions, may not start under FIPS. A documented, scoped exception is better than an undocumented workaround.
Steps
- Confirm FIPS mode on nodes with
fips-mode-setup --checkor/proc/sys/crypto/fips_enabled. - List the AI operators and images and their FIPS status from vendor documentation.
- Find any workload that disables FIPS crypto in its container.
- Isolate those workloads in labelled namespaces.
- Write the exception with scope, risk and review date.
Verification
- Every AI workload is listed as compliant or as a documented exception.
- Exception workloads are isolated and labelled.
Lab 57: NetworkPolicies and egress control
Goal: Allow only the traffic each AI workload needs.
Prerequisites
- Lab 5
Environment notes
Model pulls from public registries and hubs need egress; prefer mirrors (Lab 58).
Steps
- Apply default-deny policies in an AI project.
- Allow ingress from the gateway and monitoring only.
- Allow egress to the internal registry, S3 and DNS.
- Use an egress firewall to block the internet.
- Test each allowed and blocked path.
Verification
- Unneeded traffic is blocked.
- The model still serves and workbenches still work.
Lab 58: Disconnected operation with mirrored images and models
Goal: Run OpenShift AI with no internet access.
Prerequisites
- A mirror registry
oc-mirror
Environment notes
Mirror operator catalogs, workbench and runtime images, and models (as modelcars or S3 objects).
Steps
- Write an
ImageSetConfigurationfor the AI operators and images. - Mirror to the registry and apply the generated resources.
- Mirror a model as a modelcar.
- Block internet egress.
- Install or upgrade and serve the model.
Verification
- Everything runs with egress blocked.
- Pull errors point only to images you chose not to mirror.
Lab 59: Secrets with External Secrets or Vault
Goal: Keep registry, model hub and S3 credentials out of Git and rotate them.
Prerequisites
- External Secrets Operator or a Vault integration
Environment notes
Never commit tokens. Rotate any token that was ever pasted into chat or a ticket.
Steps
- Store an NGC key, a Hugging Face token and S3 keys in the secret store.
- Create
ExternalSecretresources in the AI project. - Use them in a serving runtime and a connection.
- Rotate one secret and watch it update.
- Confirm pods pick up the new value.
Verification
- No credential is in Git.
- Rotation works without editing manifests.
Lab 60: Compliance Operator scans for PCI DSS and CIS
Goal: Scan the platform, fix findings and keep evidence.
Prerequisites
- Compliance Operator installed
Environment notes
Some rules need tailoring for AI workloads; document each tailoring decision.
Steps
- Run a
ScanSettingBindingfor the PCI DSS and CIS profiles. - Read
ComplianceCheckResultfailures. - Apply automatic remediations where safe.
- Tailor the profile for justified exceptions.
- Rescan and export results as evidence.
Verification
- The failure count falls and remaining failures are explained.
- Results are exported for the auditor.