Phương thức: gói lại

Phương thức này giúp bạn di chuyển từ Dịch vụ danh sách kiểm soát quyền truy cập vào khoá cũ (KACLS1) lên phiên bản mới hơn là KACLS (KACLS2). Phải có Khoá mã hoá dữ liệu (DEK) được gói bằng API wrap của KACLS1 và trả về một DEK được gói bằng API wrap của KACLS2.

Yêu cầu HTTP

POST https://KACLS_URL/rewrap

Thay thế KACLS_URL bằng Danh sách kiểm soát quyền truy cập vào khoá URL của Dịch vụ (KACLS).

Tham số đường dẫn

Không có.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "authorization": string,
  "original_kacls_url": string,
  "reason": string,
  "wrapped_key": string
}
Trường
authorization

string

Một JWT khẳng định rằng người dùng được phép khám phá khoá của resource_name. Xem phần mã thông báo uỷ quyền.

original_kacls_url

string

URL của KACLS hiện tại được bao bọc (wrapped_key).

reason

string (UTF-8)

Chuỗi JSON truyền qua cung cấp thêm ngữ cảnh về thao tác. JSON được cung cấp phải được dọn dẹp trước khi hiển thị. Kích thước tối đa: 1 KB.

wrapped_key

string

Đối tượng nhị phân base64 do wrap trả về.

Nội dung phản hồi

Nếu thành công, phương thức này sẽ trả về một đối tượng nhị phân mờ sẽ được lưu trữ bằng đối tượng đã mã hoá và được gửi nguyên trạng trong thao tác khám phá khoá. Hàm này cũng sẽ trả về mã hoá base64 resource_key_hash.

Nếu thao tác không thành công, trả lời lỗi có cấu trúc cần được trả về.

Đối tượng nhị phân chỉ được chứa bản sao của DEK được mã hoá, dữ liệu triển khai cụ thể có thể được lưu trữ trong đó.

Đừng lưu trữ DEK trong hệ thống KACLS, mà hãy mã hoá rồi trả lại mã đối tượng wrapped_key. Điều này giúp ngăn chặn sự khác biệt trong suốt thời gian hoạt động giữa tài liệu và các khoá của tài liệu đó. Ví dụ: để đảm bảo rằng dữ liệu của người dùng có đầy đủ xoá sạch dữ liệu khi họ yêu cầu hoặc để đảm bảo rằng các phiên bản trước đó được khôi phục từ bản sao lưu sẽ có thể giải mã.

Google sẽ không gửi yêu cầu xoá tới KACLS khi các đối tượng đã bị xoá.

Biểu diễn dưới dạng JSON
{
  "resource_key_hash": string,
  "wrapped_key": string
}
Trường
resource_key_hash

string

đối tượng nhị phân được mã hoá base64. Xem hàm băm của khoá tài nguyên.

wrapped_key

string

Đối tượng nhị phân được mã hoá base64. Kích thước tối đa: 1 KB.

Ví dụ:

Ví dụ này cung cấp một yêu cầu và phản hồi mẫu cho phương thức rewrap.

Yêu cầu

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

Phản hồi

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