Mac access list is only for non ipv4 traffic and may not solve your purpose.
I can think of 2 possible solutions that is dot1x which is identity based networking or VMPS where you have pre approved mac address listed in a text file with vlan number they should be assigned dynamically and is any machine gets into the network whose mac address is not from the pre configured list can be assigned to a non routable vlan or an isolated vlan which does not have any connectivity into your network just like a guest and then you can have control on that vlan.
But I agree 802.1x will give you more security and control in your network.
You can have a look at these links for 802.1x as well as VMPS
We are pleased to announce availability of Beta software for 16.6.3. 16.6.3 will be the second rebuild on the 16.6 release train targeted towards Catalyst 9500/9400/9300/3850/3650 switching platforms. We are looking for early feedback from custome...