To summarize:
The rainbow is normal.
Slime is not.
Sour smell is not.
Discoloration is not.
Extended storage is not.
Texture changes are not.
Your senses will guide you—but only if you listen to all of them, not just your eyes.
When everything smells clean, feels firm, and looks normal except for the rainbow, the ham is safe to eat. But the moment your senses disagree, the decision becomes simple:
Walk away.
Throw it out.
Protect yourself.
Food poisoning is miserable and avoidable.
No sandwich is worth the risk.