How to have a rigged object snapped to another object's surface?
1 Shrinkwrap Constraint
Add an intermediate bone as a parent of the Hand: Arm &gt; HandParent &gt; Hand.
Then add a shrinkwrap constraint to it using the options Projected, On Surface along +Y in Local Space.
The HandParent will be projected onto the surface of the object, which you select in the Shrinkwrap Constraint.
 
2 Bone Placement
An easier option, is to simply place the arm bone at an appropriate base position, so that the arc it describes resembles the arc of your sphere. This is less computationally expensive and faster to setup. Add a custom bone shape and the bone will not be in the way as well.