How to allow access to create terms in a specific vocabulary?
You can create a custom permission: "Create new authors" in mymodule.permissions.yml:

create new authors:
  title: 'Create New Authors'
  description: 'Create New Author Taxonomy Terms'
  restrict access: true


Assign the new permission to the roles you want.

Then using hook__access_entity_create_access():

function mymodule__access_entity_create_access(\Drupal\Core\Session\AccountInterface $account, array $context, $entity_bundle) {
  if ($entity_bundle == 'author' &amp;&amp; $account-&gt;hasPermission('create new authors')) {
    return AccessResult::allowed();
  }
  // No opinion.
  return AccessResult::neutral();
}


This will give explicit access to roles with your custom permission, and in other cases it will defer to the default drupal permissions.