Haven’t you been asking this question in several posts? I think in one of those other posts you mentioned using empties to control the eyes, if so, you don’t want to do that, just trust me on this. You want to stick to using all bones for everything, and one single armature. This is easy to do, simple 5 minutes of work, the only thing that will make it tough is that you used rigify. Rigify is a great tool, but I never use it, so I’m a little unsure as to what bone layers are what. So to do this job properly, you’ll need to figure out rigify’s bone layers.
Anyhow, find the bone layer that has the deform bones, all the bones on this layer should have the prefix ‘DEF’ in the names of the bones. Oh, and make sure the armature is in it’s rest pose (armature properties panel has a pose position and a rest position buttons, enable rest position there). Make sure the eyes are separate mesh objects, as you have explained, and that they are in the proper position. Enter edit mode for one of the mesh eyes, select 2 verts, the one at the center of the pupil, and the one at the center of the back of the eye, opposite the center pupil vert. With these 2 verts selected, do a shift-s -> cursor to selected. This will snap the cursor to the center of the eye mesh. Now select the armature and enter edit mode for it, on the DEF bone layer, do a shift-a to add a new bone. The new bone will have it’s root at the center of the eye. Now select the eye mesh again and in edit mode, select the single vert that is at the center of the pupil, shift-s -> cursor to selected. Select the new bone, in edit mode, select the tip of the bone and shift-s -> selection to cursor. Now your new bone will have the root at the center of the eye, and it’s tip at the center of the pupil. Best to set the new bone’s z-axis so it points straight upward at this point.
In object mode, select the eye mesh, then shift select the armature, enter pose mode and select your new eye bone. Do a ctrl-P -> parent to bone to make the eye mesh object a child of the eye bone. Rotate the eye bone in pose mode and make sure the eye rotates properly. Now in edit mode for the armature, select the eye bone, then shift select the head deform bone and do a ctrl-p to make the eye bone a child of the head bone. Now when the head control bone is moved, the head deform bone moves along with it, and the eye bone follows the head bone around since it’s a child, so your eye should remain in place in the head. Repeat this for the other eye.
Now to control the eyes, on a control bone layer, like the layer that has the head control bone, create a new bone at the center of the face, but in front of the face a bit. This will be your eye control bone. Make it a child of the head control bone. Now create 2 smaller bones that are off to each side of the new bone, and directly in front of the pupil. Make these bones children of the eye control bone. These bones will be targets for the eyes to look at. Select one of the eye deform bones you first created, and in pose mode, in the bone constraint properties panel, add track to constraint to the bone targetting the eye target bone. Repeat for the other eye. You have to use these 2 smaller eye targets for the eyes instead of the bigger eye control bone, just using the eye control bone will make the character look cross eyed.
Hope this helps,