Cryptographic Computing for Clean Rooms での列タイプ - AWS Clean Rooms

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

Cryptographic Computing for Clean Rooms での列タイプ

このトピックでは、Cryptographic Computing for Clean Rooms での列タイプに関する情報を提供します。

Fingerprint列

Fingerprint列は、JOIN ステートメントで使用される、暗号化によって保護された列です。

fingerprint列のデータを復号化することはできません。復号化できるのは、シール列のデータだけです。

Fingerprint列は次の SQL 句と関数でのみ使用する必要があります。

  • 他のfingerprint列に対する JOIN (INNER, OUTER, LEFT, RIGHT, or FULL)

    • allowJoinsOnColumnsWithDifferentNames パラメータの値が false に設定されている場合、JOIN の両方のfingerprint列が同じ名前であることも必要になります。

  • SELECT COUNT()

  • SELECT COUNT(DISTINCT )

  • GROUP BY (コラボレーションで preserveNulls パラメータの値が true に設定されている場合にのみ使用)

これらの制約に違反するクエリは、誤った結果をもたらす可能性があります。

シール列

シール列は、SELECT ステートメントで使用される、暗号化によって保護された列です。

シール列は、次の SQL 句と関数でのみ使用する必要があります。

  • SELECT

  • SELECT ... AS

  • SELECT COUNT()

    注記

    SELECT COUNT(DISTINCT ) はサポートされていません。

これらの制約に違反するクエリは、誤った結果をもたらす可能性があります。

暗号化前のsealed列のデータのパディング

列をsealed列にするように指定すると、C3R からどの種類のパディングを選択するかをたずねられます。暗号化前のデータのパディングは任意です。パディングを使用しない場合 (パディングタイプ none) は、暗号化されたデータの長さがcleartextのサイズを示します。状況によっては、cleartextのサイズによってプレーンテキストが明らかになる場合もあります。パディングを使用する場合 (パディングタイプ fixed またはmax) は、まずすべての値が共通のサイズにパディングされ、次に暗号化されます。パディングを使用すると、暗号化されたデータの長さによって、サイズの上限は示されるものの、元のcleartextの長さに関するそれ以外の情報は得られません。

特定の列のパディングが必要で、その列のデータの最大バイト長がわかっている場合は、fixed パディングを使用し、少なくともその列の最大バイト長と同じ大きさの length 値を使用してください。

注記

値が指定した length 値より長いとエラーが発生し、暗号化は失敗します。

列のパディングが必要で、その列のデータの最大バイト長が不明な場合は、パmaxディングを使用します。このパディングモードは、すべてのデータを、最長値に追加の length バイトを加えた長さにパディングします。

注記

データをまとめて暗号化したり、テーブルを新しいデータで定期的に更新したりする場合、max パディングを行うと、指定したバッチ内の最も長いプレーンテキストエントリの長さ (プラス length バイト) までエントリがパディングされることに注意してください。つまり、暗号文の長さはバッチごとに異なる可能性があります。したがって、列の最大バイト長がわかっている場合は、max の代わりに fixed 使用してください。

Cleartext列

Cleartext 列は、 ステートメントJOINまたは SELECTステートメントでの使用のために暗号的に保護されていない列です。

Cleartext列は SQL クエリのどの部分でも使用できます。