この方法は、古い鍵アクセス制御リスト サービス(KACLS1)から新しい KACLS(KACLS2)に移行する際に役立ちます。KACLS1 の wrap API でラップされたデータ暗号鍵(DEK)を取得し、KACLS2 の wrap API でラップされた DEK を返します。
HTTP リクエスト
POST https://KACLS_URL/rewrap
KACLS_URL は、Key Access Control List Service(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 は、表示する前にサニタイズする必要があります。最大サイズ: 1 KB。 |
wrapped_key |
|
レスポンスの本文
成功すると、このメソッドは不透明なバイナリ オブジェクトを返します。このオブジェクトは、暗号化されたオブジェクトとともに Google Workspace に保存され、後続のキーのラップ解除オペレーションでそのまま送信されます。また、base64 でエンコードされた resource_key_hash も返す必要があります。
オペレーションが失敗した場合は、構造化されたエラー応答を返す必要があります。
バイナリ オブジェクトには、暗号化された DEK のコピーが 1 つだけ含まれている必要があります。実装固有のデータは、このオブジェクトに保存できます。
DEK を KACLS システムに保存しないでください。代わりに、DEK を暗号化して wrapped_key オブジェクトで返します。これにより、ドキュメントとそのキーの有効期間の不一致を防ぐことができます。たとえば、ユーザーがリクエストしたときにユーザーのデータが完全に消去されるようにするため、またはバックアップから復元された以前のバージョンが復号可能であることを確認するためです。
オブジェクトが削除されても、Google は KACLS に削除リクエストを送信しません。
| JSON 表現 | |
|---|---|
{ "resource_key_hash": string, "wrapped_key": string } |
|
| フィールド | |
|---|---|
resource_key_hash |
base64 でエンコードされたバイナリ オブジェクト。リソースキーのハッシュをご覧ください。 |
wrapped_key |
base64 でエンコードされたバイナリ オブジェクト。最大サイズ: 1 KB。 |
例
この例は、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="
}