How can I allow a custom taxonomy for certain roles?

When registering your taxonomy you can pass an argument called capabilities. Simply passing capabiities that only admins and editors have.

$args = array(
    'capabilities' => array( 'manage_options', 'edit_posts' )
);
register_taxonomy( 'foobar', 'post', $args ); 

https://codex.wordpress.org/Roles_and_Capabilities#Editor