How to hide Regions and Themes in the block setting admin page?
it's a bit late but for the people in the same situation :

function MODULE_form_alter(&amp;$form, &amp;$form_state, $form_id){
    global $user;
    if($form_id == 'block_admin_configure'){
        if(in_array('your_role_name',$user-&gt;roles)){
            hide($form['regions']);
            hide($form['visibility']); //for the visibility region
            hide($form['visibility_title']); //for the visibility region
        }
    }
}