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 |
Um JWT que declara que o usuário tem permissão para desencapsular uma chave para |
original_kacls_url |
URL do KACLS da wrap_key atual. |
reason |
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 |
O objeto binário base64 retornado por |
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 |
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 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="
}