Rechiffre le texte chiffré avec une autre CMK sans exposer le texte en clair.
Description de l'opération
Remarques
-
Pour plus d'informations sur la stratégie d'accès requise pour accorder à un utilisateur RAM ou à un rôle RAM l'autorisation d'utiliser cette opération, consultez Resource Access Management.
-
Cette opération est accessible uniquement via une passerelle partagée, et non une passerelle dédiée. Pour plus d'informations, consultez Alibaba Cloud SDK.
Lors de l'utilisation d'une passerelle partagée, vous accédez à KMS via un nom de domaine Internet ou 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.
Limites de QPS
Cette opération est accessible uniquement via une passerelle partagée. La limite de requêtes par seconde (QPS) par utilisateur est de 750. Si cette limite est dépassée, les requêtes sont limitées, ce qui peut affecter votre activité. Nous vous recommandons de rester dans la limite spécifiée.
Détails
Vous pouvez utiliser l'opération ReEncrypt dans les scénarios suivants :
-
Après la rotation d'une clé principale client (CMK), vous pouvez utiliser la dernière version de la clé pour rechiffrer les données. Pour plus d'informations sur la rotation automatique des clés, consultez Rotation automatique des clés.
-
Vous pouvez rechiffrer les données en modifiant le contexte de chiffrement sans changer la clé principale.
-
Vous pouvez rechiffrer des données ou une clé de données chiffrée par une clé principale avec une autre clé principale dans KMS.
L'opération ReEncrypt nécessite les autorisations suivantes :
-
L'autorisation kms:ReEncryptFrom pour la clé principale source.
-
L'autorisation kms:ReEncryptTo pour la clé principale de destination.
-
Vous pouvez utiliser kms:ReEncrypt* pour accorder les deux autorisations.
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
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| CiphertextBlob |
string |
Oui |
Le texte chiffré que vous souhaitez rechiffrer.
|
ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901q******** |
| SourceKeyId |
string |
Non |
L'identifiant de la clé principale utilisée pour déchiffrer le texte chiffré. Remarque
Vous devez spécifier ce paramètre lorsque CiphertextBlob correspond aux données chiffrées à l'aide d'une clé publique après un chiffrement par clé asymétrique. |
5c438b18-05be-40ad-b6c2-3be6752c**** |
| SourceKeyVersionId |
string |
Non |
L'identifiant de la version de clé utilisée pour déchiffrer le texte chiffré. Remarque
Vous devez spécifier ce paramètre lorsque CiphertextBlob correspond aux données chiffrées à l'aide d'une clé publique après un chiffrement par clé asymétrique. |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| SourceEncryptionAlgorithm |
string |
Non |
Si CiphertextBlob est le résultat d'un chiffrement par clé publique, spécifiez l'algorithme de chiffrement par clé publique. Pour plus d'informations sur les algorithmes, consultez AsymmetricDecrypt.
Remarque
Vous devez spécifier ce paramètre lorsque CiphertextBlob correspond aux données chiffrées à l'aide d'une clé publique après un chiffrement par clé asymétrique. |
RSAES_OAEP_SHA_256 |
| SourceEncryptionContext |
object |
Non |
Une chaîne JSON composée de paires clé-valeur. Si vous spécifiez ce paramètre lors de l'appel de l'opération Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext ou GenerateAndExportDataKey, vous devez spécifier le même paramètre pour déchiffrer les données. Pour plus d'informations, consultez EncryptionContext. Remarque
Vous devez spécifier ce paramètre lorsque CiphertextBlob correspond au texte chiffré renvoyé après un chiffrement symétrique. |
{"Exemple":"Exemple"} |
| DestinationKeyId |
string |
Oui |
L'identifiant de la clé principale symétrique utilisée pour rechiffrer les données après le déchiffrement du texte chiffré. |
1234abcd-12ab-34cd-56ef-12345678**** |
| DestinationEncryptionContext |
object |
Non |
Une chaîne JSON composée de paires clé-valeur. Ce paramètre spécifie le contexte de chiffrement pour la clé principale de destination. |
{"Exemple":"Exemple"} |
| DryRun |
string |
Non |
Indique si un test à blanc doit être effectué.
Le test à blanc est utilisé pour tester les appels d'API, vérifier si vous disposez des autorisations nécessaires pour effectuer des opérations sur les ressources requises et vérifier si les paramètres de la requête sont valides. Si vous activez le test à blanc, KMS renvoie toujours un échec et une raison pour cet échec. Les raisons de l'échec incluent les éléments suivants :
|
false |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
|||
| KeyId |
string |
L'identifiant de la clé principale utilisée pour déchiffrer le texte chiffré. |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| KeyVersionId |
string |
L'identifiant de la version de clé utilisée pour déchiffrer le texte chiffré de la clé principale. |
202b9877-5a25-46e3-a763-e20791b5**** |
| CiphertextBlob |
string |
Le texte chiffré qui est rechiffré à l'aide de la clé principale spécifiée. |
DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK**** |
| 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 résoudre les problèmes. |
207596a2-36d3-4840-b1bd-f87044699bd7 |
Exemples
JSON format
{
"KeyId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
"KeyVersionId": "202b9877-5a25-46e3-a763-e20791b5****",
"CiphertextBlob": "DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****",
"RequestId": "207596a2-36d3-4840-b1bd-f87044699bd7"
}
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. |
| 500 | InternalFailure | Internal Failure. | |
| 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.