메서드: 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

현재 wrapped_key의 KACLS URL입니다.

reason

string (UTF-8)

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

wrapped_key

string

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

응답 본문

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

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

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

KACLS 시스템에 DEK를 저장하지 말고 대신 암호화하여 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://original.example.com/kacls/v1",
   "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="
}