Rotation des identifiants
Auth0 recommande de faire pivoter régulièrement les identifiants afin de répondre aux exigences de conformité et de garantir que la sécurité n’est pas compromise par des clés privées compromises. Vous pouvez utiliser le tableau de bord Auth0 ou Management API pour faire pivoter de nouvelles clés. Vous devez créer un nouveau justificatif d’identité, l’associer à la méthode d’authentification private_key_jwt
et supprimez les identifiants anciennes ou non utilisées.
Pour effectuer une rotation des identifiants de votre demande à l’aide de Auth0 Dashboard :
Naviguez vers Auth0 Dashboard > Applications > Application et sélectionnez l’application que vous voulez mettre à jour.
Passez à l’onglet Credentials (Identifiants).
Dans la section Available Credentials (Identifiants disponibles), sélectionnez Add New Key (Ajouter une nouvelle clé).
Définissez un nom pour votre nouvel identifiant, la clé publique en format PEM et l’algorithme pour le nouvel identifiant.
Sélectionnez Add Credential (Ajouter l’identifiant).
Pour activer votre nouvel identifiant, naviguez jusqu’au menu correspondant à l’identifiant et sélectionnez Activer l’utilisation de la clé privée JWT.
Une fois que vous avez mis à jour vos applications pour qu’elles utilisent le nouvel identifiant, désactivez votre identifiant d’origine :
Sélectionnez Désactiver l’utilisation de la clé privée JWT.
Une fois l’identifiant désactivé, retournez au menu de l’identifiant et sélectionnez Delete Credential (Supprimer l’identifiant).
Dans les exemples de rotation ci-dessous, credential1
est un identifiant existant déjà utilisé, alors que credential2
est un nouvel identifiant qui remplace l’identifiant existant.
Générez une nouvelle paire de clés.
Créez la ressource d’identifiants avec une demande
POST
envoyée à Management API.Envoyez une demande PATCH au point de terminaison Update a Client (Mettre à jour un client) de Management API pour associer l’identifiant à la méthode d’authentification
private_key_jwt
:curl --location --request PATCH 'https://{domain}/api/v2/clients/{clientId} \ --header 'Authorization: Bearer {managementApiAccessToken} \ --header 'Content-Type: application/json' \ --data-raw '{ "client_authentication_methods": { "private_key_jwt": { "credentials": [{ "id": {credentialId1} }, { "id": {credentialId2} }] } } }'
Was this helpful?
/Paramètre Description « clientId » Application que vous voulez mettre à jour. « credentialId1 » ID de l’identifiant actuel en cours d’utilisation. « credentialId2 » ID du nouvel identifiant. « managementApiAccessToken » Jeton d’accès pour Management API avec les permissions « update:clients » et « update:credentials ». Mettez à jour votre application afin qu’elle utilise la nouvelle clé privée pour signer les assertions pour l’Authentication API Auth0.
Retirez la clé inutilisée de votre application.
curl --location --request PATCH 'https://{domain}/api/v2/clients/{clientId} \ --header 'Authorization: Bearer $management_access_token' \ --header 'Content-Type: application/json' \ --data-raw '{ "client_authentication_methods": { "private_key_jwt": { "credentials": [{ "id": {credentialId2} }] } } }'
Was this helpful?
/Retirez la clé inutilisée de votre application. Cela supprimera définitivement les informations d’identification du stockage. Vous devez dissocier l’identifiant de votre application, sinon vous ne pourrez pas le supprimer.
curl --location --request DELETE 'https://{domain}/api/v2/clients/{clientId}/credentials/{credentialId}' \ --header 'Authorization: Bearer {managementApiAccessToken}
Was this helpful?
/Paramètre Description clientId
Application que vous souhaitez mettre à jour.
Informations d’identification actives
Pour garantir un temps d’arrêt nul, vous pouvez laisser plusieurs identifiants actives pendant la rotation. Les applications peuvent fonctionner normalement en utilisant des clés plus anciennes jusqu’à ce que les clés soient mises à jour. Les applications peuvent envoyer des assertions signées avec n’importe quel ensemble d’identifiants actives.
Auth0 recommande de minimiser le temps d’utilisation de plusieurs identifiants. L’exemple ci-dessous utilise plusieurs identifiants associées :
curl --location --request PATCH 'https://$tenant/api/v2/clients/$client_id' \
--header 'Authorization: Bearer $management_access_token' \
--header 'Content-Type: application/json' \
--data-raw '{
"client_authentication_methods": {
"private_key_jwt": {
"credentials": [{ "id": $credential1.id }, { "id": $credential2.id }]
}
}
}'
Was this helpful?