Todos los productos
Search
Centro de documentos

Key Management Service:CreateKey

Última actualización: Sep 01, 2026

Crea una clave maestra de cliente (CMK) para cifrado de sobre, firmas digitales u otras operaciones criptográficas.

Descripción de la operación

Pruébelo ahora

Pruebe esta API en OpenAPI Explorer sin necesidad de firma manual. Las llamadas exitosas generan automáticamente código SDK acorde a sus parámetros. Descárguelo con seguridad de credenciales integrada para uso local.

Test

Autorización de RAM

No se requiere autorización para esta operación. Si experimenta problemas al ejecutarla, póngase en contacto con el soporte técnico.

Parámetros de la solicitud

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

Description

string

No

La descripción de la clave.
La descripción puede tener una longitud de 0 a 8,192 caracteres.



ejemplo de descripción de clave

KeyUsage

string

No

El uso de la clave. Valores válidos:

  • ENCRYPT/DECRYPT: cifra y descifra datos.

  • SIGN/VERIFY: genera y verifica firmas digitales.

Valor predeterminado: Si la clave admite la verificación de firmas, el valor predeterminado es SIGN/VERIFY. De lo contrario, el valor predeterminado es ENCRYPT/DECRYPT.

ENCRYPT/DECRYPT

Origin

string

No

El origen del material de la clave. Valores válidos:

  • Aliyun_KMS (predeterminado): El material de la clave se genera mediante Alibaba Cloud KMS.

  • EXTERNAL: El material de la clave se importa.

Nota
  • El valor distingue entre mayúsculas y minúsculas.

Aliyun_KMS

ProtectionLevel

string

No

No necesita especificar este parámetro. KMS establece automáticamente un nivel de protección adecuado para su clave.

El nivel de protección de la clave. Valores válidos:

  • SOFTWARE

  • HSM

Nota
  • Si especifica DKMSInstanceId, este parámetro se ignora. Si la instancia es una instancia de gestión de claves por software, el nivel de protección es SOFTWARE. Si la instancia es una instancia de gestión de claves por hardware, el nivel de protección es HSM.

  • Si no especifica DKMSInstanceId, deje este parámetro vacío. KMS establece el nivel de protección. Si hay un HSM administrado disponible en la región, KMS establece este parámetro en HSM. De lo contrario, KMS establece este parámetro en SOFTWARE. Para obtener más información, consulte Descripción general de HSM administrado.

SOFTWARE

EnableAutomaticRotation

boolean

No

Especifica si se debe habilitar la rotación automática de claves. Valores válidos:

  • true: habilita la rotación automática de claves.

  • false (predeterminado): deshabilita la rotación automática de claves.

Este parámetro solo es válido cuando el tipo de gestión de claves de la clave admite la rotación automática. Para obtener más información, consulte Rotación de claves.

true

RotationInterval

string

No

El período de rotación automática. El formato es `entero[unidad]`. `entero` indica la duración del período. `unidad` indica la unidad de tiempo. Unidades válidas: d (día), h (hora), m (minuto) y s (segundo). Por ejemplo, tanto 7d como 604800s representan un período de 7 días.

  • Si la clave es una clave predeterminada, el valor es 365d.

  • Si la clave está protegida por software, el valor puede ser de 7d a 365d.

  • Si la clave está protegida por hardware, no se admite la rotación automática.

Nota

Este parámetro es obligatorio si establece EnableAutomaticRotation en true.

365d

KeySpec

string

No

La especificación de la clave. Los valores válidos varían según el tipo de gestión de claves. Para obtener más información sobre las especificaciones de claves, los estándares admitidos y los algoritmos, consulte Tipos de gestión de claves y especificaciones de claves.

Nota

Si no especifica este parámetro, la especificación de la clave es Aliyun_AES_256 de forma predeterminada.

Aliyun_AES_256

DKMSInstanceId

string

No

El ID de la instancia de KMS.

Nota

Este parámetro es obligatorio cuando crea una clave para una instancia de KMS. Este parámetro no es necesario cuando crea una clave predeterminada (clave maestra).

kst-bjj62d8f5e0sgtx8h****

Tags

string

No

Las etiquetas que se vincularán a la clave. Cada etiqueta consta de un par clave-valor (Clave:Valor), que incluye una clave de etiqueta y un valor de etiqueta.

Especifique un máximo de 20 etiquetas. Para especificar varias etiquetas, utilice el siguiente formato: [{"TagKey":"clave1","TagValue":"valor1"},{"TagKey":"clave2","TagValue":"valor2"},...].

Cada clave de etiqueta y valor de etiqueta puede tener hasta 128 caracteres de longitud y puede contener letras mayúsculas, letras minúsculas, dígitos, barras diagonales (/), barras invertidas (\), guiones bajos (_), guiones (-), puntos (.), signos más (+), signos igual (=), dos puntos (:) y arrobas (@).

Nota

La clave de etiqueta no puede comenzar con aliyun o acs:.

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

Policy

string

No

El contenido de la política de claves. El valor está en formato JSON. La política puede tener hasta 32,768 bytes de longitud. Para obtener más información sobre las políticas de claves, consulte Descripción general de la política de claves. Si no especifica este parámetro, se utiliza la política de credenciales predeterminada.

Una política de claves contiene el siguiente contenido:

  • Version: La versión de la política de claves. Solo se admite la versión 1.

  • Statement: Las declaraciones de la política de claves. Cada política de claves contiene una o más declaraciones.

El siguiente es el formato de una política de claves:

{
  "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"
        }
      }
    }
  ]
}

Detalles sobre una declaración:

  • Sid: (Opcional) El identificador de declaración personalizado. El identificador puede tener hasta 128 caracteres de longitud y puede contener letras mayúsculas (A-Z), letras minúsculas (a-z), dígitos (0-9) y caracteres especiales, incluidos guiones bajos (_), barras diagonales (/), signos más (+), signos igual (=), puntos (.), arrobas (@) y guiones (-).

  • Effect: (Obligatorio) El efecto de la declaración de política. Valores válidos: Allow y Deny.

  • Principal: (Obligatorio) La entidad principal a la que se concede el permiso. Establezca este parámetro en la cuenta actual de Alibaba Cloud (la cuenta de Alibaba Cloud a la que pertenece la clave), un usuario RAM o rol RAM de la cuenta actual de Alibaba Cloud, o un usuario RAM o rol RAM de otra cuenta de Alibaba Cloud.

  • Action: (Obligatorio) Las operaciones de API que se permiten o deniegan. El valor debe comenzar con "kms:". Para obtener una lista de las operaciones admitidas, consulte Descripción general de la política de claves. Si especifica una operación que no está en la lista, la configuración no surte efecto.

  • Resource: (Obligatorio) El valor solo puede ser *, que indica la clave KMS actual.

  • Condition: (Opcional) Las condiciones para que la autorización surta efecto. Utilice condiciones para evaluar el contexto de una solicitud de API y determinar si se aplica la declaración de política. El formato es "Condition": {"condition operator": {"condition key": "condition value"}}. Para obtener más información, consulte Descripción general de la política de claves.

Nota

Después de conceder permisos a un usuario RAM o rol RAM de otra cuenta de Alibaba Cloud, utilice esa cuenta para conceder al usuario RAM o rol RAM permisos para usar la clave en la consola RAM. El usuario RAM o rol RAM solo puede usar la clave después de completar esto. Para obtener más información, consulte Políticas personalizadas para Key Management Service, Conceder permisos a un usuario RAM y Conceder permisos a un rol 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

No

La ubicación de almacenamiento de la clave. Este parámetro solo es válido cuando se especifica DKMSInstanceId para una instancia de gestión de claves por hardware. Valores válidos:

  • HsmInternal (predeterminado): La clave se almacena en un HSM y no admite rotación.

  • HsmEncryptedDatabase: La clave se almacena en una base de datos.

    • Claves simétricas: Se admite la rotación.

    • Claves asimétricas: No se admite la rotación.

HsmInternal

Para obtener información sobre los parámetros de solicitud comunes, consulte Parámetros comunes.

Elementos de la respuesta

Elemento

Tipo

Descripción

Ejemplo

object

RequestId

string

El ID de la solicitud. Este ID es un identificador único global (GUID) generado por Alibaba Cloud para la solicitud. Utilice este ID para solucionar problemas.

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

KeyMetadata

object

Los metadatos de la clave.

KeyId

string

El identificador único global (GUID) de la clave.

key-hzz62f1cb66fa42qo****

NextRotationDate

string

La hora programada para la próxima rotación.

Este parámetro se devuelve solo cuando el valor de AutomaticRotation es Enabled o Suspended.

2024-03-25T10:00:00Z

KeyState

string

El estado de la clave.
Para obtener más información, consulte Impacto del estado de la CMK en las llamadas a la API.



Enabled

RotationInterval

string

El período de rotación automática de la clave. El valor está en segundos. El valor es un número entero seguido del carácter s. Por ejemplo, un período de rotación de 7 días es 604800s.

Este parámetro se devuelve solo cuando el valor de AutomaticRotation es Enabled o Suspended.

31536000s

Arn

string

El nombre de recurso de Alibaba Cloud (ARN) de la clave.

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

Creator

string

El creador de la clave.

154035569884****

LastRotationDate

string

La hora en que se realizó la última rotación. La hora está en UTC.
Si la clave es nueva, este valor es la hora de generación de la versión inicial de la clave.



2023-03-25T10:00:00Z

DeleteDate

string

La hora programada para eliminar la clave. Para obtener más información, consulte ScheduleKeyDeletion.

Este parámetro se devuelve solo cuando el valor de KeyState es PendingDeletion.

2025-03-25T10:00:00Z

PrimaryKeyVersion

string

El ID de la versión primaria actual de la clave.

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

Description

string

La descripción de la clave.

ejemplo de descripción de clave

KeySpec

string

La especificación de la clave.

Aliyun_AES_256

Origin

string

El origen del material de la clave.

Aliyun_KMS

MaterialExpireTime

string

La hora de caducidad del material de la clave. La hora está en UTC.
Si este valor está vacío, el material de la clave no caduca.



2025-03-25T10:00:00Z

AutomaticRotation

string

Indica si la rotación automática de claves está habilitada. Valores válidos:

  • Enabled: La rotación automática está habilitada.

  • Disabled: La rotación automática está deshabilitada.

  • Suspended: La rotación automática está suspendida.

Enabled

ProtectionLevel

string

El nivel de protección de la clave.

SOFTWARE

KeyUsage

string

El uso de la clave.

ENCRYPT/DECRYPT

CreationDate

string

La fecha y hora en que se creó la clave. La hora está en UTC.

2024-03-25T10:00:00Z

DKMSInstanceId

string

El ID de la instancia de KMS.

kst-bjj62d8f5e0sgtx8h****

Ejemplos

Respuesta exitosa

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 error

Código de estado HTTP

Código de error

Mensaje de error

Descripción

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 error para ver la lista completa.

Notas de la versión

Consulte Notas de la versión para ver la lista completa.