이 메서드는 이전 키 액세스 제어 목록 서비스(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 |
사용자가 |
original_kacls_url |
현재 wrapped_key의 KACLS URL입니다. |
reason |
작업에 관한 추가 컨텍스트를 제공하는 패스스루 JSON 문자열입니다. 제공된 JSON은 표시되기 전에 정리해야 합니다. 최대 크기: 1KB |
wrapped_key |
|
응답 본문
성공하면 이 메서드는 암호화된 객체와 함께 Google Workspace에 저장되고 후속 키 래핑 해제 작업에서 그대로 전송되는 불투명 바이너리 객체를 반환합니다. 또한 base64로 인코딩된 resource_key_hash를 반환해야 합니다.
작업이 실패하면 구조화된 오류 응답이 반환되어야 합니다.
바이너리 객체에는 암호화된 DEK의 사본만 포함되어야 하며 구현 관련 데이터는 여기에 저장할 수 있습니다.
KACLS 시스템에 DEK를 저장하지 말고 대신 암호화하여 wrapped_key 객체에 반환하세요. 이렇게 하면 문서와 키 간의 수명 불일치를 방지할 수 있습니다. 예를 들어 사용자가 요청할 때 사용자 데이터가 완전히 삭제되도록 하거나 백업에서 복원된 이전 버전을 복호화할 수 있도록 합니다.
객체가 삭제될 때 Google은 KACLS에 삭제 요청을 전송하지 않습니다.
| JSON 표현 | |
|---|---|
{ "resource_key_hash": string, "wrapped_key": string } |
|
| 필드 | |
|---|---|
resource_key_hash |
base64로 인코딩된 바이너리 객체입니다. 리소스 키 해시를 참고하세요. |
wrapped_key |
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="
}