You must use PlayerInteractEvent, check if its an chest and then do something like $sender->hasPermission. I don't know the exact syntnax right now.
PHP: public function onOpen(PlayerInteractEvent $event){ if($event->getBlock()->getID() === 54 && $event->getPlayer()->hasPermission("plugin.openchest"){ //code }}