Activer la protection de l'énumération des e-mails
Ce guide vous explique comment activer la protection de l'énumération des e-mails.
Présentation
Une énumération d'e-mails est un type d'attaque par force brute dans lequel un acteur malveillant tente de deviner ou de confirmer des utilisateurs dans un système en transmettant une adresse e-mail à l'API et en vérifiant la réponse.
Dans les exemples suivants, la protection de l'énumération des e-mails est désactivée. Identity Platform renvoie des informations qui peuvent être utilisées lors d'une attaque par énumération d'e-mails:
Tentative de connexion avec une adresse e-mail qui n'existe pas dans le système. Identity Platform renvoie une erreur
EMAIL_NOT_FOUND
.Une tentative d'inscription est effectuée à l'aide d'une adresse e-mail existante du système. Identity Platform renvoie une erreur
EMAIL_EXISTS
.
Vous pouvez utiliser la fonctionnalité de protection contre la énumération des e-mails d'Identity Platform pour protéger les comptes utilisateur de votre application contre ces attaques. La protection de l'énumération des e-mails offre les fonctionnalités suivantes:
- Les cas de connexion et d'inscription non valides renvoient une erreur
INVALID_LOGIN_CREDENTIALS
. - Suppression des réponses d'erreur pour les flux de validation d'adresse e-mail. Si l'adresse e-mail existe, un e-mail de validation est envoyé. Si ce n'est pas le cas, aucun e-mail de validation n'est envoyé.
- Les utilisateurs ne peuvent pas modifier leur adresse e-mail sans avoir préalablement validé la nouvelle adresse.
- Désactive la liste des méthodes de connexion pour une adresse e-mail spécifiée lors de l'appel de
createAuthUri
.
Activer la protection de l'énumération des e-mails
Pour activer la protection de l'énumération des e-mails, procédez comme suit:
Dans la console Google Cloud, imprimez un jeton d'accès pour votre ID de projet à l'aide de la commande
gcloud auth print-access-token
:gcloud auth print-access-token --project=PROJECT_ID
Activez la protection de l'énumération des e-mails pour votre ID de projet à l'aide de l'API Identity Toolkit:
curl -X PATCH -d "{'email_privacy_config':{'enable_improved_email_privacy':"true"}}" \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=email_privacy_config"
Remplacez les éléments suivants :
- ACCESS_TOKEN : le jeton d'accès que vous avez généré précédemment
- PROJECT_ID : ID de votre projet.
Désactiver la protection de l'énumération des e-mails
Pour désactiver la protection de l'énumération des e-mails, procédez comme suit:
Dans la console Google Cloud, imprimez un jeton d'accès pour votre ID de projet à l'aide de la commande
gcloud auth print-access-token
:gcloud auth print-access-token --project=PROJECT_ID
Désactivez la protection de l'énumération des e-mails à l'aide de l'API Identity Toolkit:
curl -X PATCH -d "{'email_privacy_config':{'enable_improved_email_privacy':"false"}}" \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=email_privacy_config"
Remplacez les éléments suivants :
- ACCESS_TOKEN: le jeton d'accès que vous avez généré précédemment
- PROJECT_ID : ID de votre projet.
Exemple de réponse d'erreur
Si un utilisateur tente de se connecter avec une adresse e-mail ou un mot de passe incorrect, ou avec une adresse e-mail déjà présente dans le système, Identity Platform renvoie une erreur semblable à celle-ci:
{
"code": "auth/internal-error",
"message": "{\"error\":{\"code\":400,\"message\":\"INVALID_LOGIN_CREDENTIALS\",\"errors\":[{\"message\":\"INVALID_LOGIN_CREDENTIALS\",\"domain\":\"global\",\"reason\":\"invalid\"}]}}"
}