Tous les produits
Search
Centre de documentation

Key Management Service:FAQ : Accès à l'application

Dernière mise à jour :Aug 09, 2026

Cette rubrique décrit les problèmes courants rencontrés lorsqu'une application utilise un SDK pour accéder à une instance Key Management Service (KMS).

Liste des problèmes

Erreur « no such host » ou « not known »

Problème

  • Lorsqu'une application utilise le SDK KMS Instance pour Go afin d'accéder à une instance KMS, l'erreur suivante est renvoyée : kst-xxx.cryptoservice.kms.aliyuncs.com: no such host.

  • Lorsqu'une application utilise le SDK KMS Instance pour Java afin d'accéder à une instance KMS, l'erreur suivante est renvoyée : kst-xxx.cryptoservice.kms.aliyuncs.com: nodename nor servname provided, or not known.

Cause

Une instance KMS est un service dédié de gestion des clés et des secrets auquel vous pouvez accéder uniquement depuis un Virtual Private Cloud (VPC) associé.

Solution

  • Si le VPC dans lequel votre application s'exécute et l'instance KMS se trouvent dans la même région, associez le VPC à l'instance KMS. Pour plus d'informations, reportez-vous à la section Accéder à une instance KMS depuis plusieurs VPC dans la même région.

    Pour vérifier quels VPC sont associés à votre instance KMS, consultez la page Afficher les détails de l'instance KMS.

  • Si le VPC dans lequel votre application s'exécute et l'instance KMS se trouvent dans des régions différentes, établissez une connexion réseau entre les deux VPC.

Erreur « Forbidden.NoPermission » lors de l'utilisation d'un AAP

Problème

Lorsque vous accédez à une instance KMS, la description de l'erreur ou le message d'exception du SDK contient les éléments suivants : Forbidden.NoPermission : This operation is forbidden by permission system.

Solution

Cette erreur se produit car la stratégie d'autorisation du point d'accès d'application (AAP) n'accorde pas les autorisations requises pour les clés ou les secrets sous RBAC Permissions et Accessible Resources. Pour plus d'informations, reportez-vous à la section Créer un point d'accès d'application.

Erreur « ...forbidden by permission system » lors de la récupération d'un secret

Problème

Lorsque vous récupérez une valeur de secret, la description de l'erreur ou le message d'exception du SDK renvoyé par KMS contient les éléments suivants : This operation for key-xxxxxx is forbidden by permission system.

Le code suivant présente un exemple de message d'exception issu du SDK KMS Instance pour Java :

Connected to the target VM, address: '127.0.xxx', transport: 'socket'
Exception in thread "main" com.aliyun.tea.TeaException Create breakpoint : This operation for key-hzz6xxx xxx is forbidden by permission system.
    at com.aliyun.dkms.gcs.openapi.Client.doRequest(Client.java:159)
    at com.aliyun.dkms.gcs.sdk.Client.getSecretValueWithOptions(Client.java:190)
    at com.aliyun.dkms.gcs.sdk.Client.getSecretValue(Client.java:213)
    at com.yqn.center.user.config.RdsSecretSampleCode.main(RdsSecretSampleCode.java:209)
Disconnected from the target VM, address: '127.0.xxx', transport: 'socket'
Process finished with exit code 1

Cause

Votre application ne dispose pas de l'autorisation nécessaire pour utiliser la clé aux fins de déchiffrement.

Lorsque vous créez un secret, vous sélectionnez une clé au sein de la même instance KMS pour le chiffrement. Pour récupérer le secret, votre application doit disposer non seulement de l'autorisation d'accès au secret, mais également de l'autorisation d'utiliser la clé correspondante pour le déchiffrement.

Solution

  • Scénario 1 : Accès à KMS via un point d'accès d'application (AAP) à l'aide d'un ClientKey

    Modifiez la stratégie d'autorisation de l'AAP pour accorder à l'application l'autorisation d'utiliser la clé aux fins de déchiffrement.

    1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Application Access > Multi-Cloud Access (formerly AAP).

    2. Cliquez sur le nom de l'AAP cible pour accéder à la page Details.

    3. Dans la colonne Actions de la stratégie d'autorisation, cliquez sur Modify. Configurez les paramètres suivants et cliquez sur Update.

      • RBAC Permissions : Sélectionnez CryptoServiceKeyUser.

      • Accessible Resources : Dans la section Available Resources, sélectionnez la clé et cliquez sur l'icône image.png. Vous pouvez également cliquer sur l'icône 加号 située à côté de Selected Resources pour ajouter une clé au format key/key_id. Exemple : key/key-hzz6xxxxxx.

  • Scénario 2 : Accès à KMS à l'aide de la paire AccessKey d'un utilisateur RAM ou en endossant un rôle RAM

    Modifiez la stratégie d'autorisation RAM pour accorder à l'application l'autorisation d'utiliser la clé aux fins de déchiffrement.

    1. Connectez-vous à la console RAM.

    2. Dans le volet de navigation de gauche, choisissez Permissions > Policies.

    3. Recherchez la stratégie d'autorisation attachée à votre utilisateur RAM ou à votre rôle RAM et cliquez sur le nom de la stratégie.

    4. Sous l'onglet Policy Document, cliquez sur Modify Policy Document. Ajoutez le script suivant à la section Statement et cliquez sur Continue to edit basic information.

              {
                  "Effect": "Allow",
                  "Action": "kms:Decrypt",
                  "Resource": "acs:kms:${region}:${account}:key/keyId-example"
              }

      Pour plus d'informations sur les stratégies d'autorisation, reportez-vous à la section Stratégies d'autorisation personnalisées pour Key Management Service.

Erreur « Forbidden.KeyNotFound »

Cause : Dans la plupart des cas, la région, l'ID de clé ou l'alias spécifié dans la demande ne correspond pas à celui utilisé pour le chiffrement.

Solution : Assurez-vous que la région, l'ID de clé ou l'alias utilisé pour le déchiffrement correspond à celui utilisé pour le chiffrement.

Erreur « UnsupportedOperation »

  • Configuration incorrecte de l'accès réseau

    • Cause : Votre application utilise un SDK Alibaba Cloud standard, et non un SDK spécifique à KMS, pour effectuer des opérations cryptographiques sur une clé issue d'une instance KMS.

    • Solution :

      1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resource > Instances.

      2. Dans la liste des instances, cliquez sur l'ID de l'instance cible. Sur la page des détails, activez l'interrupteur Public Network Access dans la section RD Multi-Account.

        Remarque

        Si une instance KMS est partagée entre plusieurs comptes Alibaba Cloud, vous pouvez définir des autorisations d'accès au réseau public pour chaque compte.

      3. Sous l'onglet Basic Information de la page des détails de l'instance, recherchez l'Public Endpoint. L'endpoint s'affiche après avoir activé l'accès au réseau public et suit un format similaire à kms.cn-hangzhou.aliyuncs.com.

  • Type de clé incorrect

    • Cause : Votre application utilise une clé de service lorsqu'elle appelle une opération API cryptographique, telle que Encrypt, Decrypt ou GenerateDataKey, via un SDK.

    • Solution : Pour les opérations cryptographiques, utilisez directement une clé maître client (CMK), et non une clé de service gérée par un autre service cloud.

  • Incompatibilité entre l'algorithme de clé et l'API

    • Scénario 1 : Chiffrement, déchiffrement et génération de clé de données

      • Lorsque vous appelez l'opération GenerateDataKey, l'algorithme de la clé maître client (CMK) est un algorithme asymétrique tel que RSA, ECC .

      • Solution : Assurez-vous que l'algorithme de la CMK est un algorithme symétrique tel qu'AES , et que l'utilisation de la clé est définie sur ENCRYPT/DECRYPT.

    • Scénario 2 : Signature et vérification

      • Lorsque vous appelez l'opération Sign ou Verify, l'algorithme de la clé maître client (CMK) est un algorithme cryptographique symétrique tel qu'AES .

      • Solution : Assurez-vous que l'algorithme de la CMK est un algorithme asymétrique tel que RSA, ECC , et que l'utilisation de la clé est définie sur SIGN/VERIFY.

Erreur « Unable to find valid certification path »

Cause possible 1 : Vous avez sélectionné le certificat CA correspondant à la mauvaise instance KMS

  1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resource > Instances.

  2. Sur la page Instances, cliquez sur Download dans la colonne Instance CA Certificate.

  3. Dans la boîte de dialogue Instance CA Certificate, sélectionnez l'ID de l'instance, cliquez sur Download, puis stockez le certificat dans un emplacement sécurisé.

    Par défaut, le certificat CA téléchargé est nommé PrivateKmsCA_kst-.pem. Vous pouvez intégrer ce certificat au SDK pour vérifier l'authenticité et la validité du certificat SSL du service d'instance KMS.

Cause possible 2 : Une version incorrecte du SDK est installée

Nous vous recommandons d'installer la dernière version du SDK. La liste ci-dessous fournit les adresses des dépôts open source des SDK :

Impossible de résoudre le nom de domaine de l'instance KMS

Problème

Dans le VPC auquel l'instance KMS appartient ou dans un VPC associé, une application ne peut pas accéder au nom de domaine de l'instance KMS. Par exemple, la commande ping kst-hzz62****.cryptoservice.kms.aliyuncs.com échoue à résoudre le nom de domaine et le message renvoyé contient « cannot resolve ».

Solution

Vérifiez si la configuration DNS de votre serveur utilise les serveurs DNS Alibaba Cloud par défaut : 100.100.2.136 et 100.100.2.138. Pour plus d'informations, reportez-vous à la section Dois-je modifier la configuration DNS du serveur pour utiliser PrivateZone ?.

Erreur « Incorrect ClientKey password »

Problème

  • Lorsque vous utilisez le SDK KMS Instance pour Java afin d'accéder à une instance KMS, l'erreur suivante est renvoyée : java.io.IOException: keystore password was incorrect.

  • Lorsque vous utilisez le SDK KMS Instance pour PHP afin d'accéder à une instance KMS, l'erreur suivante est renvoyée : Could not decrypt the privateKey of clientKey, the password is incorrect,or it is not a valid pkcs12.

  • Lorsque vous utilisez le SDK KMS Instance pour Go afin d'accéder à une instance KMS, l'erreur suivante est renvoyée : panic: pkcs12: decryption password incorrect.

  • Lorsque vous utilisez le SDK KMS Instance pour Python afin d'accéder à une instance KMS, l'erreur suivante est renvoyée : OpenSSL.crypto.Error: [('PKCS12 routines', '', 'mac verify failure')].

Cause

Le mot de passe spécifié pour le ClientKey est incorrect.

Solution

  • Vérifiez si le mot de passe du ClientKey respecte les exigences de format. Si ce n'est pas le cas, vous devez créer un nouveau ClientKey. Pour plus d'informations, reportez-vous à la section Créer un ClientKey.

    Un mot de passe ClientKey doit comporter entre 8 et 64 caractères et contenir au moins deux des types de caractères suivants : chiffres (0-9), lettres minuscules (a-z), lettres majuscules (A-Z) et caractères spéciaux (~!@#$%^&*?_-).

  • Si vous lisez le mot de passe du ClientKey à partir d'un fichier, assurez-vous que le fichier est un fichier texte brut contenant uniquement une seule ligne correspondant au mot de passe. Le fichier ne doit pas contenir de caractères superflus tels que des sauts de ligne ou des tabulations.

Code d'état HTTP 413

Le corps de la demande, après encodage avec Protocol Buffers, ne doit pas dépasser 3 Mo. Les demandes dépassant cette limite sont rejetées avec un code d'état HTTP 413.

  • Chiffrement et déchiffrement : Nous vous recommandons de ne pas dépasser 6 Ko de données par opération pour les clés symétriques ou 1 Ko pour les clés asymétriques. Pour des volumes de données plus importants, utilisez le chiffrement par enveloppe.

  • Signature et vérification : Si un message à signer est volumineux, nous vous recommandons de générer localement un condensé du message dans votre application, puis d'appeler l'opération Sign ou Verify pour signer ou vérifier le condensé.

Erreur « UnknownHostException »

Problème

Lorsque votre application utilise le SDK KMS Instance pour Java afin d'accéder à une instance KMS, l'erreur suivante est renvoyée : Caused by: java.net.UnknownHostException: kst-hzz664da459rvtjtd****.cryptoservice.kms.aliyuncs.com.

Solution

  1. Vérifiez que l'environnement de votre application dispose d'une connectivité réseau vers le VPC de l'instance KMS.

    Si le VPC de votre application et l'instance KMS se trouvent dans la même région, associez le VPC à l'instance KMS. Pour plus d'informations, reportez-vous à la section Accéder à une instance KMS depuis plusieurs VPC dans la même région. Pour les autres scénarios, consultez les solutions suivantes.

    • Cross-VPC interconnection solutions

      Vous pouvez utiliser Cloud Enterprise Network (CEN), VPN Gateway, une connexion d'appairage de VPC ou PrivateLink pour permettre la communication privée entre les VPC. Pour obtenir des informations sur les fonctionnalités et la configuration de ces solutions, reportez-vous à la section Interconnexion des VPC.

    • Connecting a VPC to the internet

      Vous pouvez utiliser une adresse IP publique statique d'une instance ECS, une Elastic IP Address, une NAT Gateway ou Server Load Balancer (SLB) pour permettre aux ressources cloud d'un VPC d'accéder à Internet ou d'être accessibles depuis Internet. Pour plus d'informations, reportez-vous à la section Accès au réseau public.

    • Connecting a VPC to an on-premises data center

      Vous pouvez utiliser une VPN Gateway, un circuit Express Connect ou une Smart Access Gateway pour connecter votre centre de données sur site à un VPC dans le cloud et construire un cloud hybride. Pour plus d'informations, reportez-vous à la section Connecter un VPC à un centre de données sur site ou à un autre cloud.

  2. Assurez-vous que la résolution des noms de domaine du VPC KMS est correctement configurée. Pour obtenir des informations sur les paramètres de résolution DNS, reportez-vous à la section Présentation de la résolution DNS interne.

La gestion des secrets KMS est-elle prise en charge sur Android ?

Non, la fonctionnalité de gestion des secrets n'est actuellement pas prise en charge sur Android.

L'endpoint KMS est inaccessible

Ce problème survient généralement parce que le protocole HTTPS n'est pas activé lorsque vous utilisez un SDK pour accéder à KMS.

Afin de garantir la sécurité des données, les endpoints KMS prennent uniquement en charge le protocole HTTPS. Lorsque vous utilisez un SDK pour accéder à un endpoint KMS, exécutez le code suivant pour vous assurer que HTTPS est activé pour KMS.

req.setProtocol(ProtocolType.HTTPS);

Un centre de données sur site ne peut pas accéder à l'instance KMS

Problème

Un centre de données sur site est connecté à un VPC Alibaba Cloud. Sans configuration supplémentaire, le centre de données sur site ne peut pas accéder à une instance KMS en utilisant le nom de domaine kms.aliyuncs.com configuré dans PrivateZone.

Solution

  1. Sur le routeur Express Connect, autorisez les segments de route 100.100.2.136 et 100.100.2.138 afin de garantir que le centre de données sur site puisse atteindre 100.100.2.136 et 100.100.2.138 via ping. Pour toute question relative à la configuration du routeur Express Connect, consultez votre architecte de solutions réseau ou reportez-vous aux documents suivants : Interconnexion réseau cloud-vers-site, Connecter un centre de données sur site à un VPC via un circuit Express Connect, Ajouter et gérer des entrées de routage et Traiter les messages d'un centre de données sur site à l'aide de Message Queue for Apache RocketMQ via un circuit Express Connect.

    Important

    Si votre centre de données sur site n'est pas connecté via Alibaba Cloud CEN ou un circuit Express Connect, contactez votre fournisseur de réseau pour la configuration du routeur.

  2. Modifiez le fichier de configuration principal local named.conf pour transférer les requêtes DNS concernant le nom de domaine KMS (kms.aliyuncs.com) vers le DNS Alibaba Cloud pour résolution. Le code suivant présente un exemple de configuration :

    zone "kms.aliyuncs.com" { 
            type forward; 
            forwarders { 100.100.2.136;100.100.2.138;}; 
    };
    Remarque

    La configuration du transfert de routage varie selon le logiciel DNS utilisé. Pour plus d'informations, consultez la documentation de votre logiciel DNS.

Erreur « QPS Limit Exceeded » lorsque ACK synchronise les secrets

Cause

La synchronisation d'un grand nombre de secrets KMS peut déclencher la politique de limitation de débit du service, entraînant l'échec de la synchronisation.

Solution

Ce problème est corrigé dans la version 0.5.2 d'ack-secret-manager. Effectuez la mise à niveau vers la version 0.5.2 ou une version ultérieure.

Erreur « MissingParameter » sur la passerelle dédiée

Problème

Lorsque vous utilisez un SDK Alibaba Cloud pour appeler une opération OpenAPI destinée aux opérations cryptographiques via une passerelle dédiée, l'erreur suivante est renvoyée : MissingParamter AParamter x-kms-acccesskeyid does not exist in http header or body "$430c76cd-******.

Cause

La version de l'image de l'instance KMS est antérieure à la version 3.0.0. Pour utiliser une passerelle dédiée afin d'appeler des opérations OpenAPI destinées aux opérations cryptographiques, la version de l'image de l'instance KMS doit être la version 3.0.0 ou ultérieure.

Solution

Sur la page Instances, vérifiez la version de l'image dans les détails de l'instance. Cliquez sur Upgrade pour mettre à niveau la version de l'image de l'instance KMS. Pour plus d'informations, reportez-vous à la section Mettre à niveau la version de l'image d'une instance KMS.

Problèmes de validation de certificat pour les ISV tiers

L'activation de l'accès public permet à l'ISV tiers de se connecter via la passerelle partagée, qui utilise un certificat signé par une autorité de certification (CA) approuvée.

  1. Connectez-vous à la console Key Management Service. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Resource > Instances.

  2. Dans la liste des instances, cliquez sur l'ID de l'instance cible. Sur la page des détails, activez l'interrupteur Public Network Access dans la section RD Multi-Account.

    Remarque

    Si une instance KMS est partagée entre plusieurs comptes Alibaba Cloud, vous pouvez définir des autorisations d'accès au réseau public pour chaque compte.

  3. Sous l'onglet Basic Information de la page des détails de l'instance, recherchez l'Public Endpoint. L'endpoint s'affiche après avoir activé l'accès au réseau public et suit un format similaire à kms.cn-hangzhou.aliyuncs.com.