翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
移行するテーブルの 1 つ以上の列に保存されている機密データを隠すには、データマスキング変換ルールアクションを活用できます。バージョン 3.5.4 以降、 では、テーブルマッピングでデータマスキング変換ルールアクションの使用 AWS DMS が許可され、移行プロセス中に 1 つ以上の列の内容を変更できます。 は、変更されたデータをターゲットテーブルに AWS DMS ロードします。
AWS Database Migration Service には、データマスキング変換ルールアクションの 3 つのオプションがあります。
データマスキング: 数字マスク
データマスキング: 数字のランダム化
データマスキング: ハッシュマスク
これらのデータマスキング変換ルールアクションは、他の変換ルールと同様に、レプリケーションタスクのテーブルマッピングで設定できます。ルールターゲットは列レベルに設定する必要があります。
マスキング文字を使用した列データの数値のマスキング
「データマスキング: 数字マスク」変換ルールアクションでは、数字を指定した 1 つの ASCII 印刷可能な文字 (空の文字または空白文字を除く) に置き換えることで、1 つ以上の列の数値データをマスクできます。
customer_master
テーブルの cust_passport_no
列のすべての桁をマスキング文字でマスク'#'
し、マスクされたデータをターゲットテーブルにロードする例を次に示します。
{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "%"
},
"rule-action": "include"
},
{
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-target": "column",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "customer_master",
"column-name": "cust_passport_no"
},
"rule-action": "data-masking-digits-mask",
"value": "#"
}
]
}
例えば、ソーステーブルの 列cust_passport_no
にレコード「C6BGJ566669K」が含まれている場合、 AWS DMS タスクはこのデータをターゲットテーブルに として書き込みます"C#BGJ######K"
。
列内の数値を乱数に置き換える
変換ルール「Data Masking: Digits Randomize」では、1 つ以上の列の各数値を乱数に置き換えることができます。次の例では、 AWS DMS はソーステーブルの cust_passport_no
列のすべての桁を乱数customer_master
に置き換え、変更されたデータをターゲットテーブルに書き込みます。
{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "%"
},
"rule-action": "include"
},
{
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-target": "column",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "customer_master",
"column-name": "cust_passport_no"
},
"rule-action": "data-masking-digits-randomize"
}
]
}
例えば、 AWS DMS タスクはソーステーブルの "C6BGJ566669K"
cust_passport_no
列の値を に変換"C1BGJ842170K"
し、ターゲットデータベースに書き込みます。
列データをハッシュ値に置き換える
変換ルール「データマスキング: ハッシュマスク」では、列データをSHA256
アルゴリズムを使用して生成されたハッシュに置き換えることができます。ハッシュの長さは常に 64 文字であるため、ターゲットテーブルの列の長さは少なくとも 64 文字である必要があります。または、change-data-type
列に変換ルールアクションを追加して、ターゲットテーブルの列の幅を増やすこともできます。
次の例では、ソーステーブルの cust_passport_no
列のデータに 64 文字の長いハッシュ値を生成customer_master
し、列の長さを増やした後、変換されたデータをターゲットテーブルにロードします。
{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "%"
},
"rule-action": "include"
},
{
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-target": "column",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "customer_master",
"column-name": "cust_passport_no"
},
"rule-action": "change-data-type",
"data-type": {
"type": "string",
"length": "100",
"scale": ""
}
},
{
"rule-type": "transformation",
"rule-id": "3",
"rule-name": "3",
"rule-target": "column",
"object-locator": {
"schema-name": "cust_schema",
"table-name": "customer_master",
"column-name": "cust_passport_no"
},
"rule-action": "data-masking-hash-mask"
}
]
}
例えば、ソーステーブルcust_passport_no
の 列に値 が含まれている場合“C6BGJ566669K”
、 AWS DMS タスクはターゲットテーブル“7CB06784764C9030CCC41E25C15339FEB293FFE9B329A72B5FED564E99900C75”
にハッシュを書き込みます。
制限
各データマスキング変換ルールオプションは、特定の AWS DMS データ型でのみサポートされています。
データマスキング: Digits Mask は、 データ型の列
WSTRING
および でサポートされていますSTRING
。データマスキング: Digits Randomize は、署名
WSTRING, STRING; NUMERIC, INT1, INT2, INT4, and INT8
なしの対応するデータ型の列でサポートされています。データマスキング: ハッシュマスクは、 データ型の列
WSTRING
および でサポートされていますSTRING
。
データ型のソースエンジン AWS DMS のデータ型へのマッピングの詳細については、ソースエンジンのデータ型とデータ AWS DMS 型のマッピングを参照してください。、Oracle のソースデータ型、SQL Server のソースデータ型、PostgreSQL のソースデータ型および のソースデータ型を参照してくださいMySQL のソースデータ型。
互換性のないデータ型の列にデータマスキングルールアクションを使用すると、DMS タスクでエラーが発生します。DMS タスク設定の DataMaskingErrorPolicy を参照して、エラー処理の動作を指定します。
DataMaskingErrorPolicy
の詳細については、「エラー処理タスクの設定」を参照してください。使用する予定のマスキングオプションでソース列タイプがサポートされていない場合は、change-data-type変換ルールアクションを追加して、列のデータ型を互換性のある型に変更できます。
change-data-type
変換rule-id
の は、マスキング前にデータ型が変更されるように、マスキング変換の rule-id よりも小さい数値にする必要があります。データマスキングを使用する: 生成されたハッシュ値は一意で一貫しているため、プライマリキー/一意のキー/外部キー列をマスキングするためのハッシュマスクアクション。他の 2 つのマスキングオプションでは、一意性を保証できません。
データマスキング: ディジットマスクとデータマスキング: ディジットランダム化は列データ内のディジットにのみ影響し、データの長さには影響しませんが、データマスキング: ハッシュマスクは列全体を変更し、データの長さは 64 文字に変更されます。したがって、それに応じて作成されるターゲットテーブル、またはマスクされる列に変更change-data-type変換ルールを追加する必要があります。
データマスキング変換ルールアクションが指定された列は、 でのデータ検証から除外されます AWS DMS。プライマリキー/一意のキー列がマスクされている場合、このテーブルのデータ検証は実行されません。このようなテーブルの検証ステータスは に等しくなります
No Primary key
。