Contrôle des accès

Google Cloud Platform offre la gestion de l'authentification et des accès (IAM), ce qui vous permet de définir de manière plus précise l'accès à des ressources spécifiques de Google Cloud Platform et d'empêcher tout accès indésirable à d'autres ressources. Vous trouverez sur cette page la présentation des rôles disponibles avec l'API Cloud DNS. Pour obtenir une description détaillée d'IAM, consultez la documentation IAM,

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

Avec IAM, vous pouvez contrôler qui dispose de quelles autorisations sur quelles ressources en définissant des stratégies IAM. Ces stratégies IAM permettent d'attribuer un ou plusieurs rôles spécifiques à un utilisateur afin de lui accorder certaines autorisations. Par exemple, un certain utilisateur peut avoir besoin de créer et de modifier des ressources d'enregistrement DNS. Vous devez attribuer à cet utilisateur le rôle /roles/dns.admin qui dispose des autorisations dns.changes.create et dns.resourceRecordSets.create, afin qu'il puisse créer et mettre à jour des jeux d'enregistrements de ressources. En revanche, pour un service d'assistance qui n'aurait besoin que de visualiser les jeux d'enregistrements de ressources existants, vous attribueriez le rôle /roles/dns.reader.

Autorisations et rôles

Pour appeler une méthode de l'API Cloud DNS, un utilisateur doit disposer des autorisations IAM obligatoires pour cette méthode. Les rôles permettent d'accorder certaines autorisations à un utilisateur, à un groupe d'utilisateurs ou à un compte de service. En plus des rôles primitifs (Propriétaire, Éditeur et Lecteur), vous pouvez attribuer des rôles relatifs à l'API Cloud DNS aux utilisateurs de votre projet.

Autorisations

Dans le tableau suivant, vous trouverez un récapitulatif des autorisations dont l'appelant doit disposer pour appeler chaque méthode :

Méthode Autorisations requises
dns.changes.create pour créer un jeu d'enregistrements de ressources dns.changes.create et dns.resourceRecordSets.create sur le projet contenant le jeu d'enregistrements
dns.changes.create pour mettre à jour un jeu d'enregistrements de ressources dns.changes.create et dns.resourceRecordSets.update sur le projet contenant le jeu d'enregistrements
dns.changes.create pour supprimer un jeu d'enregistrements de ressources dns.changes.create et dns.resourceRecordSets.delete sur le projet contenant le jeu d'enregistrements
dns.changes.get dns.changes.get pour le projet contenant la zone gérée
dns.changes.list dns.changes.list pour le projet contenant la zone gérée
dns.dnsKeys.get dns.dnsKeys.get pour le projet contenant la zone gérée
dns.dnsKeys.list dns.dnsKeys.list pour le projet contenant la zone gérée
dns.managedZoneOperations.get dns.managedZoneOperations.get pour le projet contenant la zone gérée
dns.managedZoneOperations.list dns.managedZoneOperations.list pour le projet contenant la zone gérée
dns.managedZones.create dns.managedZones.create pour le projet contenant la zone gérée. Si vous créez une zone privée, vous avez également besoin des autorisations dns.networks.bindPrivateDNSZone et dns.networks.targetWithPeeringZone pour tous les projets contenant chaque réseau VPC que vous autorisez à accéder à la zone.
dns.managedZones.delete dns.managedZones.delete pour le projet contenant la zone gérée
dns.managedZones.get dns.managedZones.get pour le projet contenant la zone gérée
dns.managedZones.list dns.managedZones.list pour le projet contenant la zone gérée
dns.managedZones.update dns.managedZones.update pour le projet contenant la zone gérée. Si vous créez une zone privée, vous avez également besoin des autorisations dns.networks.bindPrivateDNSZone et dns.networks.targetWithPeeringZone pour tous les projets contenant chaque réseau VPC que vous autorisez à accéder à la zone.
dns.policies.create dns.policies.create pour le projet contenant la règle. Si la règle est créée sur un réseau VPC, vous avez également besoin de l'autorisation dns.networks.bindPrivateDNSPolicy pour tous les projets contenant chaque réseau VPC.
dns.policies.delete dns.policies.delete pour le projet contenant la règle
dns.policies.get dns.policies.get pour le projet contenant la règle
dns.policies.list dns.policies.list pour le projet contenant la règle
dns.policies.update dns.policies.update pour le projet contenant la règle. Si la règle est mise à jour pour s'appliquer à un réseau VPC, vous avez également besoin de l'autorisation dns.networks.bindPrivateDNSPolicy pour tous les projets contenant chaque réseau VPC.
dns.policies.patch dns.policies.patch pour le projet contenant la règle
dns.projects.get dns.projects.get pour le projet
dns.resourceRecordSets.list dns.resourceRecordSets.list pour le projet contenant la zone gérée

Rôles

Dans le tableau suivant, vous trouverez le récapitulatif des rôles IAM applicables à l'API Cloud DNS, ainsi que la liste de toutes les autorisations incluses dans chaque rôle. Notez que chaque autorisation est applicable à un type de ressource particulier.

Les modifications DNS peuvent également être effectuées à l'aide de rôles primitifs.

Rôle Titre Description Autorisations Ressource la plus basse
roles/dns.admin Administrateur DNS Fournit un accès en lecture/écriture à toutes les ressources Cloud DNS.
  • compute.networks.get
  • compute.networks.list
  • dns.changes.*
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.*
  • dns.networks.*
  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • dns.policies.list
  • dns.policies.update
  • dns.projects.*
  • dns.resourceRecordSets.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Projet
roles/dns.peer Pair DNS Accès aux réseaux cibles avec des zones d'appairage DNS
  • dns.networks.targetWithPeeringZone
roles/dns.reader Lecteur DNS Fournit un accès en lecture seule à toutes les ressources Cloud DNS.
  • compute.networks.get
  • dns.changes.get
  • dns.changes.list
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.get
  • dns.managedZones.list
  • dns.policies.get
  • dns.policies.list
  • dns.projects.*
  • dns.resourceRecordSets.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Projet

Contrôle des accès via Cloud Console

Vous pouvez utiliser Cloud Console pour gérer le contrôle des accès à vos sujets et projets.

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

  1. Accédez à la page IAM dans Google Cloud Console.
  2. Sélectionnez votre projet dans le menu déroulant situé en haut de la page.
  3. Cliquez sur Ajouter.
  4. Saisissez l'adresse e-mail d'un nouveau membre.
  5. Sélectionnez le rôle souhaité dans le menu déroulant.
  6. Cliquez sur Ajouter.
  7. Vérifiez que le membre est bien répertorié avec le rôle que vous lui avez accordé.

Étapes suivantes