Cette page traite des clés HMAC (Hash-based Message Authentification Code, code d'authentification des messages basé sur un hachage), qui vous permettent d'authentifier les requêtes adressées à l'API XML de Cloud Storage. Les clés HMAC sont utiles lorsque vous souhaitez déplacer des données entre d'autres fournisseurs de stockage cloud et Cloud Storage, car elles vous permettent de réutiliser votre code existant pour accéder à Cloud Storage.
Présentation
Une clé HMAC est un type d'identifiant associé à un compte, généralement un compte de service. Utilisez une clé HMAC pour créer des signatures à l'aide de l'algorithme de signature HMAC-SHA256. Les signatures que vous créez sont ensuite incluses dans les requêtes adressées à l'API XML de Cloud Storage. Les signatures indiquent qu'une requête donnée est autorisée par le compte associé à la clé HMAC.
Les clés HMAC comportent deux éléments principaux : un ID d'accès et un secret.
ID d'accès : chaîne alphanumérique associée à un compte spécifique.
Lorsqu'elle est associée à un compte de service, la chaîne comporte 61 caractères.
Voici un exemple d'ID d'accès :
GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA
Secret : chaîne de 40 caractères encodée en base64 qui est associée à un ID d'accès spécifique. Un secret est une clé prépartagée que seuls vous et Cloud Storage connaissez. Vous l'utilisez pour créer des signatures dans le cadre du processus d'authentification. Voici un exemple de secret :
bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ
L'ID d'accès et le secret identifient de manière unique une clé HMAC, mais le secret est un élément d'information beaucoup plus sensible, car il sert à créer des signatures.
Vous pouvez éventuellement activer la contrainte restrictAuthTypes
sur une ressource, ce qui limite l'accès aux requêtes signées par des clés HMAC.
Stocker des secrets
Lorsque vous créez une clé HMAC pour un compte de service, vous recevez le secret une seule fois. Vous devez le stocker de manière sécurisée, tout comme l'ID d'accès associé. Si vous perdez le secret, ni vous, ni Trusted Cloud by S3NSne pouvez le récupérer. Vous devez créer une clé HMAC pour que le compte de service puisse continuer à authentifier les requêtes.
Bonnes pratiques pour le stockage des secrets
Ne partagez pas le secret de votre clé HMAC. Vous devez traiter les secrets de clés HMAC comme n'importe quel ensemble d'identifiants d'accès.
Une bonne pratique de sécurité consiste à modifier régulièrement vos clés dans le cadre d'une rotation de clés.
Si vous pensez qu'un autre utilisateur utilise vos clés HMAC, vous devez immédiatement supprimer les clés HMAC concernées pour en créer d'autres.
Lorsque vous modifiez vos clés HMAC, nous vous recommandons de mettre à jour votre code en spécifiant les nouvelles clés HMAC avant de supprimer les anciennes. Lorsque vous supprimez des clés HMAC, celles-ci deviennent immédiatement non valides et ne peuvent plus être récupérées.
Restrictions
Les clés HMAC ne peuvent être utilisées que pour envoyer des requêtes à l'API XML, et non à l'API JSON.
Vous pouvez utiliser au maximum 10 clés HMAC par compte de service. Les clés supprimées ne sont pas comptabilisées dans ce quota.
Après la création, un délai de 60 secondes peut être nécessaire pour qu'une clé HMAC de compte de service soit utilisable. Après la suppression d'un compte de service, les clés HMAC qui lui appartiennent peuvent continuer à fonctionner pendant cinq minutes au maximum. À l'inverse, un délai de cinq minutes peut être nécessaire pour que les clés HMAC soient à nouveau utilisables après l'annulation de la suppression du compte de service qui en est le propriétaire.
Si vous activez la contrainte
restrictAuthTypes
sur une ressource, vous ne pouvez plus créer ni activer les clés HMAC pour le type de compte spécifié dans cette ressource.
Étapes suivantes
- Créez des clés HMAC pour vos comptes de service.
- Utilisez une clé HMAC dans une requête authentifiée.