메서드: rewrap

이 메서드는 이전 키 액세스 제어 목록 서비스(KACLS1)에서 최신 KACLS (KACLS2)로 이전하는 데 도움이 됩니다. KACLS1의 wrap API로 래핑된 데이터 암호화 키 (DEK)를 가져와 KACLS2의 wrap API로 래핑된 DEK를 반환합니다.

HTTP 요청

POST https://KACLS_URL/rewrap

KACLS_URL를 키 액세스 제어 목록 서비스 (KACLS) URL로 바꿉니다.

경로 매개변수

없음

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "authorization": string,
  "original_kacls_url": string,
  "reason": string,
  "wrapped_key": string
}
입력란
authorization

string

사용자가 resource_name의 키를 래핑 해제할 수 있음을 나타내는 JWT입니다. 승인 토큰을 참조하세요.

original_kacls_url

string

현재 Wrap_key의 KACLS URL입니다.

reason

string (UTF-8)

작업에 대한 추가 컨텍스트를 제공하는 패스 스루 JSON 문자열입니다. 제공된 JSON은 정리된 후 표시해야 합니다. 최대 크기: 1KB

wrapped_key

string

wrap에서 반환된 base64 바이너리 객체입니다.

응답 본문

성공하면 이 메서드는 Google Workspace에서 암호화된 객체와 함께 저장하고 이후의 키 래핑 해제 작업에서 있는 그대로 전송할 불투명 바이너리 객체를 반환합니다. 또한 base64로 인코딩된 resource_key_hash도 반환해야 합니다.

작업이 실패하면 구조화된 오류 응답이 반환되어야 합니다.

바이너리 객체에는 암호화된 DEK의 유일한 사본이 포함되어야 하며, 구현 관련 데이터를 여기에 저장할 수 있습니다.

DEK를 KACLS 시스템에 저장하지 말고 대신 암호화하여 wrapped_key 객체에 반환합니다. 이렇게 하면 문서와 키 간의 전체 기간 불일치를 방지할 수 있습니다. 예를 들어 사용자가 요청할 때 사용자의 데이터가 완전히 완전히 삭제되도록 하거나 백업에서 복원된 이전 버전을 복호화할 수 있도록 하기 위해서입니다.

객체가 삭제될 때 Google은 KACLS로 삭제 요청을 보내지 않습니다.

JSON 표현
{
  "resource_key_hash": string,
  "wrapped_key": string
}
입력란
resource_key_hash

string

base64로 인코딩된 바이너리 객체입니다. 리소스 키 해시를 참조하세요.

wrapped_key

string

base64로 인코딩된 바이너리 객체입니다. 최대 크기: 1KB

이 예에서는 rewrap 메서드의 샘플 요청 및 응답을 제공합니다.

요청

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'}"
}

응답

{
    "wrapped_key": "3qTh6Mp+svPwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
    "resource_key_hash": "SXOyPekBAUI95zuZSuJzsBlK4nO5SuJK4nNCPem5SuI="
}