In traditional software systems, identity management focuses on humans: who can log in, what they can access, how authentication works. AI infrastructure flips this model. The most critical identity challenges aren't human — they're workload identities: training jobs accessing data lakes, feature stores authenticating to model registries, inference services calling downstream APIs, and CI/CD pipelines promoting models to production.
If your ML pipeline uses shared service accounts, static API keys, or — worst case — embedded credentials, you have an identity crisis that undermines every other security control you've built.
Why AI Workloads Need Better Identity
The AI lifecycle creates unique identity challenges:
Common Anti-Patterns in AI Identity
- Shared service accounts — One "ml-pipeline" service account used by all training jobs, making audit attribution impossible
- Static credentials in code — API keys for data sources, model registries, or cloud services hardcoded in notebooks or pipeline configs
- Overly broad permissions — Data scientists granted admin access to all data sources because "they might need it"
- No workload authentication — Inference endpoints trust any request from the internal network without verifying the caller's identity
- Credential sprawl — Different credentials for each tool in the ML stack (MLflow, Feast, KServe, S3) with no centralized management
The Consequences
- No audit trail: When a shared account accesses sensitive training data, you can't determine which job, pipeline, or person initiated the access
- Lateral movement risk: Compromised credentials in one component grant access to the entire ML infrastructure
- Compliance failures: DORA, NIS2, and the AI Act require demonstrable access controls and audit trails. Shared accounts fail this test
- Credential rotation pain: Changing a shared credential requires updating every system that uses it simultaneously
SPIFFE/SPIRE: Workload Identity for AI
SPIFFE (Secure Production Identity Framework for Everyone) is a set of standards for identifying and securing workloads. SPIRE is the reference implementation. Together, they solve the core challenge: giving every workload a cryptographic identity without static credentials.
How SPIFFE Works
- SPIFFE ID: Every workload gets a URI-based identity:
spiffe://trust-domain/path. Example:spiffe://ai-platform.example.com/training/fraud-model-v3 - SVID (SPIFFE Verifiable Identity Document): Short-lived X.509 certificates or JWT tokens that prove the workload's identity. Automatically rotated (typically every hour)
- Attestation: SPIRE verifies workload identity using platform-specific attestation (Kubernetes pod attributes, AWS instance metadata, etc.) — no embedded secrets needed
SPIFFE for ML Pipelines
Map SPIFFE identities to your ML lifecycle:
- Training jobs:
spiffe://ai.example.com/training/{model-name}/{run-id}— Each training run gets a unique identity - Feature store access:
spiffe://ai.example.com/feature-store/reader/{team}— Team-scoped access to features - Model registry:
spiffe://ai.example.com/registry/{environment}— Environment-scoped registry access (dev can write, prod can only read approved models) - Inference services:
spiffe://ai.example.com/serving/{model-name}/{version}— Per-model-version identity for production serving - Data access:
spiffe://ai.example.com/data-access/{purpose}/{dataset}— Purpose-bound data access identities
Deploying SPIRE on Kubernetes
SPIRE integrates natively with Kubernetes:
- SPIRE Server: Deployed as a StatefulSet, managing the identity registry and signing SVIDs
- SPIRE Agent: DaemonSet running on every node, attesting workloads via the Kubernetes API
- Kubernetes Workload Registrar: Automatically registers Kubernetes pods as SPIFFE identities based on pod annotations or labels
- CSI Driver: Mounts SVIDs into pods as volumes, enabling transparent identity bootstrapping
Kubernetes Recipes
A practical guide for container orchestration and deployment by Grzegorz Stencel & Luca Berton (Apress).
Watch on Skillshare →Service Mesh Integration
Combine SPIFFE with a service mesh for comprehensive workload-to-workload security:
Istio + SPIRE
- mTLS everywhere: All inter-service communication encrypted and authenticated using SPIFFE identities
- Authorization policies: Fine-grained access rules: "Training job X can access data source Y for purpose Z"
- Traffic visibility: Full observability of which workloads communicate, enabling anomaly detection
Access Policies for AI Workloads
# Istio AuthorizationPolicy: Only fraud-model training can access fraud-data
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: fraud-data-access
namespace: ml-data
spec:
selector:
matchLabels:
app: fraud-data-service
rules:
- from:
- source:
principals:
- "spiffe://ai.example.com/training/fraud-model/*"
to:
- operation:
methods: ["GET"]
paths: ["/api/v1/features/*"]
The SPOC Model: Single Point of Contact for AI Governance
In regulated enterprises, identity management intersects with governance through the SPOC (Single Point of Contact) model — a designated person or team responsible for AI governance coordination:
What the SPOC Manages
- Identity lifecycle: Approving and revoking workload identities for AI systems. When a model is decommissioned, its SPIFFE identity must be revoked
- Access reviews: Periodic review of who (and what) can access AI data, models, and infrastructure. Required by DORA and NIS2
- Regulatory interface: Single point of contact for regulators requesting information about AI system access controls and audit trails
- Incident coordination: When an AI security incident occurs, the SPOC coordinates identity-related response (credential rotation, access revocation, forensic access grants)
- Policy management: Maintaining and updating access policies as AI systems evolve, new models are deployed, and old ones are retired
SPOC Infrastructure Requirements
- Centralized identity dashboard: Visibility into all workload identities, their access grants, and recent activity
- Automated access reviews: Scheduled workflows that flag unused identities, excessive permissions, and access anomalies
- Policy-as-code: Access policies stored in Git with review workflows, enabling audit trail and rollback capabilities
- Regulatory reporting: Automated generation of access control reports for regulatory examination
Learn Ansible Automation in 250+ Examples
Comprehensive Ansible training with real-world use cases.
Start on Educative →Human Identity for AI Teams
While workload identity handles machine-to-machine authentication, human identity for AI teams requires:
- SSO integration: All ML tools (Jupyter, MLflow, Airflow, Grafana) integrated with enterprise SSO (Okta, Azure AD, Keycloak)
- MFA enforcement: Required for all access to ML infrastructure, including notebook environments and data pipelines
- Just-in-time access: Temporary, time-bounded elevated access for production debugging or model retraining, with automatic expiration
- Session recording: For high-privilege access to production ML systems, session recording provides audit evidence and enables incident investigation
- Separation of duties: Model developers cannot approve their own models for production. Validators cannot deploy. Operations cannot modify models
Implementation Roadmap
- Month 1: Audit existing identity patterns — document all service accounts, static credentials, and access patterns in your ML infrastructure
- Month 2: Deploy SPIRE on Kubernetes cluster; implement workload identity for the most critical data access paths
- Month 3: Integrate service mesh (Istio) with SPIRE for mTLS and authorization policies
- Month 4: Migrate training pipelines and feature stores from static credentials to SPIFFE-based authentication
- Month 5: Implement SPOC governance model — dashboard, automated reviews, regulatory reporting
- Month 6: Complete migration — all AI workloads using SPIFFE identity; decommission static credentials
AI Readiness Checklist
50-point interactive checklist covering strategy, data, infrastructure, governance, and people. Score your organisation's AI readiness.
Get Free Checklist →
Luca Berton
