Método: rewrap

Esse método ajuda a migrar do antigo serviço de lista de controle de acesso a chaves (KACLS1, na sigla em inglês) para o KACLS (KACLS2) mais recente. Ela usa uma chave de criptografia de dados (DEK, na sigla em inglês) encapsulada com a API wrap do KACLS1 e retorna uma DEK unida 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 às chaves (KACLS, na sigla em inglês).

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

string

Um JWT que declara que o usuário tem permissão para desencapsular uma chave para resource_name. Veja tokens de autorização.

original_kacls_url

string

URL do KACLS da wrap_key atual.

reason

string (UTF-8)

Uma string JSON de passagem que fornece contexto adicional sobre a operação. O JSON fornecido precisa ser limpo antes de ser exibido. Tamanho máximo: 1 KB.

wrapped_key

string

O objeto binário base64 retornado por wrap.

Corpo da resposta

Se for bem-sucedido, esse método retornará um objeto binário opaco que será armazenado pelo Google Workspace com o objeto criptografado e enviado no estado em que se encontra em qualquer operação de desencapsulamento de chaves subsequente. Ela também retornará o resource_key_hash codificado em base64.

Se a operação falhar, uma resposta de erro estruturado precisará ser retornada.

O objeto binário precisa conter a única cópia da DEK criptografada. Os dados específicos da implementação podem ser armazenados nele.

Não armazene a DEK no sistema KACLS. Em vez disso, criptografe-a e retorne-a 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 excluídos quando ele os solicitar ou para garantir que as versões anteriores restauradas de um backup sejam descriptografadas.

O Google não envia solicitações de exclusão ao KACLS quando os objetos são excluídos.

Representação JSON
{
  "resource_key_hash": string,
  "wrapped_key": string
}
Campos
resource_key_hash

string

codificado em base64. Consulte hash da chave de recurso.

wrapped_key

string

O objeto binário codificado em base64. Tamanho máximo: 1 KB.

Exemplo

Este exemplo fornece um exemplo de solicitação e resposta 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://<kacl1_base_url>",
   "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="
}