Cette méthode vous aide à migrer de l'ancien service de liste de contrôle d'accès aux clés (KACLS1) vers le nouveau service KACLS (KACLS2). Elle prend une clé de chiffrement de données (DEK) encapsulée avec l'API wrap
de KACLS1 et renvoie une DEK encapsulée avec l'API wrap
de KACLS2.
Requête HTTP
POST https://KACLS_URL/rewrap
Remplacez KACLS_URL
par l'URL du service de liste de contrôle d'accès aux clés (KACLS).
Paramètres du chemin d'accès
Aucune
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
Représentation JSON | |
---|---|
{ "authorization": string, "original_kacls_url": string, "reason": string, "wrapped_key": string } |
Champs | |
---|---|
authorization |
Jeton JWT confirmant que l'utilisateur est autorisé à désencapsuler une clé pour |
original_kacls_url |
URL du fichier KACLS actuel de "wrapped_key". |
reason |
Chaîne JSON passthrough fournissant des informations supplémentaires sur l'opération. Le fichier JSON fourni doit être nettoyé avant d'être affiché. Taille maximale: 1 Ko. |
wrapped_key |
Objet binaire base64 renvoyé par |
Corps de la réponse
Si cette méthode fonctionne, elle renvoie un objet binaire opaque qui sera stocké par Google Workspace avec l'objet chiffré et envoyé tel quel lors de toute opération de désencapsulation ultérieure de la clé. Elle doit également renvoyer la valeur resource_key_hash encodée en base64.
Si l'opération échoue, une réponse d'erreur structurée doit être renvoyée.
L'objet binaire doit contenir la seule copie de la DEK chiffrée. Les données spécifiques à l'implémentation peuvent y être stockées.
Ne stockez pas la DEK dans votre système KACLS. À la place, chiffrez-la et renvoyez-la dans l'objet wrapped_key
. Cela permet d'éviter les écarts de durée de vie entre le document et ses clés. Par exemple, pour s'assurer que les données de l'utilisateur sont entièrement effacées lorsqu'il le demande, ou pour s'assurer que les versions précédentes restaurées à partir d'une sauvegarde seront déchiffrables.
Google n'enverra pas de demande de suppression à la KACLS lorsque des objets sont supprimés.
Représentation JSON | |
---|---|
{ "resource_key_hash": string, "wrapped_key": string } |
Champs | |
---|---|
resource_key_hash |
objet binaire encodé en base64. Consultez la section Hachage de clé de ressource. |
wrapped_key |
Objet binaire encodé en base64. Taille maximale: 1 Ko. |
Exemple
Cet exemple fournit un exemple de requête et de réponse pour la méthode rewrap
.
Requête
POST https://mykacls.example.com/v1/rewrap
{
"wrapped_key": "7qTh6Mp+svVwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
"authorization": "eyJhbGciOi...",
"original_kacls_url": "https://<kacl1_base_url>",
"reason": "{client:'drive' op:'read'}"
}
Réponse
{
"wrapped_key": "3qTh6Mp+svPwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
"resource_key_hash": "SXOyPekBAUI95zuZSuJzsBlK4nO5SuJK4nNCPem5SuI="
}