説明
このステートメントは、機密データ保護ルールを変更するために使用します。
権限要件
ALTER SENSITIVE RULE ステートメントを実行するには、現在のユーザーが CREATE SENSITIVE RULE 権限を持っている必要があります。OceanBase データベースの権限の詳細については、Oracleモードの権限分類を参照してください。
構文
-- 機密列の追加
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 | 文字列 | 暗号化する列を指定します。形式は user.table(col1, col2), user2.table2(col3, col4), ... です。つまり、各センシティブ項目はテーブル上の1つまたは複数の列を指定し、各列はカンマで区切られます。各センシティブ項目もカンマで区切られ、感感染ルールで保護する列を指定します。1つのルールでは、複数のユーザー、複数のテーブルにまたがる複数の列を指定できます。パラメータの説明:
|
|
| encryption_method | 文字列 | 暗号化方式。デフォルト値は aes-256 で、実際には AES-256-ECB 暗号化アルゴリズムを指します。取り得る範囲は下記を参照してください。 |
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 | 高いセキュリティレベル、認証付き暗号化(AEAD)を提供 |
| aes-192-gcm | AES-192-GCM | 192ビット | GCM | 高いセキュリティレベル、認証付き暗号化(AEAD)を提供 |
| aes-256-gcm | AES-256-GCM | 256ビット | GCM | 高いセキュリティレベル、認証付き暗号化(AEAD)を提供 |
| sm4-cbc | SM4-CBC | CBC | 高いセキュリティレベル | |
| sm4-GCM | SM4-GCM | GCM | 高いセキュリティレベル、認証付き暗号化(AEAD)を提供 |
機密ルールを変更する際には、以下の点に注意する必要があります:
- 機密ルールの変更は即時に反映されます。
ADD/DROP COLUMNのパラメータsensitive_field_listはCREATE SENSITIVE RULEの構文で使用されるフィールドと一致します。DISABLEは現在の機密ルールを一時的に無効にしますが、ルール自体を削除するわけではありません(ルールは作成時点でデフォルトで有効な状態になります)。
機密ルールを変更する際には、以下の制限事項を遵守する必要があります:
ADD COLUMNで追加する列は、既存のどのルールによっても保護されていてはなりません。DROP COLUMNで削除する列は、指定したルールによって保護されている列である必要があります。
例
例:
-- 敏感ルール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';