Esse método ajuda a migrar do serviço de lista de controle de acesso a chaves (KACLS1) antigo para o KACLS mais recente (KACLS2). Ela usa uma chave de criptografia de dados (DEK) encapsulada com a API wrap do KACLS1 e retorna uma DEK encapsulada com a API wrap do KACLS2.
Solicitação HTTP
POST https://KACLS_URL/rewrap
Substitua KACLS_URL pelo URL do serviço de lista de controle de acesso a chaves (KACLS).
Parâmetros de caminho
Nenhum.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
| Representação JSON | |
|---|---|
{ "authorization": string, "original_kacls_url": string, "reason": string, "wrapped_key": string } |
|
| Campos | |
|---|---|
authorization |
Um JWT que afirma que o usuário tem permissão para desencapsular uma chave para
|
original_kacls_url |
URL do KACLS da wrapped_key atual. |
reason |
Uma string JSON de transmissão que fornece mais contexto sobre a operação. O JSON fornecido precisa ser limpo antes de ser exibido. Tamanho máximo: 1 KB. |
wrapped_key |
O objeto binário base64 retornado por |
Corpo da resposta
Se for bem-sucedido, esse método vai retornar um objeto binário opaco que será armazenado pelo Google Workspace junto com o objeto criptografado e enviado como está em qualquer operação de desencapsulamento de chave subsequente. Ele também precisa retornar o resource_key_hash codificado em base64.
Se a operação falhar, uma resposta de erro estruturada será retornada.
O objeto binário precisa conter a única cópia da DEK criptografada, e dados específicos da implementação podem ser armazenados nele.
Não armazene a DEK no sistema KACLS. Em vez disso, criptografe e retorne no objeto
wrapped_key. Isso evita discrepâncias de ciclo de vida entre o documento e as chaves dele. Por exemplo, para garantir que os dados do usuário sejam totalmente
apagados quando ele solicitar ou que as versões anteriores restauradas
de um backup possam ser descriptografadas.
O Google não envia solicitações de exclusão para o KACLS quando os objetos são excluídos.
| Representação JSON | |
|---|---|
{ "resource_key_hash": string, "wrapped_key": string } |
|
| Campos | |
|---|---|
resource_key_hash |
objeto binário codificado em base64. Consulte hash da chave de recurso. |
wrapped_key |
O objeto binário codificado em base64. Tamanho máximo: 1 KB. |
Exemplo
Este exemplo fornece uma solicitação e resposta de amostra para o método rewrap.
Solicitação
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'}"
}
Resposta
{
"wrapped_key": "3qTh6Mp+svPwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
"resource_key_hash": "SXOyPekBAUI95zuZSuJzsBlK4nO5SuJK4nNCPem5SuI="
}