Méthode: réencapsuler

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

string

Jeton JWT confirmant que l'utilisateur est autorisé à désencapsuler une clé pour resource_name. Consultez la page Jetons d'autorisation.

original_kacls_url

string

URL du fichier KACLS actuel de "wrapped_key".

reason

string (UTF-8)

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

string

Objet binaire base64 renvoyé par wrap.

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

string

objet binaire encodé en base64. Consultez la section Hachage de clé de ressource.

wrapped_key

string

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="
}