Tous les produits
Search
Centre de documentation

MaxCompute:USE_WRAPPED_KEYSET

Dernière mise à jour :Aug 10, 2026

Utilisez MaxCompute avec Key Management Service (KMS) pour gérer les clés. Cette rubrique décrit la fonction USE_WRAPPED_KEYSET. Elle convertit un jeu de clés encapsulé en un jeu de clés de base, utilisé comme paramètre dans les fonctions de chiffrement ou de déchiffrement des données.

Informations contextuelles et prérequis

MaxCompute s'intègre à KMS pour la gestion des clés. Vous générez un jeu de clés encapsulé en chiffrant un jeu de clés existant à l'aide d'une clé KMS. La fonction USE_WRAPPED_KEYSET convertit le jeu de clés encapsulé créé par la fonction NEW_WRAPPED_KEYSET en un jeu de clés de base. Ce dernier sert de paramètre aux fonctions de chiffrement ou de déchiffrement. Utilisez également cette fonction pour récupérer les informations relatives à un jeu de clés encapsulé et les conserver pour la maintenance ultérieure.

Avant d'utiliser la fonction USE_WRAPPED_KEYSET, vérifiez que les conditions suivantes sont remplies :

  • Un jeu de clés encapsulé a été généré à l'aide de la fonction NEW_WRAPPED_KEYSET. Pour plus d'informations, consultez la page NEW_WRAPPED_KEYSET.

  • Une clé KMS a été créée et son Alibaba Cloud Resource Name (ARN) a été obtenu. L'ARN de la clé est spécifié par le paramètre kms_cmk_arn. Un rôle RAM dispose des autorisations nécessaires pour utiliser cette nouvelle clé.

Syntaxe

binary USE_WRAPPED_KEYSET(string <kms_cmk_arn> , string <role-arn>, string <wrapped_keyset> [,string <role_chain>])

Paramètres

  • kms_cmk_arn : obligatoire. Ce paramètre indique l'ARN de la clé maître cliente (CMK) KMS du jeu de clés à chiffrer. La valeur suit le format 'acs:kms:<RegionId>:<UserId>:key/<CmkId>', où RegionId correspond à l'ID de région, UserId à l'ID utilisateur et CmkId à l'ID de la CMK. Obtenez l'ARN depuis la page Key Details dans la console KMS.

  • role_arn : obligatoire. Ce paramètre spécifie l'ARN du rôle RAM disposant des autorisations sur KMS. MaxCompute doit assumer ce rôle. La valeur respecte le format 'acs:ram:${<userAID>}:role/${<roleName>}', où userAID correspond à l'ID utilisateur et roleName au nom du rôle.

  • wrapped_keyset : obligatoire. Ce paramètre indique un jeu de clés encapsulé existant.

  • role_chain : facultatif. Ce paramètre définit la chaîne de rôles pour l'autorisation utilisateur. La valeur suit le format 'acs:ram:<userAID>:role/<roleName2>,acs:ram:<userBID>:role/<roleName3>},...'. Les chaînes de rôles permettent d'appeler des jeux de clés encapsulés entre différents comptes Alibaba Cloud.

Valeur renvoyée

La fonction renvoie un jeu de clés désensibilisé de type STRUCT. Utilisez la fonction get_json_object pour extraire les champs relatifs au jeu de clés selon vos besoins métier.

Exemples

Remarque

Exécutez l'exemple de code suivant contenant des variables dans l'éditeur de code, ou intégrez directement les variables dans l'instruction SQL. MaxCompute ne prend pas en charge les portées de variables entre plusieurs instructions SQL.

Récupérez les informations sur l'algorithme de clé d'un jeu de clés encapsulé.

@kms_resource_keyId := 'acs:kms:${<RegionId>}:${<UserId>}:key/${<CmkId>}';
@role_arn := 'acs:ram:${<UserId>}:role/${<roleName>}';
@origin_key := unhex('<wrapped_keyset>');
@role_chain := 'acs:ram:${<UserAId>}:role/${<roleName2>},acs:ram:${<UserBId>}:role/${<roleName3>}';
@use_keyset_new := USE_WRAPPED_KEYSET(@kms_resource_keyId, @role_arn, @origin_key, @role_chain);

select get_json_object(get_json_object(use_keyset_new.wrapped_keyset_info,'$.masked_keyset'), '$.key[0].key_meta_data.type');

Le résultat suivant s'affiche :

+-----+
| _c0 |
+-----+
| AES-GCM-256 |
+-----+