OpenShift Image Security¶
Introduction¶
ImageStreams track image references inside OpenShift and can trigger deployments when tags change. For registry problems, verify the ImageStreamTag, pull secret, and whether the internal registry is reachable.
Why This Matters¶
OpenShift adds security defaults such as SCCs, project isolation, and integrated OAuth/RBAC behavior. These protections are useful only when permissions are granted narrowly and verified.
Step-by-Step Configuration¶
oc get imagestream web -n app
oc get istag web:latest -n app
oc describe istag web:latest -n app
oc get secret -n app
Example output:
NAME IMAGE REPOSITORY TAGS UPDATED
web image-registry.openshift-image-registry.svc:5000/app/web latest 4 minutes ago
Verification¶
oc get istag web:latest -n app
oc describe pod -l app=web -n app
oc get secret pull-secret -n app
Security Best Practices¶
Grant the smallest role or SCC that works, prefer service-account-specific access, keep secrets out of Git, and verify permissions with oc auth can-i.
Common Mistakes¶
- Using an ImageStreamTag that has no imported image.
- Missing imagePullSecrets for external private registries.
- Confusing the internal registry service name with the external route.
Troubleshooting¶
Compare the failing user or service account with the role binding, SCC admission error, project quota, or OAuth status shown in OpenShift events.
Related Guides¶
- Openshift Security Context Constraints Explained
- Openshift RBAC Security Explained
- Openshift Security Checklist
Summary¶
OpenShift Image Security is safest when permissions are explicit, namespace-scoped where possible, and validated from the same identity that runs the workload.