Tous les produits
Search
Centre de documentation

:GenerateDataKeyWithoutPlaintext

Dernière mise à jour :Aug 06, 2026

Génère une clé de données aléatoire uniquement sous forme de texte chiffré, sans la copie en texte clair.

Description de l'opération

Précautions

  • Pour plus d'informations sur la stratégie d'accès dont un utilisateur RAM ou un rôle RAM a besoin pour utiliser cette opération, consultez Resource Access Management.

  • Cette opération est accessible via une passerelle partagée ou une passerelle dédiée. Pour plus d'informations, consultez Alibaba Cloud SDK.

    • Passerelle partagée : accédez à KMS via Internet ou via un nom de domaine VPC. Cette méthode nécessite l'activation de l'accès à Internet. Pour plus d'informations, consultez Clés d'accès dans une instance KMS via Internet.

    • Passerelle dédiée : accédez à KMS via un point de terminaison privé KMS (<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com).

Limites de QPS

  • Appels via une passerelle partagée : la limite de requêtes par seconde (QPS) pour un seul utilisateur est de 1 000. Si vous dépassez cette limite, les requêtes sont limitées, ce qui peut affecter votre activité. Nous vous recommandons de rester dans cette limite.

  • Appels via une passerelle dédiée : la limite de QPS pour un seul utilisateur dépend des performances de calcul de votre instance KMS. Pour plus d'informations, consultez Indicateurs de performance.

Détails

Cette opération génère une clé de données aléatoire, la chiffre avec une clé principale client (CMK) symétrique spécifiée, et renvoie le texte chiffré de la clé de données. Cette opération offre les mêmes fonctionnalités que GenerateDataKey. La seule différence est que cette opération ne renvoie pas le texte clair de la clé de données.

La CMK que vous spécifiez dans la requête est utilisée uniquement pour chiffrer la clé de données. Elle n'est pas utilisée pour générer la clé de données. KMS n'enregistre ni ne stocke la clé de données générée aléatoirement.

Remarque
  • Cette opération convient aux systèmes qui n'ont pas besoin d'utiliser immédiatement la clé de données pour le chiffrement des données. Lorsqu'un chiffrement est nécessaire, le système appelle l'API Decrypt pour déchiffrer le texte chiffré de la clé de données.

  • Cette opération convient également aux systèmes distribués avec différents niveaux de confiance. Par exemple, votre système stocke des données dans différentes partitions en fonction d'une stratégie définie. Un module pré-crée ces partitions de données et génère une clé de données unique pour chacune d'elles. Après que ce module a initialisé le plan de contrôle, il agit en tant que distributeur de clés et ne produit ni ne consomme de données. Lorsque les modules du plan de données produisent et consomment des données, ils récupèrent d'abord le texte chiffré de la clé de données pour une partition. Ils déchiffrent ensuite le texte chiffré et utilisent la clé de données en texte clair pour chiffrer ou déchiffrer les données. Enfin, ils purgent la clé de données en texte clair de la mémoire. Dans un tel système, le distributeur de clés n'a pas besoin d'accéder au texte clair de la clé de données. Il nécessite uniquement l'autorisation `GenerateDataKeyWithoutPlaintext` pour la CMK concernée. Les producteurs et consommateurs de données n'ont pas besoin de générer de nouvelles clés de données. Ils nécessitent uniquement l'autorisation `Decrypt` pour la CMK concernée.

Testez maintenant

Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.

Test

Autorisation RAM

Aucune autorisation n'est requise pour cette opération. En cas de problème, contactez le support technique.

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

KeyId

string

Oui

L'identifiant unique global de la CMK. Vous pouvez également spécifier un alias lié à la CMK. Pour plus d'informations sur l'utilisation d'un alias, consultez la vue d'ensemble des alias.

599fa825-17de-417e-9554-bb032cc6****

KeySpec

string

Non

La longueur de la clé de données à générer. Valeurs valides :

  • AES_256 : une clé symétrique de 256 bits

  • AES_128 : une clé symétrique de 128 bits

Remarque

Utilisez KeySpec ou NumberOfBytes pour spécifier la longueur de la clé de données. Si vous ne spécifiez aucun de ces paramètres, KMS génère une clé de données de 256 bits. Si vous spécifiez les deux paramètres, KMS ignore le paramètre KeySpec.

AES_256

NumberOfBytes

integer

Non

La longueur de la clé de données à générer.
Valeurs valides : 1 à 1024.
Unité : octets






















256

EncryptionContext

object

Non

Une chaîne JSON de paires clé-valeur. Si vous spécifiez ce paramètre, vous devez fournir le même paramètre lors de l'appel de l'opération Decrypt. Pour plus d'informations, consultez EncryptionContext.

{"Example":"Exemple"}

DryRun

string

Non

Indique si le mode DryRun doit être activé.

  • true : active le mode DryRun.

  • false (par défaut) : désactive le mode DryRun.

Le mode DryRun est utilisé pour tester les appels d'API, vérifier vos autorisations sur les ressources requises et contrôler la validité des paramètres de la requête. Si vous activez le mode DryRun, KMS renvoie une réponse d'échec avec un motif. Les motifs d'échec incluent les éléments suivants :

  • DryRunOperationError : la requête aurait réussi si le paramètre DryRun n'avait pas été spécifié.

  • ValidationError : les paramètres de la requête ne sont pas valides.

  • AccessDeniedError : vous n'êtes pas autorisé à effectuer cette opération sur la ressource KMS.

false

Éléments de réponse

Élément

Type

Description

Exemple

object

KeyVersionId

string

L'identifiant de la version de clé utilisée pour chiffrer le texte clair. Il s'agit de la version principale de la CMK spécifiée.

2ab1a983-7072-4bbc-a582-584b5bd8****

KeyId

string

L'identifiant unique global de la CMK.

Remarque

Si vous utilisez un alias de la CMK dans le paramètre KeyId de la requête, l'identifiant de la CMK est renvoyé.

599fa825-17de-417e-9554-bb032cc6****

CiphertextBlob

string

Le texte chiffré de la clé de données. La clé de données est chiffrée par la version principale de la CMK spécifiée.

ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****

RequestId

string

L'identifiant de la requête. Cet identifiant est un identifiant unique global généré par Alibaba Cloud pour la requête. Vous pouvez utiliser cet identifiant pour dépanner et localiser les problèmes.

7021b6ec-4be7-4d3c-8a68-1e85d4d515a0

Exemples

JSON format

{
  "KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyId": "599fa825-17de-417e-9554-bb032cc6****",
  "CiphertextBlob": "ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****",
  "RequestId": "7021b6ec-4be7-4d3c-8a68-1e85d4d515a0"
}

Codes d'erreur

Code de statut HTTP

Code d'erreur

Message d'erreur

Description

400 InvalidParameter The specified parameter is not valid. An invalid value is specified for the parameter.
404 InvalidAccessKeyId.NotFound The Access Key ID provided does not exist in our records.
404 Forbidden.KeyNotFound The specified Key is not found. The error message returned because the specified CMK does not exist.

Consultez Codes d'erreur pour la liste complète.

Notes de version

Consultez Notes de version pour la liste complète.