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 KACLS (KACLS2). Il 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 de 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

JWT affirmant que l'utilisateur est autorisé à déchiffrer une clé pour resource_name. Consultez Jetons d'autorisation.

original_kacls_url

string

URL des KACLS de la clé wrapped_key actuelle.

reason

string (UTF-8)

Chaîne JSON directe fournissant un contexte supplémentaire sur l'opération. Le 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 la requête aboutit, cette méthode 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échiffrement de clé ultérieure. Il doit également renvoyer le resource_key_hash encodé 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. Des données spécifiques à l'implémentation peuvent y être stockées.

Ne stockez pas la DEK dans votre système KACLS. Chiffrez-la plutôt 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 en fait la 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 demandes de suppression au KACLS lorsque des objets seront supprimés.

Représentation JSON
{
  "resource_key_hash": string,
  "wrapped_key": string
}
Champs
resource_key_hash

string

Objet binaire encodé en base64. Consultez hachage de la 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://original.example.com/kacls/v1",
   "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="
}