Access control & identity
Kubernetes RBAC β least-privilege ClusterRoles + Roles per namespace; no wildcard verbs
OPA Gatekeeper β ConstraintTemplates deny privileged pods, enforce labels, require resource limits in clinical namespaces
Kyverno β restrict image registries to Harbor; block :latest tags in production
Pod Security Standards Restricted profile enforced on clinical-data namespace
HashiCorp Vault dynamic secrets β database credentials TTL 1h; no long-lived secrets in pods
OpenShift SCC β enforces UID ranges, no root, no host path mount for PHI workloads
OIDC SSO + MFA via Keycloak β governs kubectl, Rancher, ArgoCD, and Grafana access
Encryption at rest and in transit
etcd encryption at rest β AES-256-GCM via EncryptionConfiguration; envelope key in cloud KMS / Vault Transit
PVC encryption β KMS-backed StorageClass (gp3/Premium SSD); Longhorn volume encryption on-prem via LUKS
mTLS 100% coverage β Istio PeerAuthentication STRICT in clinical-data and clinical-apps namespaces
Service-to-service JWT validation β Istio AuthorizationPolicy checks SPIFFE identity (SVIDs) on every call
Container image signing β Cosign + Sigstore; Kyverno admission webhook blocks any unsigned image
Secrets in Git encrypted with SOPS + age; External Secrets Operator syncs decrypted values from Vault
Network isolation
Default-deny NetworkPolicy in clinical-data β only explicitly whitelisted ingress/egress permitted
Cilium ClusterwidePolicies β L7 HTTP/gRPC enforcement with Hubble flow visibility per namespace
Istio AuthorizationPolicy β namespace allow-lists; denies traffic from unapproved service accounts
Dedicated GPU node pools with taints β only ai-platform and nemo-agents pods can tolerate and schedule
Private cluster API server β not publicly accessible; access via bastion + VPN + PAM only
Istio egress gateway β all outbound from PHI namespaces is forced through a gateway with audit logging
Audit trail & monitoring
Kubernetes audit log β RequestResponse level for clinical-data; shipped to SIEM (Splunk / Elastic)
Falco runtime rules β alerts on container escape, privilege escalation, PHI file access, anomalous network
Istio access logs β every service call logged with source identity, destination, latency, status
OPA audit mode β all policy violations (deny or warn) logged with resource and user context
HIPAA audit trail β PHI access events tagged with user ID, timestamp, action, resource β immutable log store
DCGM GPU metrics β Prometheus; critical CVE alerts from Trivy Operator page on-call within 15 min
Backup & disaster recovery
Velero backups β cluster state + PV snapshots to encrypted S3/Blob/GCS; schedule every 6h, retain 30 days
etcd snapshots β automated via Rancher / OpenShift; stored in a separate encrypted bucket from application data
FHIR data replication β Hapi FHIR async to secondary region; RPO target < 1h
RTO target: < 4h clinical systems; < 1h agent inference (stateless pods recreated from image)
DICOM archive β dual-site replication with CRC validation; Orthanc on replicated PostgreSQL cluster
Organizational & regulatory
BAA signed with AWS / Azure / GCP for PHI in cloud; BAA addendum with Nvidia for NIM clinical use
Dedicated tenancy β PHI node pools on dedicated bare metal or dedicated hosts (no shared hypervisor)
Just-in-time kubectl access via Vault + OIDC; all privileged sessions recorded (PAM)
SBOM β Syft generates software bill of materials for every production image; stored in Harbor OCI registry
HITRUST CSF mapping β platform capabilities mapped to 80+ controls; evidence collected quarterly
Automated incident runbooks triggered by Falco alerts β PagerDuty escalation + Slack notification