メソッド: wrap

暗号化されたデータ暗号鍵(DEK)と関連データを返します。

詳しくは、データの暗号化と復号 をご覧ください。

HTTP リクエスト

POST https://KACLS_URL/wrap

KACLS_URL は、鍵アクセス制御リスト サービス(KACLS)の URL に置き換えます。

パスパラメータ

なし。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "authentication": string,
  "authorization": string,
  "key": string,
  "reason": string
}
フィールド
authentication

string

IdP によって発行された、ユーザーをアサートする JWT。認証 トークンをご覧ください。

authorization

string

ユーザーが resource_name の鍵をラップできることをアサートする JWT。承認 トークンをご覧ください。

key

string

Base64 でエンコードされた DEK。最大サイズは 128 バイトです。

reason

string (UTF-8)

オペレーションに関する追加のコンテキストを提供するパススルー JSON 文字列。提供された JSON は、表示する前に サニタイズする必要があります。最大サイズは 1 KB です。

レスポンスの本文

成功すると、このメソッドは不透明なバイナリ オブジェクトを返します。このオブジェクトは、暗号化されたオブジェクトとともに Google Workspace に保存され、後続の鍵のアンラップ オペレーションでそのまま送信されます。

オペレーションが失敗した場合は、 構造化されたエラー応答 が返されます。

バイナリ オブジェクトには、暗号化された DEK のコピーのみが含まれている必要があります。実装固有のデータはバイナリ オブジェクトに保存できます。

DEK を鍵アクセス制御リスト サービス(KACLS)システムに保存するのではなく、暗号化して wrapped_key オブジェクトで返します。これにより、ドキュメントとその鍵の有効期間の不一致を防ぐことができます。たとえば、ユーザーがリクエストしたときにユーザーのデータが完全に消去されるようにするためや、バックアップから復元された以前のバージョンを復号できるようにするためです。

JSON 表現
{
  "wrapped_key": string
}
フィールド
wrapped_key

string

Base64 でエンコードされたバイナリ オブジェクト。最大サイズは 1 KB です。

この例では、wrap メソッドのリクエストとレスポンスのサンプルを示します。

リクエスト

POST https://mykacls.example.com/v1/wrap

{
   "key":"wHrlNOTI9mU6PBdqiq7EQA==",
   "authorization": "eyJhbGciOi…"
   "authentication": "eyJhbGciOi…"
   "reason": "{client:'drive' op:'update'}"
}

レスポンス

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