方法:Privilegedunwrap
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
在具有特殊權限的環境中,解密從 Google 匯出的資料。先前稱為
TakeoutUnwrap
。傳回使用
未查看原始文件的 wrap
或檔案存取控制清單 (ACL)如需用途範例,請參閱:
Google 匯出。
HTTP 要求
POST https://KACLS_URL/privilegedunwrap
將 KACLS_URL
替換為金鑰存取控制清單服務 (KACLS)
網址。
路徑參數
無。
要求主體
要求主體的資料會採用以下結構:
JSON 表示法 |
{
"authentication": string,
"reason": string,
"resource_name": string,
"wrapped_key": string
}
|
欄位 |
authentication |
string
由 IdP 核發的使用者核發的 JWT。請參閱驗證權杖。
|
reason |
string (UTF-8)
直通式 JSON 字串,提供作業的其他背景資訊。提供的 JSON 必須先經過處理,才會顯示。大小上限:1 KB。
|
resource_name |
string (UTF-8)
DEK 加密的物件 ID。這個值必須與用來包裝金鑰的 resource_name 相符。大小上限:128 個位元組。
|
wrapped_key |
string
wrap 傳回的 Base64 二進位物件。
|
回應主體
如果成功,這個方法會傳回文件加密金鑰。
如果作業失敗,
結構化錯誤回覆
。
JSON 表示法 |
{
"key": string
}
|
欄位 |
key |
string
Base64 編碼的 DEK。
|
範例
這個範例提供了 privilegedunwrap
的要求和回應範例
方法。
要求
POST https://mykacls.example.com/v1/takeout_unwrap
{
"wrapped_key": "7qTh6Mp+svVwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==",
"authentication": "eyJhbGciOi…"
"reason": "{client:'takeout' op:'read'}"
"resource_name": "item123"
}
回應
{
"key": "0saNxttLMQULfXuTbRFJzi/QJokN1jW16u0yaNvvLdQ="
}
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-25 (世界標準時間)。
[null,null,["上次更新時間:2025-07-25 (世界標準時間)。"],[[["\u003cp\u003eDecrypts data exported from Google Takeout in a privileged context, bypassing standard access controls.\u003c/p\u003e\n"],["\u003cp\u003eRequires a JWT for authentication and identifies the encrypted object with a resource name.\u003c/p\u003e\n"],["\u003cp\u003eReturns the Data Encryption Key (DEK) used to encrypt the data, allowing privileged access to its content.\u003c/p\u003e\n"],["\u003cp\u003eUses a specific request body structure containing authentication, reason, resource name, and the wrapped key.\u003c/p\u003e\n"]]],["The `privilegedunwrap` method decrypts data exported from Google. It requires a POST request to the KACLS URL with a JSON body containing the `wrapped_key`, `authentication` JWT, `reason` string, and `resource_name`. This method returns the base64-encoded Data Encryption Key (DEK) without verifying document or file access control. The `wrapped_key` is a base64 binary object. The `resource_name` must match the value used during the key wrapping process. Upon success, the response contains the decrypted DEK as a base64 string.\n"],null,["# Method: privilegedunwrap\n\nDecrypts data exported from Google in a privileged context. Previously known as\n`TakeoutUnwrap`. Returns the Data Encryption Key (DEK) that was wrapped using\n[`wrap`](/workspace/cse/reference/wrap) without checking the original document\nor file access control list (ACL). For an example use case, see:\n[Google Takeout](https://support.google.com/a/answer/100458).\n\n### HTTP request\n\n`POST https://`\u003cvar translate=\"no\"\u003eKACLS_URL\u003c/var\u003e`/privilegedunwrap`\n\nReplace \u003cvar translate=\"no\"\u003eKACLS_URL\u003c/var\u003e with the Key Access Control List Service (KACLS)\nURL.\n\n### Path parameters\n\nNone.\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation ||\n|--------------------------------------------------------------------------------------------------------|---|\n| ``` { \"authentication\": string, \"reason\": string, \"resource_name\": string, \"wrapped_key\": string } ``` |\n\n| Fields ||\n|------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `authentication` | `string` A JWT issued by the IdP asserting who the user is. See [authentication tokens](/workspace/cse/reference/authentication-tokens). |\n| `reason` | `string (UTF-8)` A passthrough JSON string providing additional context about the operation. The JSON provided should be sanitized before being displayed. Maximum size: 1 KB. |\n| `resource_name` | `string (UTF-8)` An identifier for the object encrypted by the DEK. This value must match the `resource_name` used to wrap the key. Maximum size: 128 bytes. |\n| `wrapped_key` | `string` The base64 binary object returned by [`wrap`](/workspace/cse/reference/wrap). |\n\n### Response body\n\nIf successful, this method returns the document encryption key.\n\nIf the operation fails, a\n[structured error reply](/workspace/cse/reference/structured-errors)\nshould be returned.\n\n| JSON representation ||\n|---------------------------|---|\n| ``` { \"key\": string } ``` |\n\n| Fields ||\n|-------|----------------------------------|\n| `key` | `string` The base64-encoded DEK. |\n\n### Example\n\nThis example provides a sample request and response for the `privilegedunwrap`\nmethod.\n\n#### Request\n\n POST https://mykacls.example.com/v1/takeout_unwrap\n\n {\n \"wrapped_key\": \"7qTh6Mp+svVwYPlnZMyuj8WHTrM59wl/UI50jo61Qt/QubZ9tfsUc1sD62xdg3zgxC9quV4r+y7AkbfIDhbmxGqP64pWbZgFzOkP0JcSn+1xm/CB2E5IknKsAbwbYREGpiHM3nzZu+eLnvlfbzvTnJuJwBpLoPYQcnPvcgm+5gU1j1BjUaNKS/uDn7VbVm7hjbKA3wkniORC2TU2MiHElutnfrEVZ8wQfrCEpuWkOXs98H8QxUK4pBM2ea1xxGj7vREAZZg1x/Ci/E77gHxymnZ/ekhUIih6Pwu75jf+dvKcMnpmdLpwAVlE1G4dNginhFVyV/199llf9jmHasQQuaMFzQ9UMWGjA1Hg2KsaD9e3EL74A5fLkKc2EEmBD5v/aP+1RRZ3ISbTOXvxqYIFCdSFSCfPbUhkc9I2nHS0obEH7Q7KiuagoDqV0cTNXWfCGJ1DtIlGQ9IA6mPDAjX8Lg==\",\n \"authentication\": \"eyJhbGciOi...\"\n \"reason\": \"{client:'takeout' op:'read'}\"\n \"resource_name\": \"item123\"\n }\n\n#### Response\n\n {\n \"key\": \"0saNxttLMQULfXuTbRFJzi/QJokN1jW16u0yaNvvLdQ=\"\n }"]]