You can define custom permissions on the permissions page, and check that permissions in your code to do different things based on the role of the user and the permissions.
1. Why do we need Batch API
2. How Drupal's Batch API works ?
3. Use cases.
In Drupal 8.4.X and later releases, Drush 9+ is the recommended version.
You can check more detail in https://www.drush.org/latest/install/#drupal-compatibility