Rôles et autorisations

Google Cloud propose Identity and Access Management (IAM), qui vous permet de définir de manière plus précise l'accès à des ressourcesGoogle Cloud spécifiques et d'empêcher tout accès indésirable à d'autres ressources. Cette page décrit les rôles disponibles avec l'API Service Directory. Pour obtenir une description détaillée d'IAM, consultez la documentation IAM.

IAM vous permet d'appliquer le principe de sécurité du moindre privilège afin de n'accorder que l'accès nécessaire à vos ressources.

IAM vous permet de contrôler qui dispose de quelles autorisations sur quelles ressources en définissant des stratégies IAM. Ces stratégies permettent d'attribuer un ou plusieurs rôles spécifiques à un utilisateur afin de lui accorder certaines autorisations.

Autorisations et rôles

Pour appeler une méthode de l'API de l'Annuaire des services, l'appelant doit disposer des autorisations IAM nécessaires. Vous pouvez attribuer des autorisations en attribuant des rôles à un utilisateur, à un groupe ou à un compte de service. En plus des rôles de base Propriétaire, Éditeur et Lecteur, vous pouvez attribuer des rôles de l'API Service Directory aux utilisateurs de votre projet.

Autorisations

Pour connaître les autorisations requises pour chaque méthode, consultez la documentation de référence de l'API Directory des services.

Rôles

Role Permissions

(roles/servicedirectory.admin)

Full control of all Service Directory resources and permissions.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.*

  • servicedirectory.endpoints.create
  • servicedirectory.endpoints.delete
  • servicedirectory.endpoints.get
  • servicedirectory.endpoints.getIamPolicy
  • servicedirectory.endpoints.list
  • servicedirectory.endpoints.setIamPolicy
  • servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.*

  • servicedirectory.namespaces.associatePrivateZone
  • servicedirectory.namespaces.create
  • servicedirectory.namespaces.delete
  • servicedirectory.namespaces.get
  • servicedirectory.namespaces.getIamPolicy
  • servicedirectory.namespaces.list
  • servicedirectory.namespaces.setIamPolicy
  • servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.*

  • servicedirectory.services.bind
  • servicedirectory.services.create
  • servicedirectory.services.delete
  • servicedirectory.services.get
  • servicedirectory.services.getIamPolicy
  • servicedirectory.services.list
  • servicedirectory.services.resolve
  • servicedirectory.services.setIamPolicy
  • servicedirectory.services.update

(roles/servicedirectory.editor)

Edit Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

(roles/servicedirectory.networkAttacher)

Gives access to attach VPC Networks to Service Directory Endpoints

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.attach

(roles/servicedirectory.pscAuthorizedService)

Gives access to VPC Networks via Service Directory

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.access

(roles/servicedirectory.viewer)

View Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

Contrôle des accès à l'aide de la console Google Cloud

Vous pouvez utiliser la console Google Cloud pour gérer le contrôle des accès à votre registre.

Pour définir les autorisations d'accès au niveau du projet :

Console

  1. Dans la console Google Cloud, accédez à la page IAM.

    Accéder à IAM

  2. Sélectionnez votre projet dans le menu déroulant situé en haut de la page.

  3. Cliquez sur Ajouter.

  4. Dans Nouveaux comptes principaux, saisissez l'adresse e-mail d'un nouveau compte principal.

  5. Sélectionnez le rôle souhaité dans le menu déroulant: servicedirectory.admin, servicedirectory.editor ou servicedirectory.viewer.

  6. Cliquez sur Enregistrer.

  7. Vérifiez que le compte principal est bien répertorié avec le rôle que vous lui avez accordé.

Les zones de l'annuaire des services remplacent les restrictions IAM

Lorsque vous attribuez un espace de noms à une zone Service Directory, les noms de service deviennent visibles par tous les clients sur tous les réseaux autorisés à interroger la zone privée. Il n'existe aucun contrôle des accès IAM pour le DNS, car le protocole DNS ne fournit pas de fonctionnalité d'authentification.

Étape suivante

  • Consultez la documentation IAM pour en savoir plus sur la gestion de l'authentification et des accès.
  • Pour en savoir plus sur l'Annuaire des services, consultez la présentation.