I would suggest observing controller action predispatch events like this:
<events>
<controller_action_predispatch>
<observers>
<yourgropupname_yourmodulename>
<class>yourmodulename/observer</class>
<method>myPredispatchObserver</method>
</yourgropupname_yourmodulename>
</observers>
</controller_action_predispatch>
</events>
It will fire on every controller action call.
Then inside of myPredispatchObserver
method you can check if current controller is one from those you want to restrict to admin user. You can get current controller name like this:
Mage::app()->getRequest()->getControllerName();
Finally you can check if current session belongs to admin. You can try any of the following methods:
Mage::getSingleton('admin/session', array('name'=>'adminhtml'))->isLoggedIn());
// or
Mage::getSingleton('admin/session')->getUser();
// or
Mage::getSingleton('admin/session')->getUser();
Finally if user is not an admin redirect him to the referring page.