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 |
Um JWT que declara que o usuário tem permissão para desencapsular uma chave para |
original_kacls_url |
URL dos KACLS atuais de wrap_key. |
reason |
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 |
O objeto binário base64 retornado por |
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 |
objeto binário codificado em base64. Consulte hash de chave de recurso. |
wrapped_key |
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="
}