Configurer les clés gérées par le client avec Management API
Auth0 sécurise les secrets et les données de votre locataire à l’aide d’une clé racine d’environnement Auth0, au sommet de la hiérarchie des clés de chiffrement d’enveloppe. La clé racine de l’environnement Auth0 et la clé racine fournie par le client sont stockées dans le module de sécurité matériel (HSM) du fournisseur de nuage Auth0 correspondant, AWS ou Azure.
Bring Your Own Key (Apportez votre propre clé)
En utilisant Bring Your Own Key (Apportez votre propre clé), les utilisateurs ayant le rôle d’éditeur de gestion des clés peuvent utiliser Management API Auth0 pour remplacer la clé racine par défaut de l’environnement Auth0 par leur propre clé racine fournie par le client. Les clients peuvent téléverser en toute sécurité leur propre clé racine, qui contient leur propre matériel cryptographique, afin de :
répondre aux exigences de génération et de provenance de clés personnalisées pour la clé racine de l’environnement;
répondre aux exigences particulières en matière d’installation ou de durée de vie des clés pour la clé racine de l’environnement;
conserver une copie de la clé racine fournie par le client dans les locaux du client.
Vous pouvez créer et gérer votre clé racine fournie par le client à l’aide de Management API, en suivant les étapes ci-après :
Appeler le point de terminaison Create the new encryption key (Créer la nouvelle clé de chiffrement) pour lancer le processus Apportez votre propre clé et obtenir le
kid
(identifiant de clé) de la clé racine pré-activée fournie par le client sans méthode de chiffrement.Appelez le point de terminaison Create the public wrapping key (Créer la clé publique enveloppante) pour créer et renvoyer une clé publique enveloppante.
Générez votre propre clé de chiffrement et enveloppez-la (chiffrez-la) avec la clé publique d’enveloppe pour créer une clé de chiffrement enveloppée (la clé racine fournie par le client) à partir de votre environnement.
Appelez le point de terminaison Import the encryption key (Importation de la clé de chiffrement) pour importer votre clé racine fournie par le client dans Auth0.
Exigences en matière de matériel cryptographique
Utilisez votre système de gestion des clés pour envelopper votre propre matériel cryptographique avec la clé publique d’enveloppement et créer la clé de chiffrement enveloppée. Utilisez ces paramètres pour définir les paramètres de l’algorithme CKM_RSA_AES_KEY_WRAP en fonction de votre fournisseur de services infonuagiques Auth0 (AWS ou Azure) :
Auth0 sur AWS Cloud
Longueur de la clé publique d’enveloppement : 3 072 bits
Algorithme : CKG_MGF1_SHA256
Longueur temporaire de la clé AES pour CKM_AES_KEY_WRAP_PAD : 256 bits
Type de clé racine fourni par le client : Clé symétrique AES de 256 bits
Auth0 sur Azure Cloud
Longueur de la clé publique d’enveloppement : 2048 bits
Algorithme : CKG_MGF1_SHA-1
Longueur temporaire de la clé AES pour CKM_AES_KEY_WRAP_PAD : 256 bits
Type de clé racine fourni par le client : Clé privée RSA de 2 048 bits
Codage de la clé privée : PKCS #8 – ASN.1 DER
Permissions (Autorisations)
Utilisez les autorisations suivantes pour permettre l’accès aux points de terminaison des clés de chiffrement.
Autorisations | Descriptions |
---|---|
read:encryption_keys |
Les utilisateurs peuvent rechercher et récupérer des clés dans le locataire Auth0. Cela comprend la lecture des points de terminaison /api/v2/keys/encryption , /api/v2/keys/encryption/{kid} . |
create:encryption_keys |
Les utilisateurs peuvent créer leur propre clé racine fournie par le client et la clé d’enveloppement publique à l’aide des points de terminaison /api/v2/keys/encryption et /api/v2/keys/encryption/{kid}/wrapping-key . |
delete:encryption_keys |
Les utilisateurs peuvent supprimer leur propre clé racine fournie par le client par le point de terminaison
/api/v2/keys/encryption/{kid} . |
update:encryption_keys |
Les utilisateurs peuvent importer leur propre clé racine fournie par le client par le point de terminaison
/api/v2/keys/encryption/{kid} . |
Points de terminaison
Utilisez le point de terminaison Get all encryption keys (Obtenir toutes les clés de chiffrement) pour obtenir des informations sur la clé racine de l’environnement actuel ou la clé racine fournie par le client, et la clé principale du locataire.
Utilisez le point de terminaison Get the encryption key by its key id (Obtenir la clé de chiffrement par son identifiant de clé) pour récupérer des informations sur la clé indiquée.
Utilisez le point de terminaison Create the new encryption key (Créer la nouvelle clé de chiffrement) pour générer un paramètre fictif préactivé de la clé racine fournie par le client.
Utilisez le point de terminaison Create the public wrapping key (Créer la clé publique d’enveloppement) pour récupérer une clé publique d’enveloppement afin d’envelopper votre méthode de chiffrement.
Utilisez le point de terminaison Import the encryption key (Importer la clé de chiffrement) pour importer un nouveau matériel de clé racine fournie par le client.
Utilisez le point de terminaison Delete the encryption key by its key id (Supprimer la clé de chiffrement par son identifiant de clé) pour supprimer une clé racine existante fournie par le client et refuser d’utiliser Apportez vos propres clés. La clé racine de l’environnement Auth0 est utilisée pour rechiffrer la hiérarchie des clés. Cette opération n’a pas de répercussions négatives sur les flux de données et d’authentification existants.