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 |
JWT affirmant que l'utilisateur est autorisé à déchiffrer une clé pour |
original_kacls_url |
URL des KACLS de la clé wrapped_key actuelle. |
reason |
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 |
Objet binaire base64 renvoyé par |
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 |
Objet binaire encodé en base64. Consultez hachage de la 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://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="
}