説明
このステートメントは、機密データ保護ルールを変更するために使用されます。
説明
OceanBaseデータベースV4.3.5では、V4.3.5 BP3以降でこのステートメントがサポートされています。
構文
-- 機密フィールドの追加
ALTER SENSITIVE RULE <rule_name> ADD COLUMN <sensitive_field_list>;
-- 機密フィールドの削除
ALTER SENSITIVE RULE <rule_name> DROP COLUMN <sensitive_field_list>;
-- ルールの有効化
ALTER SENSITIVE RULE <rule_name> ENABLE;
-- ルールの無効化
ALTER SENSITIVE RULE <rule_name> DISABLE;
-- 暗号化アルゴリズムの変更
ALTER SENSITIVE RULE <rule_name> USING ENCRYPTION [= <encryption_method>];
パラメータの説明
具体的なパラメータの説明は以下のとおりです:
| パラメータ | データ型 | デフォルト値 | 説明 | |--|--|--|--| | rule_name | 文字列 | | 感染ルールの名前で、テナント内で一意です。 | | sensitive_field_list | 文字列 | | 暗号化する列を示します。書式は db.table(col1, col2), db2.table2(col3, col4), ... となります。つまり、各機密項目はテーブル上の1つ以上の列を指定し、各列はカンマで区切られます。各機密項目間もカンマで区切ります。db は省略可能で、デフォルトでは現在接続しているデータベースが使用されます。 | | encryption_method | 文字列 | | 暗号化方式。デフォルト値は aes-256(cbc) です。値の範囲は以下を参照してください。 |
encryption_method の許容値は以下のとおりです:
| 値(SQL構文で使用される) | 実際に使用される暗号アルゴリズム | キー長 | モード | 説明 |
|---|---|---|---|---|
| aes-256 | AES-256-ECB | 256ビット | ECB | デフォルトのアルゴリズム |
| aes-128 | AES-128-ECB | 128ビット | ECB | 互換性が高い |
| aes-192 | AES-192-ECB | 192ビット | ECB | 中程度のセキュリティレベル |
| aes-128-gcm | AES-128-GCM | 128ビット | GCM | 認証と暗号化を提供 |
| aes-256-gcm | AES-256-GCM | 256ビット | GCM | 高いセキュリティレベル、認証と暗号化を提供 |
| sm4-cbc | SM4-CBC | CBC | 高いセキュリティレベル | |
| sm4-GCM | SM4-GCM | GCM | 高いセキュリティレベル |
制限事項は以下のとおりです:
ADD/DROP COLUMNのパラメータsensitive_field_listとCREATE SENSITIVE RULE構文のこのフィールドは一致しています。ADD COLUMNで追加される列は、既存のどのルールによっても保護されていてはなりません。DROP COLUMNで削除される列は、指定されたルールによって保護されている列である必要があります。DISABLEは現在の機密ルールを一時的に無効にしますが、ルールを削除することはありません(ルール作成後はデフォルトで有効な状態です)。
例
例:
-- 機密ルールr1にtbl2(c), db2.tbl3(x)を追加
ALTER SENSITIVE RULE r1 ADD COLUMN tbl2(c), db2.tbl3(x);
-- 機密ルールr1からtbl2(c)を削除
ALTER SENSITIVE RULE r1 DROP COLUMN tbl2(c);
-- 機密ルールr1を有効化
ALTER SENSITIVE RULE r1 ENABLE;
-- 機密ルールr1を無効化
ALTER SENSITIVE RULE r1 DISABLE;
-- 機密ルールr1の暗号化アルゴリズムをデフォルトのアルゴリズムに変更
ALTER SENSITIVE RULE r1 USING ENCRYPTION;
-- 機密ルールr1の暗号化アルゴリズムをsm4-cbcに変更
ALTER SENSITIVE RULE r1 USING ENCRYPTION = 'sm4-cbc';