Todos os produtos
Search
Central de documentação

Key Management Service:CreateKey

Última atualização: Jun 28, 2026

Cria uma chave mestra do cliente (CMK) para criptografia de envelope, assinaturas digitais ou outras operações criptográficas.

Descrição da operação

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

Nenhuma autorização necessária para esta operação. Se você encontrar problemas com esta operação, entre em contato com o suporte técnico.

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

Description

string

Não

A descrição da chave.
A descrição pode ter de 0 a 8.192 caracteres.

key description example

KeyUsage

string

Não

O uso da chave. Valores válidos:

  • ENCRYPT/DECRYPT: criptografa e descriptografa dados.

  • SIGN/VERIFY: gera e verifica assinaturas digitais.

Valor padrão: Se a chave oferecer suporte à verificação de assinatura, o valor padrão será SIGN/VERIFY. Caso contrário, o valor padrão será ENCRYPT/DECRYPT.

ENCRYPT/DECRYPT

Origin

string

Não

A origem do material da chave. Valores válidos:

  • Aliyun_KMS (padrão): O material da chave é gerado pelo Alibaba Cloud KMS.

  • EXTERNAL: O material da chave é importado.

Nota
  • O valor diferencia maiúsculas de minúsculas.

Aliyun_KMS

ProtectionLevel

string

Não

Você não precisa especificar este parâmetro. O KMS define automaticamente um nível de proteção apropriado para a sua chave.

O nível de proteção da chave. Valores válidos:

  • SOFTWARE

  • HSM

Nota
  • Se você especificar DKMSInstanceId, este parâmetro será ignorado. Se a instância for uma instância de gerenciamento de chaves de software, o nível de proteção será SOFTWARE. Se a instância for uma instância de gerenciamento de chaves de hardware, o nível de proteção será HSM.

  • Se você não especificar DKMSInstanceId, deixe este parâmetro vazio. O KMS define o nível de proteção. Se um HSM gerenciado estiver disponível na região, o KMS definirá este parâmetro como HSM. Caso contrário, o KMS definirá este parâmetro como SOFTWARE. Para obter mais informações, consulte Visão geral do HSM gerenciado.

SOFTWARE

EnableAutomaticRotation

boolean

Não

Especifica se a rotação automática de chaves deve ser ativada. Valores válidos:

  • true: ativa a rotação automática de chaves.

  • false (padrão): desativa a rotação automática de chaves.

Este parâmetro é válido apenas quando o tipo de gerenciamento de chaves da chave oferece suporte à rotação automática. Para obter mais informações, consulte Rotação de chaves.

true

RotationInterval

string

Não

O período de rotação automática. O formato é `integer[unit]`. `integer` indica a duração do período. `unit` indica a unidade de tempo. Unidades válidas: d (dia), h (hora), m (minuto) e s (segundo). Por exemplo, tanto 7d quanto 604800s representam um período de 7 dias.

  • Se a chave for uma chave padrão, o valor será 365d.

  • Se a chave for uma chave protegida por software, o valor poderá ser de 7d a 365d.

  • Se a chave for uma chave protegida por hardware, a rotação automática não será suportada.

Nota

Este parâmetro é obrigatório se você definir EnableAutomaticRotation como true.

365d

KeySpec

string

Não

A especificação da chave. Os valores válidos variam de acordo com o tipo de gerenciamento de chaves. Para obter mais informações sobre especificações de chaves, padrões suportados e algoritmos, consulte Tipos de gerenciamento de chaves e especificações de chaves.

Nota

Se você não especificar este parâmetro, a especificação da chave será Aliyun_AES_256 por padrão.

Aliyun_AES_256

DKMSInstanceId

string

Não

O ID da instância do KMS.

Nota

Este parâmetro é obrigatório quando você cria uma chave para uma instância do KMS. Este parâmetro não é obrigatório quando você cria uma chave padrão (chave mestra).

kst-bjj62d8f5e0sgtx8h****

Tags

string

Não

As tags a serem vinculadas à chave. Cada tag consiste em um par chave-valor (Chave:Valor), que inclui uma chave de tag e um valor de tag.

Especifique no máximo 20 tags. Para especificar várias tags, use o seguinte formato: [{"TagKey":"key1","TagValue":"value1"},{"TagKey":"key2","TagValue":"value2"},...].

Cada chave de tag e valor de tag pode ter até 128 caracteres e pode conter letras maiúsculas, letras minúsculas, dígitos, barras (/), barras invertidas (), sublinhados (_), hifens (-), pontos (.), sinais de mais (+), sinais de igual (=), dois-pontos (:) e arrobas (@).

Nota

A chave da tag não pode começar com aliyun ou acs:.

[{"TagKey":"disk-encryption","TagValue":"true"}]

Policy

string

Não

O conteúdo da política de chave. O valor está no formato JSON. A política pode ter até 32.768 bytes. Para obter mais informações sobre políticas de chave, consulte Visão geral da política de chave. Se você não especificar este parâmetro, a política de credenciais padrão será usada.

Uma política de chave contém o seguinte conteúdo:

  • Version: A versão da política de chave. Apenas a versão 1 é suportada.

  • Statement: As instruções da política de chave. Cada política de chave contém uma ou mais instruções.

O formato de uma política de chave é o seguinte:

{
  "Version": "1",
  "Statement": [
    {
      "Sid": "Enable RAM User Permissions",
      "Effect": "Allow",
      "Principal": {
        "RAM": ["acs:ram::112890462****:root"]
      },
      "Action": [
        "kms:*"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "condition operator": {
          "condition key": "condition value"
        }
      }
    }
  ]
}

Detalhes sobre uma instrução:

  • Sid: (Opcional) O identificador de instrução personalizado. O identificador pode ter até 128 caracteres e pode conter letras maiúsculas (A-Z), letras minúsculas (a-z), dígitos (0-9) e caracteres especiais, incluindo sublinhados (_), barras (/), sinais de mais (+), sinais de igual (=), pontos (.), arrobas (@) e hifens (-).

  • Effect: (Obrigatório) O efeito da instrução da política. Valores válidos: Allow e Deny.

  • Principal: (Obrigatório) A entidade à qual a permissão é concedida. Defina este parâmetro como a conta atual do Alibaba Cloud (a conta do Alibaba Cloud à qual a chave pertence), um usuário do RAM ou uma função do RAM da conta atual do Alibaba Cloud, ou um usuário do RAM ou uma função do RAM de outra conta do Alibaba Cloud.

  • Action: (Obrigatório) As operações de API que são permitidas ou negadas. O valor deve começar com "kms:". Para obter uma lista de operações suportadas, consulte Visão geral da política de chave. Se você especificar uma operação que não esteja na lista, a configuração não terá efeito.

  • Resource: (Obrigatório) O valor pode ser apenas *, que indica a chave atual do KMS.

  • Condition: (Opcional) As condições para que a autorização entre em vigor. Use condições para avaliar o contexto de uma solicitação de API e determinar se a instrução da política deve ser aplicada. O formato é "Condition": {"condition operator": {"condition key": "condition value"}}. Para obter mais informações, consulte Visão geral da política de chave.

Nota

Depois de conceder permissões a um usuário do RAM ou a uma função do RAM de outra conta do Alibaba Cloud, use essa conta para conceder ao usuário do RAM ou à função do RAM permissões para usar a chave no console do RAM. O usuário do RAM ou a função do RAM só poderá usar a chave após a conclusão deste processo. Para obter mais informações, consulte Políticas personalizadas para o Key Management Service, Conceder permissões a um usuário do RAM e Conceder permissões a uma função do RAM.

{"Statement":[{"Action":["kms:*"],"Effect":"Allow","Principal":{"RAM":["acs:ram::119285303511****:*"]},"Resource":["*"],"Sid":"kms default key policy"},{"Action":["kms:List*","kms:Describe*","kms:Create*","kms:Enable*","kms:Disable*","kms:Get*","kms:Set*","kms:Update*","kms:Delete*","kms:Cancel*","kms:TagResource","kms:UntagResource","kms:ImportKeyMaterial","kms:ScheduleKeyDeletion"],"Effect":"Allow","Principal":{"RAM":["acs:ram::119285303511****:user/for_test_policy"]},"Resource":["*"]}],"Version":"1"}

KeyStorageMechanism

string

Não

O local de armazenamento da chave. Este parâmetro é válido apenas quando DKMSInstanceId é especificado para uma instância de gerenciamento de chaves de hardware. Valores válidos:

  • HsmInternal (padrão): A chave é armazenada em um HSM e não oferece suporte à rotação.

  • HsmEncryptedDatabase: A chave é armazenada em um banco de dados.

    • Chaves simétricas: A rotação é suportada.

    • Chaves assimétricas: A rotação não é suportada.

HsmInternal

Para obter informações sobre parâmetros de solicitação comuns, consulte Parâmetros comuns.

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

RequestId

string

O ID da solicitação. Este ID é um identificador exclusivo global (GUID) gerado pelo Alibaba Cloud para a solicitação. Use este ID para solucionar problemas.

381D5D33-BB8F-395F-8EE4-AE3BB4B523C4

KeyMetadata

object

Os metadados da chave.

KeyId

string

O identificador exclusivo global (GUID) da chave.

key-hzz62f1cb66fa42qo****

NextRotationDate

string

A hora em que a próxima rotação está agendada.

Este parâmetro é retornado apenas quando o valor de AutomaticRotation é Enabled ou Suspended.

2024-03-25T10:00:00Z

KeyState

string

O status da chave.
Para obter mais informações, consulte Impacto do status da CMK nas chamadas de API.

Enabled

RotationInterval

string

O período de rotação automática da chave. O valor está em segundos. O valor é um número inteiro seguido pelo caractere s. Por exemplo, um período de rotação de 7 dias é 604800s.

Este parâmetro é retornado apenas quando o valor de AutomaticRotation é Enabled ou Suspended.

31536000s

Arn

string

O Alibaba Cloud Resource Name (ARN) da chave.

acs:kms:cn-qingdao:154035569884****:key/key-hzz62f1cb66fa42qo****

Creator

string

O criador da chave.

154035569884****

LastRotationDate

string

A hora em que a última rotação foi realizada. A hora está em UTC.
Se a chave for nova, este valor é a hora de geração da versão inicial da chave.

2023-03-25T10:00:00Z

DeleteDate

string

A hora agendada para excluir a chave. Para obter mais informações, consulte ScheduleKeyDeletion .

Este parâmetro é retornado apenas quando o valor de KeyState é PendingDeletion.

2025-03-25T10:00:00Z

PrimaryKeyVersion

string

O ID da versão primária atual da chave.

7ce1d081-06cb-42e6-aab6-5c5de030****

Description

string

A descrição da chave.

key description example

KeySpec

string

A especificação da chave.

Aliyun_AES_256

Origin

string

A origem do material da chave.

Aliyun_KMS

MaterialExpireTime

string

A hora de expiração do material da chave. A hora está em UTC.
Se este valor estiver vazio, o material da chave não expira.

2025-03-25T10:00:00Z

AutomaticRotation

string

Indica se a rotação automática de chaves está ativada. Valores válidos:

  • Enabled: A rotação automática está ativada.

  • Disabled: A rotação automática está desativada.

  • Suspended: A rotação automática está suspensa.

Enabled

ProtectionLevel

string

O nível de proteção da chave.

SOFTWARE

KeyUsage

string

O uso da chave.

ENCRYPT/DECRYPT

CreationDate

string

A data e a hora em que a chave foi criada. A hora está em UTC.

2024-03-25T10:00:00Z

DKMSInstanceId

string

O ID da instância do KMS.

kst-bjj62d8f5e0sgtx8h****

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "381D5D33-BB8F-395F-8EE4-AE3BB4B523C4",
  "KeyMetadata": {
    "KeyId": "key-hzz62f1cb66fa42qo****",
    "NextRotationDate": "2024-03-25T10:00:00Z",
    "KeyState": "Enabled",
    "RotationInterval": "31536000s",
    "Arn": "acs:kms:cn-qingdao:154035569884****:key/key-hzz62f1cb66fa42qo****",
    "Creator": "154035569884****",
    "LastRotationDate": "2023-03-25T10:00:00Z",
    "DeleteDate": "2025-03-25T10:00:00Z",
    "PrimaryKeyVersion": "7ce1d081-06cb-42e6-aab6-5c5de030****",
    "Description": "key description example",
    "KeySpec": "Aliyun_AES_256",
    "Origin": "Aliyun_KMS",
    "MaterialExpireTime": "2025-03-25T10:00:00Z",
    "AutomaticRotation": "Enabled",
    "ProtectionLevel": "SOFTWARE",
    "KeyUsage": "ENCRYPT/DECRYPT",
    "CreationDate": "2024-03-25T10:00:00Z",
    "DKMSInstanceId": "kst-bjj62d8f5e0sgtx8h****"
  }
}

Códigos de erro

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400 Rejected.LimitExceeded The request was rejected because user create resource limit was exceeded The request is rejected because the number of created resources reaches the upper limit.
400 InvalidParameter The specified parameter is not valid. An invalid value is specified for the parameter.
400 UnsupportedOperation This action is not supported. The operation is not supported.
400 Forbidden.NoPermission This operation is forbidden by permission system. You are not authorized to perform this operation.
400 Rejected.ShareQuotaExceedLimit Instance Share Quota Exceed Limit. The instance share quota exceeds the limit.
500 InternalFailure Internal Failure An internal error occurred.
403 Forbidden.DKMSInstanceNotFound The specified DKMS Instance is not found. Your dedicated KMS instance is not found.
503 SerivceUnvailableTemporary Service Unvailable Temporary The service is temporarily unavailable.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.