REWRAP_KEYSET 関数は、既存のラップされたキーセットを、新しい Key Management Service (KMS) カスタマーマスターキー (CMK) で再暗号化します。この関数を使用して、NEW_WRAPPED_KEYSET で生成されたラップされたキーセットを、別の KMS キーで再暗号化してください。
ラップされたキーセットの作成方法については、「NEW_WRAPPED_KEYSET」をご参照ください。
前提条件
実行前に、以下の条件を満たしていることを確認してください。
NEW_WRAPPED_KEYSETで生成されたラップされたキーセット新しい KMS CMK の ARN(
kms_cmk_arn)が利用可能であること旧および新の KMS キーに対して権限を持つ RAM ロールが存在し、MaxCompute がそのロールを偽装できるよう許可されていること
構文
binary REWRAP_KEYSET(string <kms_cmk_arn>, string <role_arn>, string <wrapped_keyset> [, string <role_chain>])パラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
kms_cmk_arn | はい | 再暗号化に使用する新しい KMS CMK の ARN。フォーマット: 'acs:kms:<RegionId>:<UserId>:key/<CmkId>'。キーの詳細ページ(KMS コンソール)から取得できます。 |
role_arn | はい | 旧および新の KMS キーに対して権限を持つ RAM ロールの ARN。MaxCompute はこのロールを偽装して再暗号化を実行します。フォーマット: 'acs:ram::<UserId>:role/<roleName>'。 |
wrapped_keyset | はい | 再暗号化対象のラップされたキーセット。 |
role_chain | いいえ | クロスアカウント認証用のロールチェーン。フォーマット: 'acs:ram:<UserAId>:role/<roleName2>,acs:ram:<UserBId>:role/<roleName3>,...'。Alibaba Cloud アカウント間でラップされたキーセットを呼び出す場合に使用します。 |
戻り値
再暗号化されたラップされたキーセットを、BINARY 値として返します。これを保存可能な文字列に変換するには、HEX 関数で呼び出しをラップします。詳細については、「HEX」をご参照ください。
例
以下の例には変数プレースホルダーが含まれています。SQL モードで実行する場合は、各プレースホルダーを実際の値に置き換えてから実行するか、スクリプトモードで実行してください。
ラップされたキーセットの再暗号化
@origin_key := unhex('<wrapped_keyset>');
SELECT HEX(REWRAP_KEYSET(
'acs:kms:cn-hangzhou:1**************7:key/key-hzz******************',
'acs:ram::1**************7:role/kms',
@origin_key
));再暗号化とクロスアカウントアクセスの有効化
@origin_key := unhex('<wrapped_keyset>');
@role_chain := 'acs:ram:<UserAId>:role/<roleName2>,acs:ram:<UserBId>:role/<roleName3>';
SELECT HEX(REWRAP_KEYSET(
'acs:kms:cn-hangzhou:1**************7:key/key-hzz******************',
'acs:ram::1**************7:role/kms',
@origin_key,
@role_chain
));role_chain パラメーターにより、他の Alibaba Cloud アカウントが再暗号化されたラップされたキーセットを利用する権限が付与されます。
参照
ドキュメント | 説明 |
キーセット暗号化関数の使用方法について説明します。 | |
指定されたアルゴリズムに基づいてキーセットを作成します。 | |
キーセットに新しいキーを追加し、そのキーをマスターキーとして設定します。 | |
BINARY 型のキーセットを読み取り可能な JSON 形式に変換し、キーセットの詳細を確認します。 | |
JSON 型のキーセットを BINARY 型に変換します。 | |
システムが自動的に新しいキーを生成し、それをマスターキーとして設定します。 | |
新しいラップされたキーセットを作成します。この関数では、KMS CMK の権限を持つロールを MaxCompute に付与します。また、ロールチェーンを使用して、他の Alibaba Cloud アカウントによるキーセットの復号を許可することもできます。 | |
既存の暗号化済みキーセットを復号し、キーのローテーションを実行した後、新しいキーでキーセットを再暗号化します。 | |
ラップされたキーセットを基本キーセットに変換し、暗号化および復号関数のパラメーターとして使用できるようにします。また、ラップされたキーセットに関する情報を取得・保存することで、メンテナンスを容易にします。 | |
指定されたキーセットでデータを暗号化します。 | |
指定されたキーセットでデータを復号します。 |
次のステップ
NEW_WRAPPED_KEYSET — ラップされたキーセットの作成
HEX —
BINARY出力を保存可能な文字列に変換します