REDACTAmazon の _REVISION ストアドプロシージャ QLDB - Amazon Quantum 台帳データベース (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

REDACTAmazon の _REVISION ストアドプロシージャ QLDB

重要

サポート終了通知: 既存のお客様は、07/31/2025 のサポート終了QLDBまで Amazon を使用できます。詳細については、「Amazon Ledger QLDB を Amazon Aurora Postgre に移行するSQL」を参照してください。

注記

2021 年 7 月 22 日より前に作成された台帳は、現時点では秘匿化の対象にはなりません。Amazon QLDBコンソールで台帳の作成時間を表示できます。

Amazon ではQLDB、 REDACT_REVISIONストアドプロシージャを使用して、インデックス付きストレージとジャーナルストレージの両方で個々の非アクティブなドキュメントリビジョンを完全に削除します。このストアドプロシージャは、指定されたリビジョンのユーザーデータをすべて削除します。ただし、ジャーナルシーケンスと、ドキュメント ID やハッシュなどのドキュメントメタデータは変更されません。この操作を元に戻すことはできません。

指定されたドキュメントリビジョンは、履歴上使用頻度の低いリビジョンでなければなりません。ドキュメントの最新の有効なリビジョンは、秘匿化の対象にはなりません。

このストアドプロシージャを実行して秘匿化リクエストを送信すると、 はデータの秘匿化を非同期的にQLDB処理します。秘匿化が完了すると、指定されたリビジョン内 (data 構造で表される) のユーザーデータが新しい dataHash フィールドに置き換えられます。このフィールドの値は、削除された data 構造の Amazon Ion ハッシュです。その結果、台帳は全体的なデータ整合性を維持し、既存の検証APIオペレーションを通じて暗号的に検証可能なままになります。

サンプルデータを使った秘匿化オペレーションの例については、「ドキュメントのリビジョンを秘匿化する」の「秘匿化の例」を参照してください。

注記

特定のテーブルでこの PartiQL コマンドを実行するためのアクセスを制御する方法については、「Amazon での標準アクセス許可モードの開始方法 QLDB」を参照してください。

秘匿化に関する考慮事項と制約事項

Amazon でデータ秘匿化を開始する前にQLDB、以下の考慮事項と制限事項を確認してください。

  • REDACT_REVISION ストアドプロシージャは、使用頻度の低い個別のドキュメントリビジョン内のユーザーデータを対象とします。複数のリビジョンを秘匿化するには、リビジョンごとに 1 回ストアドプロシージャを実行する必要があります。トランザクションごとに 1 つのリビジョンを秘匿化できます。

  • ドキュメントリビジョン内の特定のフィールドを編集するには、まず別のデータ操作言語 (DML) ステートメントを使用してリビジョンを変更する必要があります。詳細については、「リビジョン内の特定のフィールドを秘匿化する」を参照してください。

  • が秘匿化リクエストQLDBを受信した後は、リクエストをキャンセルまたは変更することはできません。秘匿化が完了したかどうかを確認するには、リビジョンの data 構造が dataHash フィールドに置き換えられているかどうかを確認できます。詳細については、「秘匿化が完了したかどうかの確認」を参照してください。

  • 秘匿化は、QLDBサービスの外部でレプリケートされるQLDBデータには影響しません。これには、Amazon S3 へのエクスポートと、Amazon Kinesis Data Streams へのストリーミングが含まれます。の外部に保存されているデータを管理するには、他のデータ保持方法を使用する必要がありますQLDB。

  • 秘匿化は、ジャーナルに記録されている PartiQL ステートメントのリテラル値には影響しません。ベストプラクティスとして、パラメータ化されたステートメントは、リテラル値の代わりに変数プレースホルダーを使用してプログラムで実行するようにしてください。プレースホルダーは、秘匿化が必要な機密情報ではなく、疑問符 (?) としてジャーナルに書き込まれます。

    QLDB ドライバーを使用して PartiQL ステートメントをプログラムで実行する方法については、 でサポートされている各プログラミング言語のチュートリアルを参照してくださいドライバーの開始方法

構文

EXEC REDACT_REVISION `block-address`, 'table-id', 'document-id'

引数

`block-address`

秘匿化されたドキュメントリビジョンのジャーナルブロックの場所。アドレスは、strandIdsequenceNo という 2 つのフィールドを含む Amazon Ion 構造です。

これはバックスティックで示される Ion リテラル値です。例:

`{strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:17}`

ブロックアドレスの検索方法については、「ドキュメントのメタデータのクエリの実行」を参照してください。

'table-id'

一重引用符で囲まれた、秘匿化するドキュメントのリビジョンがあったテーブルの一意の ID。

テーブル ID の検索方法については、「システムカタログのクエリの実行」を参照してください。

'document-id'

一重引用符で囲まれた、秘匿化対象のリビジョンの一意のドキュメント ID。

ドキュメント ID の検索方法については、「ドキュメントのメタデータのクエリの実行」を参照してください。

戻り値

秘匿化対象のドキュメントのリビジョンを表す Amazon Ion 構造を以下の形式で表します。

{ blockAddress: { strandId: String, sequenceNo: Int }, tableId: String, documentId: String, version: Int }
戻り値構造フィールド
  • blockAddress – 秘匿化するリビジョンのジャーナルブロックの場所。アドレスには以下の 2 つのフィールドがあります。

    • strandId - ブロックを含むジャーナルストランドの一意の ID。

    • sequenceNo: ストランド内でブロックの場所を指定するインデックス番号。

  • tableId – 秘匿化しているリビジョンのテーブルの一意の ID。

  • documentId – 秘匿化対象のリビジョンの一意のドキュメント ID。

  • version – 秘匿化対象のドキュメントリビジョンのバージョン番号。

以下に、サンプルデータを含む戻り値構造の例を示します。

{ blockAddress: { strandId: "CsRnx0RDoNK6ANEEePa1ov", sequenceNo: 134 }, tableId: "6GZumdHggklLdMGyQq9DNX", documentId: "IXlQPSbfyKMIIsygePeKrZ", version: 0 }

EXEC REDACT_REVISION `{strandId:"7z2P0AyQKWD8oFYmGNhi8D", sequenceNo:7}`, '8F0TPCmdNQ6JTRpiLj2TmW', '05K8zpGYWynDlEOK5afDRc'