Restreindre des identités par domaine

Resource Manager fournit une contrainte de restriction de domaine pouvant être utilisée dans les règles d'administration pour limiter le partage des ressources en fonction du domaine. Cette contrainte vous permet de restreindre l'ensemble des identités pouvant être utilisées dans les stratégies Cloud Identity and Access Management.

Les règles d'administration peuvent utiliser cette contrainte pour limiter le partage de ressources à un ensemble spécifié d'un ou plusieurs domaines G Suite. Des exceptions peuvent être accordées pour chaque dossier ou pour chaque projet. Une fois qu'une restriction de domaine est définie, cette limitation ne s'appliquera qu'aux futures modifications de stratégie Cloud IAM, et non aux modifications antérieures. Ainsi, les identités provenant d'autres organisations conserveront l'accès si elles ont été ajoutées à la règle d'administration avant que la contrainte ne soit appliquée.

La contrainte de restriction de domaine est basée sur la contrainte de liste iam.allowedPolicyMemberDomains.

Lorsque cette contrainte est définie sur un domaine G Suite, toutes les identités appartenant à ce domaine sont affectées. Cela inclut les comptes utilisateur gérés dans la console G Suite et non à partir de la console Google Cloud Platform.

Définir la règle d'administration

La contrainte de restriction de domaine est un type de contrainte de liste. Des numéros client G Suite peuvent être ajoutés et supprimés de la liste allowed_values d'une contrainte de restriction de domaine. Tous les domaines associés à ce compte G Suite seront affectés par la règle d'administration.

Pour définir cette contrainte, vous devez être autorisé à modifier les règles d'administration. Par exemple, le rôle resourcemanager.organizationAdmin est autorisé à définir des contraintes de règle d'administration. Lisez la page Utiliser des contraintes pour en savoir plus sur la gestion des règles au niveau de l'organisation.

Console

Pour définir une règle d'administration incluant une contrainte de restriction de domaine, procédez comme suit :

  1. Accédez à la page Règles d'administration dans la console Google Cloud Platform.
    Accéder à la page "Règles d'administration"
  2. Cliquez sur Sélectionner.
  3. Sélectionnez l'organisation pour laquelle vous souhaitez définir la règle.
  4. Cliquez sur Partage restreint de domaine.
  5. Cliquez sur le bouton Modifier.
  6. Sous Applicable à, sélectionnez Personnaliser.
  7. Sous Valeurs de règles, sélectionnez Personnalisé.
  8. Entrez un numéro client G Suite dans la zone de texte Valeur de règle, puis appuyez sur Entrée. Plusieurs numéros peuvent être entrés de cette manière.
  9. Cliquez sur Enregistrer. Une notification s'affiche. Elle confirme que la règle a été mise à jour.

gcloud

Les règles peuvent être définies via l'outil de ligne de commande gcloud. Pour créer une règle qui inclut la contrainte de restriction de domaine, exécutez la commande suivante :

gcloud alpha resource-manager org-policies allow \
    --organization 'ORGANIZATION_ID' \
    iam.allowedPolicyMemberDomains 'DOMAIN_ID_1' \
    'DOMAIN_ID_2'

Où :

Pour en savoir plus sur l'utilisation de contraintes dans les règles d'administration, consultez la page Utiliser des contraintes.

Exemple de règle d'administration

L'extrait de code suivant montre une règle d'administration incluant la contrainte de restriction de domaine :

resource: "organizations/842463781240"
policy {
  constraint: "constraints/iam.allowedPolicyMemberDomains"
  etag: "\a\005L\252\122\321\946\334"
  list_policy {
  allowed_values: "C03xgje4y"
  allowed_values: "C03g5e3bc"
  allowed_values: "C03t213bc"
  }
}

Les éléments allowed_values correspondent aux numéros client G Suite, tels que C03xgje4y. Une fois cette règle d'administration appliquée, seules les identités appartenant à un domaine G Suite provenant de la liste des éléments allowed_values seront autorisées pour les stratégies Cloud IAM. Les groupes et les utilisateurs humains G Suite doivent faire partie de ce domaine G Suite, et les comptes de service Cloud IAM doivent être les enfants d'une ressource "organisation" associée au domaine G Suite indiqué.

Par exemple, si vous n'avez utilisé que le numéro client de l'instance G Suite de votre entreprise pour créer une règle d'administration, seuls les membres de ce domaine peuvent être ajoutés à la stratégie Cloud IAM par la suite.

Exemple de message d'erreur

Lorsque la contrainte d'organisation de restriction de domaine est enfreinte par une tentative d'ajout d'un membre qui n'est pas inclus dans la liste allowed_values, l'opération échoue et un message d'erreur s'affiche.

Console

Capture d'écran de la console

gcloud

ERROR: (gcloud.projects.set-iam-policy) FAILED_PRECONDITION: One or
more users in the policy do not belong to a permitted customer.

Récupérer un numéro client G Suite

Le numéro client G Suite utilisé par la contrainte de restriction de domaine peut être obtenu de deux manières :

gcloud

La commande gcloud organizations list permet d'afficher toutes les organisations pour lesquelles vous détenez l'autorisation resourcemanager.organizations.get :

gcloud alpha organizations list

Cette commande renvoie les éléments DISPLAY_NAME, ID (ID de l'organisation) et DIRECTORY_CUSTOMER_ID. Le numéro client G Suite correspond à l'élément DIRECTORY_CUSTOMER_ID.

API

L'API Directory de G Suite permet de récupérer un numéro client G Suite.

  1. Obtenez un jeton d'accès OAuth pour le champ d'application https://www.googleapis.com/auth/admin.directory.customer.readonly.
  2. Exécutez la commande suivante pour interroger l'API Directory de G Suite :

    curl -# -X GET "https://www.googleapis.com/admin/directory/v1/customers/customerKey" \
    -H "Authorization: Bearer $access_token" -H "Content-Type: application/json"
    

Cette commande renvoie une réponse JSON incluant les informations relatives au client. Le numéro client G Suite correspond à id.

Limiter les sous-domaines

La contrainte de restriction de domaine fonctionne en limitant l'accès à tous les domaines associés à un numéro client G Suite donné. Chaque compte G Suite présente exactement un domaine principal et aucun ou plusieurs domaines secondaires. Tous les domaines associés au numéro client G Suite sont soumis à la contrainte.

L'application de la contrainte de restriction de domaine à une ressource contrôle le domaine principal et tous les domaines secondaires pouvant accéder à cette ressource et à ses descendants dans la hiérarchie des ressources.

Le tableau ci-dessous présente des exemples de combinaisons courantes de domaines et de sous-domaines G Suite :

Domaine principal Sous-domaine Contrainte de restriction de domaine user@sub.domain.com est-il autorisé ?
domaine.com aucun Autoriser : domain.com Non
domaine.com sub.domain.com Autoriser : domain.com Oui
domaine.com sub.domain.com Autoriser : sub.domain.com Oui
sub.domain.com domaine.com Autoriser : sub.domain.com Oui
sub.domain.com aucun Autoriser : sub.domain.com Oui

Pour différencier l'accès de contrainte de restriction de domaine entre deux domaines, chaque domaine doit être associé à un compte G Suite différent. Chaque compte G Suite est associé à un nœud d'organisation et peut appliquer ses propres règles d'administration. Cela vous permet d'associer domain.com à un compte G Suite et sub.domain.com à un autre pour un contrôle d'accès plus précis. Pour en savoir plus, consultez la page Gérer plusieurs organisations.

Résoudre les problèmes connus

Compte de service d'exportation Cloud Billing

Lorsque cette contrainte est activée, l'activation de l'exportation de la facturation vers un bucket échouera probablement. N'utilisez pas cette contrainte sur les buckets utilisés pour l'exportation de la facturation.

L'adresse e-mail du compte de service d'exportation Cloud Billing est la suivante : 509219875288-kscf0cheafmf4f6tp1auij5me8qakbin@developer.gserviceaccount.com.

Cloud Composer

Pour créer un environnement, vous devez d'abord désactiver la contrainte de restriction de domaine pour le projet souhaité. Vous pouvez la réactiver après avoir créé l'environnement.

Cloud Functions

Pour créer des fonctions publiques, vous devez désactiver la contrainte de restriction de domaine pour le projet souhaité.

Cloud Run

Pour créer des services publics, vous devez désactiver la contrainte de restriction de domaine pour le projet souhaité.

Forcer l'accès au compte

Si vous devez forcer l'accès au compte pour un projet en violation des restrictions de domaine, procédez comme suit :

  1. Supprimez la règle d'administration contenant la contrainte de restriction de domaine.

  2. Accordez au projet l'accès au compte.

  3. Mettez à nouveau en œuvre la règle d'administration avec la contrainte de restriction de domaine.

Vous pouvez également ajouter un groupe Google à la liste blanche :

  1. Créez un groupe Google dans le domaine autorisé.

  2. Utilisez le panneau d'administration de G Suite pour désactiver la restriction de domaine pour ce groupe.

  3. Ajoutez le compte de service au groupe.

  4. Mettez à nouveau en œuvre la règle d'administration avec la contrainte de restriction de domaine.

  5. Accordez l'accès au groupe Google dans la stratégie IAM.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation relative à Resource Manager