Its better to use IP firewall ,
Juts from command line get ips for google & yahoo from your ISP.
yahoo
206.190.36.45
98.139.183.24
98.138.253.109
google
173.194.44.233
173.194.44.230
173.194.44.227
173.194.44.228
173.194.44.224
173.194.44.229
173.194.44.225
173.194.44.226
173.194.44.238
173.194.44.232
173.194.44.231
Then make a list for green ips that they can access it
add address=8.8.8.8 list=greenlist
Repeat it for all ips you need it.
Client IP from 0-127,
admin IP from 128-254
for Client allow Masquerade for only Destination list only the (greenlist).
and admin allow masquerade for all destination.
/ ip firewall nat add action=masquerade chain=srcnat dst-address-list=greenlist src-address=192.168.1.0/25
/ ip firewall nat add action=masquerade chain=srcnat src-address=192.168.1.128/25
this will make users from 192.168.1.2-126 access to ips only on greenlist and rest to all internet.
By the way this example divide /24 subnet into two /25 , you can devide it as your requist /29 /28 /26 depond on your network.
this easy way , also you can use Hotspot
/ip hotspot walled-garden
to allow unauthorized user to access to website , and authorized user or MAC address or IP to access to internet.
using hotspot better if user have knowledgement to change them IP address and use internet.
there is too many solutions contact me for any help.