Todos os produtos
Search
Central de documentação

MaxCompute:REWRAP_KEYSET

Última atualização: Sep 09, 2026

O MaxCompute integra-se ao Key Management Service (KMS) para gerenciamento de chaves. Este tópico descreve a função REWRAP_KEYSET. Essa função recriptografa um keyset encapsulado com uma chave do KMS especificada.

Contexto

O MaxCompute integra-se ao KMS para gerenciar chaves. Uma chave do KMS criptografa um keyset gerado para criar um keyset encapsulado. A função REWRAP_KEYSET recriptografa um keyset encapsulado, originalmente criado pela função NEW_WRAPPED_KEYSET, com uma nova chave do KMS.

Pré-requisitos

Antes de usar a função REWRAP_KEYSET, conclua as tarefas a seguir:

  • Tenha um keyset encapsulado gerado pela função NEW_WRAPPED_KEYSET. Para mais informações, consulte NEW_WRAPPED_KEYSET.

  • Crie uma nova chave do KMS e obtenha seu Alibaba Cloud Resource Name (ARN) (kms_cmk_arn). Conceda à função do RAM permissão para usar a nova chave. Para mais informações, consulte Enable KMS and complete the configuration.

Sintaxe

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

Parâmetros

  • kms_cmk_arn: Obrigatório.

    ARN da chave mestra do cliente (CMK) do KMS usada para recriptografar o keyset. O formato é 'acs:kms:<RegionId>:<UserId>:key/<CmkId>'. O ARN contém o ID da região, o ID do usuário e o ID da CMK. Obtenha o ARN na página de detalhes da chave no console do Key Management Service. Para mais informações, consulte Enable KMS and complete the configuration.

  • role_arn: Obrigatório.

    ARN da função do RAM com permissões nas chaves antiga e nova do KMS. Essa função deve ser concedida ao MaxCompute. O formato é 'acs:ram:${<userAID>}:role/${<roleName>}'. O ARN contém o ID do usuário e o nome da função. Para obter o ARN, consulte Enable KMS and complete the configuration.

  • wrapped_keyset: Obrigatório.

    Keyset encapsulado a ser recriptografado.

  • role_chain: Opcional.

    Especifica a cadeia de funções para autorização do usuário. O valor do parâmetro segue o formato 'acs:ram:<userAID>:role/<roleName2>,acs:ram:<userBID>:role/<roleName3>},...'. Use cadeias de funções para chamar keysets encapsulados entre contas da Alibaba Cloud.

Valor de retorno

Retorna um keyset encapsulado do tipo BINARY. Se necessário, use a função HEX para converter o keyset encapsulado do tipo BINARY em um keyset do tipo STRING. Para mais informações sobre a função HEX, consulte HEX.

Exemplos de uso

Nota

Execute o código de exemplo a seguir, que contém variáveis, no editor de código ou insira as variáveis diretamente na instrução SQL. O MaxCompute não oferece suporte a escopos de variáveis entre instruções SQL.

  • Recriptografar um keyset encapsulado:

    SELECT hex(REWRAP_KEYSET('acs:kms:cn-hangzhou:1**************7:key/key-hzz******************', 'acs:ram::1**************7:role/kms', unhex('<wrapped_keyset>')));
  • Recriptografar um keyset encapsulado e permitir que funções de outras contas da Alibaba Cloud o chamem:

    SELECT hex(REWRAP_KEYSET('acs:kms:cn-hangzhou:1**************7:key/key-hzz******************', 'acs:ram:${<UserId>}:role/${<roleName>}', unhex('<wrapped_keyset>'), 'acs:ram:${<UserAId>}:role/${<roleName2>},acs:ram:${<UserBId>}:role/${<roleName3>}')));