How to IK Rig a human arm with external controllers?
As Josh said there are many ways to rig an arm, here is one basic:


Add a Target bone and a Poletarget bone to your arm. The Target will be the arm controller, the Poletarget will determine the arm orientation.
Parent these 2 bones to the Root bone of your armature.
If don't have a Root bone yet, at least deparent these 2 bones.
Disable their Deform option in Properties panel > Bone > Deform: When you'll parent the armature these 2 bones won't deform the mesh.
Parent the Hand bone to the Target so that when you'll move the Target the Hand will also follow, which is very convenient.
Give the Lowerarm an IK constraint, choose a Length of 2 so that it will move Loweram and Upperarm only, and choose the Target bone as the Target and the Poletarget bone as the Pole Target.
If you want your Hand to stick to the Lowerarm, give it a Copy Location constraint with the Lowerarm as the Target and a Head/Tail value of 1.
For the fingers: give the second phalanx a Copy Rotation constraint with the first phalanx as the Target, and give the third phalanx a Copy Rotation constraint with the second phalanx as the Target so that when you'll rotate the first phalanx the rest of the finger will follow.




A good thing would also be to choose a B-Bone Display for your armature (in the Properties panel > Data > Display), and to segment the Upperarm and Lowerarm so that they will bend smoothly (Go in the Properties panel > Bone > Bendy Bones > Segments and give 5 segments for example). In that case, give the Lowerarm an Copy Rotation constraint with the Hand as the Target and Space > Pose Space / Pose Space: when the Hand will rotate the Lowerarm and Upperarm will follow. Also, you could limit the rotation of these bones in the Properties panel > Bone > Inverse Kinematics, but it's a bit tricky and most of the time you won't need it.