Método: rewrap

Este método ajuda você a migrar do antigo serviço Key Access Control List (KACLS1) para os mais novos KACLS (KACLS2). Ela utiliza uma chave de criptografia de dados (DEK) unida à 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 pela lista de controle de acesso às chaves. URL de serviço (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

string

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

original_kacls_url

string

URL dos KACLS atuais de wrap_key.

reason

string (UTF-8)

Uma string JSON de passagem que fornece contexto adicional sobre a operação. O JSON fornecido deve 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, este método retorna um objeto binário opaco que será armazenado pelo Google Workspace junto com o objeto criptografado e enviado como está em qualquer desencapsulamento de chaves. Ela também deve retornar o modelo resource_key_hash (em inglês).

Se a operação falhar, uma resposta de erro estruturada deve ser retornado.

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

Não armazene a DEK no seu sistema KACLS. Criptografe-a e devolva-a o objeto wrapped_key. Isso evita discrepâncias de ciclo de vida e as chaves dele. Por exemplo, para garantir que os dados do usuário sejam totalmente eliminados após a solicitação ou para garantir que as versões anteriores sejam restauradas dados de um backup serão descriptografados.

O Google não vai enviar solicitações de exclusão para o KACLS quando os objetos forem excluídos.

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

string

objeto binário codificado em base64. Consulte hash de chave de recurso.

wrapped_key

string

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

Exemplo

Neste exemplo, apresentamos 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="
}