Tous les produits
Search
Centre de documentation

Key Management Service:SDK Overview

Dernière mise à jour :Aug 09, 2026

KMS propose trois types de SDK : Alibaba Cloud SDK, Credentials SDK et KMS Instance SDK (déconseillé). Cette rubrique compare leurs fonctionnalités, leurs méthodes d'authentification, les API prises en charge ainsi que les types de passerelles.

Flux d'intégration du SDK

image

Alibaba Cloud SDK

Le SDK Alibaba Cloud encapsule les OpenAPI Alibaba Cloud. Il prend en charge à la fois les API du plan de contrôle (gestion des clés, des identifiants et des instances) et les API du plan de données (opérations cryptographiques, récupération des identifiants). Il est disponible pour Java, Python, C++, PHP, .NET (C# uniquement), Go, TypeScript et Swift. Pour plus d'informations, consultez Alibaba Cloud SDK.

image

API prises en charge

Appelez les OpenAPI du plan de contrôle et du plan de données via le SDK Alibaba Cloud. Consultez la liste des OpenAPI prises en charge par le SDK Alibaba Cloud.

  • Opérations du plan de contrôle : gérez les clés par défaut et les instances KMS. Vous pouvez créer des clés, des identifiants ou des instances, et modifier les tags.

  • Opérations du plan de données :

    • Opérations cryptographiques : chiffrement et déchiffrement symétriques et asymétriques, chiffrement sous enveloppe, génération de clés de données, signature numérique et vérification des signatures.

    • Récupération des identifiants : obtenez les valeurs des identifiants stockés dans une instance KMS.

Important

En production, mettez en œuvre des mécanismes de nouvelle tentative et de mise en cache des identifiants afin de gérer les fluctuations réseau. Pour connaître les stratégies de nouvelle tentative, consultez la rubrique Nouvelles tentatives avec backoff exponentiel.

Types de passerelles pris en charge

Le SDK Alibaba Cloud prend en charge les passerelles partagées et dédiées. Les opérations du plan de contrôle nécessitent des passerelles partagées, tandis que les opérations du plan de données sont compatibles avec les deux types.

Type de passerelle

Scénario recommandé

API prises en charge

Passerelle partagée

  • Nécessite des opérations du plan de contrôle (gestion des clés, des identifiants ou des instances).

  • Déployé en dehors des VPC Alibaba Cloud.

  • Environnements hors production (tests internes).

Toutes les OpenAPI

Passerelle dédiée

  • Déployé au sein d'un VPC Alibaba Cloud.

  • Opérations fréquentes sur le plan de données (chiffrement/déchiffrement, récupération des identifiants).

  • Exigences élevées en matière de sécurité des données métier.

Opérations cryptographiques et récupération des identifiants - OpenAPI

Credentials SDK

Le Credentials SDK offre une mise en cache des identifiants au sein de l'application et une actualisation automatique, exclusivement pour la récupération des identifiants. Il existe trois variantes : Credential Client, Credential JDBC Client et RAM Credential Plugin. Il est disponible pour Java (8+), Python et Go. Pour plus d'informations, consultez la rubrique Credentials SDK.

image

Types de Credentials SDK

Type de SDK

Description

Credential Client

  • Prend en charge tous les types d'identifiants.

  • Récupérez les identifiants avec une seule ligne de code.

  • Mise en cache intégrée des identifiants et actualisation automatique.

Credential JDBC Client

  • Nécessite Java 8 ou une version ultérieure.

  • Prend uniquement en charge les identifiants RDS et les identifiants génériques au format {\"AccountName\":\"\",\"AccountPassword\":\"\"}.

  • Utilisez-le pour l'authentification aux bases de données via JDBC, les pools de connexions (c3p0, DBCP) ou les frameworks de base de données. Il prend en charge des intervalles d'actualisation personnalisés.

RAM Credential Plugin

API prises en charge

Le Credentials SDK prend uniquement en charge les opérations de récupération des identifiants. Pour la gestion des identifiants (plan de contrôle), utilisez le SDK Alibaba Cloud.

Types de passerelles pris en charge

Le Credentials SDK récupère les identifiants via des passerelles partagées ou dédiées.

Type de passerelle

Scénario recommandé

Passerelle partagée

  • Les performances de récupération des identifiants ne sont pas critiques.

  • Déployé en dehors des VPC Alibaba Cloud.

  • Environnements hors production (tests internes).

Passerelle dédiée

  • Déployé au sein d'un VPC Alibaba Cloud.

  • Opérations fréquentes de récupération des identifiants.

  • Exigences élevées en matière de sécurité des données métier.

KMS Instance SDK (déconseillé)

Le SDK KMS Instance accède aux points de terminaison des passerelles dédiées pour effectuer des opérations cryptographiques et récupérer des identifiants. Il est disponible pour Java (8+), PHP, Go, Python et .NET (C# uniquement). Pour plus de détails, consultez la rubrique KMS Instance SDK.

image

Points de terminaison par type de passerelle

KMS propose deux formats de point de terminaison :

  • Point de terminaison de passerelle partagée (point de terminaison du service KMS) : adresse globale KMS, accessible via Internet public ou un VPC.

    • Format : kms.<region-id>.cryptoservice.kms.aliyuncs.com. ID de région disponibles : consultez la liste des Régions et zones.

    • Exemple : pour la région Chine (Hangzhou), le point de terminaison public est kms.cn-hangzhou.aliyuncs.com et le point de terminaison VPC est kms-vpc.cn-hangzhou.aliyuncs.com.

  • Point de terminaison de passerelle dédiée (point de terminaison d'instance KMS) : adresse d'une instance KMS spécifique, accessible uniquement via des réseaux privés.

    • Format : <kms-instance-id>.cryptoservice.kms.aliyuncs.com.

    • Exemple : kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com.

Authentification et autorisation

KMS prend en charge l'authentification RAM et l'authentification AAP (Application Access Point). Les passerelles partagées prennent en charge les deux méthodes, tandis que les passerelles dédiées ne prennent en charge que l'authentification AAP.

  • Authentification RAM : utilise des rôles RAM, des jetons STS, des rôles RAM ECS, des AccessKeys et d'autres méthodes décrites dans la rubrique Gérer les identifiants d'accès.

    Important

    L'accès à une instance via une passerelle dédiée avec l'authentification RAM nécessite un certificat CA.

  • Authentification AAP (déconseillée) : créez un point d'accès d'application et téléchargez le fichier ClientKey, qui contient les informations d'identification Credential (ClientKeyContent) ainsi que le mot de passe associé (ClientKeyPassword).

Authentification RAM

AccessKey

Avertissement

Par défaut, un compte Alibaba Cloud dispose des autorisations d'administrateur sur toutes les ressources, ce qui ne peut pas être modifié. Pour garantir la sécurité des ressources, nous vous recommandons d'utiliser un utilisateur RAM pour créer une paire de clés AccessKey et de lui accorder uniquement les autorisations nécessaires.

  1. Connectez-vous à la console RAM. Sur la page Users, cliquez sur le nom de l'utilisateur RAM cible.

  2. Dans l'onglet Authentication, section AccessKey, cliquez sur Create AccessKey et suivez les instructions affichées à l'écran.

  3. Accordez à l'utilisateur RAM les autorisations d'accès à KMS.

    • Méthode 1 : configurer une politique basée sur l'identité

      Dans la colonne Actions de l'utilisateur RAM, cliquez sur Grant Permission pour attacher une stratégie d'autorisation système intégrée pour KMS à l'utilisateur RAM. Pour plus d'informations sur les stratégies d'autorisation système pour KMS, consultez la rubrique Stratégies système pour KMS.

      Remarque

      Vous pouvez également créer des stratégies d'autorisation personnalisées. Pour plus d'informations, consultez la rubrique Créer une stratégie personnalisée.

    • Méthode 2 : configurer une politique basée sur les ressources

      KMS prend en charge les politiques basées sur les ressources qui accordent des autorisations d'accès pour des clés et des secrets individuels. Utilisez ces politiques pour contrôler quels comptes Alibaba Cloud, utilisateurs RAM et rôles RAM peuvent gérer ou utiliser les clés et secrets KMS. Pour plus d'informations, consultez les rubriques Politiques de clé et Politiques de secret.

Rôle RAM ECS

Un rôle RAM d'instance ECS vous permet d'obtenir un identifiant d'accès temporaire (jeton STS) depuis une instance ECS pour appeler les opérations API KMS, sans avoir besoin de configurer une paire de clés AccessKey.

Pour plus d'informations, consultez la rubrique Rôles RAM d'instance.

  1. Connectez-vous à la console RAM et créez un rôle RAM pour un service Alibaba Cloud de confiance.

    • Type d'entité de confiance : sélectionnez Elastic Compute Service.

    • Entité de confiance : sélectionnez Elastic Compute Service (ECS).

  2. Accordez au rôle RAM les autorisations d'accès à KMS.

    • Méthode 1 : configurer une politique basée sur l'identité

      Dans la colonne Actions du rôle RAM, cliquez sur Grant Permission pour attacher une stratégie d'autorisation système intégrée pour KMS au rôle RAM. Pour plus d'informations sur les stratégies d'autorisation système pour KMS, consultez la rubrique Stratégies système pour KMS.

      Remarque

      Vous pouvez également créer des stratégies d'autorisation personnalisées. Pour plus d'informations, consultez la rubrique Créer une stratégie personnalisée.

    • Méthode 2 : configurer une politique basée sur les ressources

      KMS prend en charge les politiques basées sur les ressources qui accordent des autorisations d'accès pour des clés et des secrets individuels. Utilisez ces politiques pour contrôler quels comptes Alibaba Cloud, utilisateurs RAM et rôles RAM peuvent gérer ou utiliser les clés et secrets KMS. Pour plus d'informations, consultez les rubriques Politiques de clé et Politiques de secret.

  3. Connectez-vous à la console ECS et attachez le rôle RAM à une instance ECS.image

AccessKey + RamRoleArn

Les utilisateurs RAM ou les services cloud peuvent endosser un rôle pour obtenir des autorisations temporaires (jeton STS) au lieu d'utiliser des clés à long terme, ce qui réduit le risque de fuite de clés. Par exemple, lors d'une tâche de traitement de données temporaire, un utilisateur RAM ou un service cloud endosse temporairement un rôle avec un RamRoleArn spécifique. Une fois la tâche terminée, les autorisations du rôle sont révoquées, minimisant ainsi le risque d'exposition.

  1. Créez une paire de clés AccessKey utilisateur

    1. Connectez-vous à la console RAM. Dans le volet de navigation de gauche, choisissez Identities > Users. Sur la page Users, cliquez sur le nom de l'utilisateur RAM cible.

    2. Attachez la stratégie système AliyunSTSAssumeRoleAccess ou une stratégie personnalisée incluant l'action sts:AssumeRole à l'utilisateur RAM.

    3. Dans l'onglet Authentication, section AccessKey, cliquez sur Create AccessKey et suivez les instructions affichées à l'écran.

  2. Créez et autorisez un rôle RAM :

    1. Dans le volet de navigation de gauche, choisissez Identities > Roles. Sur la page Roles, cliquez sur Create Role. Pour plus d'informations, consultez la rubrique Créer un rôle RAM.

    2. Accordez au rôle RAM les autorisations d'accès à KMS.

      • Méthode 1 : configurer une politique basée sur l'identité

        Dans la colonne Actions du rôle RAM, cliquez sur Grant Permission pour attacher une stratégie d'autorisation système intégrée pour KMS au rôle RAM. Pour plus d'informations sur les stratégies d'autorisation système pour KMS, consultez la rubrique Stratégies système pour KMS.

        Remarque

        Vous pouvez également créer des stratégies d'autorisation personnalisées. Pour plus d'informations, consultez la rubrique Créer une stratégie personnalisée.

      • Méthode 2 : configurer une politique basée sur les ressources

        KMS prend en charge les politiques basées sur les ressources qui accordent des autorisations d'accès pour des clés et des secrets individuels. Utilisez ces politiques pour contrôler quels comptes Alibaba Cloud, utilisateurs RAM et rôles RAM peuvent gérer ou utiliser les clés et secrets KMS. Pour plus d'informations, consultez les rubriques Politiques de clé et Politiques de secret.

  3. Obtenez le RamRoleArn du rôle RAM cible. Pour plus d'informations, consultez la rubrique Afficher les informations d'un rôle RAM.

    1. Dans le volet de navigation de gauche, choisissez Identities > Roles. Sur la page Roles, cliquez sur le nom du rôle cible.

    2. Sur la page des détails du rôle, recherchez le RamRoleArn dans la section ARN.

      Remarque

      Le RamRoleArn correspond au nom de ressource Alibaba Cloud (ARN) du rôle RAM à endosser. Le format est acs:ram::$accountID:role/$roleName, où $accountID représente l'ID du compte Alibaba Cloud et $roleName le nom du rôle RAM.

Jeton STS

Security Token Service (STS) émet un identifiant d'accès temporaire, appelé jeton STS, à un utilisateur RAM ou à un rôle RAM. Ce jeton permet d'accéder à KMS avec des autorisations spécifiques pendant une durée de validité limitée. À l'expiration du jeton, celui-ci devient automatiquement invalide.

  1. Connectez-vous à la console RAM pour créer un utilisateur RAM ou un rôle RAM. Pour plus d'informations, consultez les rubriques Créer un utilisateur RAM et Créer un rôle RAM.

  2. Accordez l'autorisation AliyunSTSAssumeRoleAccess à l'utilisateur RAM ou au rôle RAM. Pour plus d'informations, consultez les rubriques Gérer les autorisations des utilisateurs RAM et Accorder des autorisations à un rôle RAM.

  3. Accordez à l'utilisateur RAM ou au rôle RAM les autorisations d'accès à KMS.

    • Méthode 1 : configurer une politique basée sur l'identité

      Dans la colonne Actions du rôle ou de l'utilisateur RAM, cliquez sur Grant Permission pour attacher une stratégie d'autorisation système intégrée pour KMS. Pour plus d'informations sur les stratégies d'autorisation système pour KMS, consultez la rubrique Stratégies système pour KMS.

      Remarque

      Vous pouvez également créer des stratégies d'autorisation personnalisées. Pour plus d'informations, consultez la rubrique Créer une stratégie personnalisée.

    • Méthode 2 : configurer une politique basée sur les ressources

      KMS prend en charge les politiques basées sur les ressources qui accordent des autorisations d'accès pour des clés et des secrets individuels. Utilisez ces politiques pour contrôler quels comptes Alibaba Cloud, utilisateurs RAM et rôles RAM peuvent gérer ou utiliser les clés et secrets KMS. Pour plus d'informations, consultez les rubriques Politiques de clé et Politiques de secret.

  4. Utilisez l'utilisateur RAM ou le rôle RAM pour appeler l'opération AssumeRole de STS afin d'obtenir un identifiant d'accès STS temporaire. Pour plus d'informations, consultez la rubrique AssumeRole.

ARN de rôle OIDC

  1. Créez un fournisseur OIDC

    1. Connectez-vous à la console RAM en tant qu'administrateur RAM. Sur la page SSO, cliquez sur l'onglet Role-based SSO.

    2. Sous l'onglet OIDC, cliquez sur Create IdP.

    3. Sur la page Create IdP, configurez les informations du fournisseur. Pour plus d'informations, consultez la rubrique Gestion des fournisseurs OIDC.

  2. Récupérez et enregistrez les informations d'identité OIDC (ARN et ID client)

    1. Accédez à la page SSO et, sous l'onglet IdP, cliquez sur le nom du fournisseur OIDC cible.

    2. Sur la page de détails IdP, vous pouvez consulter l'ARN et l'ID client.

  3. Créez et autorisez un rôle RAM pour le fournisseur OIDC

    1. Connectez-vous à la console RAM en tant qu'administrateur RAM et accédez à la page Identities > Roles.

    2. Cliquez sur Create Role. Dans le coin supérieur droit de la page de création, cliquez sur Switch to Policy Editor.

    3. Dans l'éditeur de stratégie, spécifiez le fournisseur OIDC. Sélectionnez l'éditeur visuel et configurez les paramètres comme indiqué ci-dessous.

      Remarque

      Pour obtenir des informations sur les autres modes, consultez la rubrique Création d'un rôle RAM pour un fournisseur d'identité OIDC.

      1. Dans la section Select Trusted Entity, sélectionnez IdP.

      2. Dans la section Edit Trust Policy, configurez les paramètres suivants.

        • IdP Type : sélectionnez OIDC.

        • IdP : sélectionnez le fournisseur OIDC que vous avez créé précédemment.

  4. Accordez au rôle RAM OIDC les autorisations d'accès à KMS

    • Méthode 1 : Configurer une stratégie basée sur l'identité

      Revenez à la page de liste Identities > Roles et cliquez sur Grant Permission dans la colonne Actions du rôle OIDC cible afin d'attacher directement une stratégie d'autorisation système intégrée KMS au rôle RAM. Pour plus d'informations sur les stratégies d'autorisation système intégrées KMS, consultez la rubrique Référence des stratégies d'autorisation système Key Management Service.

      Remarque

      Les stratégies d'autorisation personnalisées sont également prises en charge. Pour plus d'informations, consultez la rubrique Création d'une stratégie personnalisée.

    • Méthode 2 : Configurer une stratégie basée sur les ressources

      KMS prend en charge les stratégies basées sur les ressources qui accordent des autorisations d'accès pour des clés et des secrets individuels. Vous pouvez utiliser ces stratégies pour contrôler quels comptes Alibaba Cloud, utilisateurs RAM et rôles RAM peuvent gérer ou utiliser des clés et des secrets KMS. Pour plus d'informations, consultez les rubriques Stratégies de clé et Stratégies de secret.

  5. Obtenez l'ARN du rôle OIDC cible

    1. Sur la page Identities > Roles, cliquez sur le nom du rôle cible.

    2. Sur la page de détails du rôle, recherchez l'ARN du rôle OIDC dans la section ARN.

      Remarque

      L'ARN du rôle correspond à l'ARN du rôle RAM à endosser. Le format est acs:ram::$accountID:role/$roleName, où $accountID représente l'ID du compte Alibaba Cloud et $roleName le nom du rôle RAM.

  6. Émettez et enregistrez le fichier de jeton OIDC

    Alibaba Cloud ne permet pas une connexion directe OIDC depuis la console, mais vous pouvez réaliser le processus SSO OIDC par programmation. L'obtention d'un jeton OIDC implique un flux OAuth, généralement via un processus standard OAuth 2.0 auprès du fournisseur d'identité OIDC (IdP).

    Par exemple : lorsqu'une application s'exécute dans un cluster ACK avec RRSA activé, le cluster crée et monte automatiquement le fichier de jeton OIDC du compte de service correspondant pour le pod de l'application.

Authentification AAP (non recommandée)

Configuration de la passerelle partagé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 Application Access > Multi-Cloud Access (formerly AAP).

  2. (Facultatif) Créez une règle réseau.

    Remarque

    La configuration d'une règle réseau pour restreindre l'accès par adresse IP source est facultative. Toutefois, nous vous recommandons d'en configurer une pour renforcer la sécurité.

    1. Cliquez sur l'onglet Network Access Rules puis sur Create Network Access Rule.

    2. Dans le panneau Create Network Access Rule, définissez le paramètre Network Type sur Public, saisissez les Allowed Source IP Addresses et cliquez sur OK.

  3. Créez une stratégie d'autorisation.

    1. Cliquez sur l'onglet Policies puis sur Create Policy.

    2. Dans le panneau Create Policy, configurez les paramètres de la passerelle partagée comme décrit ci-dessous, puis cliquez sur OK.

      1. Scope : Shared KMS Gateway

      2. Accessible Resources : sélectionnez les secrets auxquels vous souhaitez accéder.

      3. (Facultatif) Network Access Rules : sélectionnez la règle réseau créée à l'étape précédente.

  4. Créez un point d'accès applicatif (AAP).

    1. Cliquez sur l'onglet Application Access puis sur Create AAP.

    2. Dans le panneau Create AAP, définissez le paramètre Mode sur Standard Creation et configurez les paramètres comme indiqué ci-dessous.

      Paramètre

      Description

      Authentication Method

      Sélectionnez ClientKey.

      Encryption Password

      Saisissez une chaîne de 8 à 64 caractères contenant des chiffres, des lettres et des caractères spéciaux : ~!@#$%^&*?_-.

      Validity Period

      Important

      Nous vous recommandons de définir la période de validité sur un an afin de réduire le risque de fuite de ClientKey. Veillez à faire pivoter le ClientKey avant son expiration pour éviter toute interruption de service. Pour plus d'informations, consultez la rubrique Rotation d'un ClientKey.

      Policies

      Sélectionnez la stratégie d'autorisation que vous avez créée à l'étape précédente.

    3. Cliquez sur OK. Le navigateur télécharge automatiquement le ClientKey. Le ClientKey comprend les fichiers suivants :

      • Credential (ClientKeyContent) : le nom de fichier par défaut est clientKey_****.json.

      • Mot de passe des identifiants (ClientKeyPassword) : le nom de fichier par défaut est clientKey_****_Password.txt.

Configuration de la passerelle dédiée

Vous pouvez créer une ClientKey en utilisant le mode de création rapide ou le mode de création standard. Pour plus d'informations sur les ClientKeys, consultez la rubrique Application access points ainsi que Create an application access point.

  • Méthode 1 : Création rapide

    Cette méthode est pratique et efficace, ce qui la rend adaptée aux tests rapides et au développement. Les identifiants d'accès créés de cette manière disposent d'un accès complet à toutes les ressources de l'instance KMS.

    1. Connectez-vous à la Key Management Service console. 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. Sous l'onglet Application Access, cliquez sur Create AAP. Dans le panneau Create AAP, configurez les paramètres suivants.

      Paramètre

      Description

      Mode

      Sélectionnez Quick Creation.

      Scope (KMS Instance)

      Sélectionnez l'instance KMS à laquelle votre application doit accéder.

      Application Access Point Name

      Saisissez un nom pour le point d'accès de l'application.

      Authentication Method

      Ce paramètre est défini sur ClientKey et ne peut pas être modifié.

      Algorithme de chiffrement des identifiants

      Sélectionnez l'algorithme de chiffrement utilisé pour chiffrer la ClientKey. Valeurs valides : TripleDES-CBC et RC2-CBC (par défaut).

      Default Permission Policy

      La valeur est key/* secret/* et ne peut pas être modifiée. Cela signifie que l'application peut accéder à toutes les clés et à tous les secrets de l'instance KMS spécifiée.

    3. Cliquez sur OK. Le navigateur télécharge automatiquement la ClientKey. La ClientKey comprend les fichiers suivants :

      • Credential (ClientKeyContent) : Le nom de fichier par défaut est clientKey_****.json.

      • Mot de passe de l'identifiant (ClientKeyPassword) : Le nom de fichier par défaut est clientKey_****_Password.txt.

  • Méthode 2 : Création standard

    Si vous devez configurer des autorisations d'accès granulaires aux ressources, nous vous recommandons d'utiliser la méthode de création standard.

    1. Suivez les instructions de création standard indiquées dans la rubrique Create an application access point pour créer une ClientKey permettant d'accéder à la passerelle dédiée. Les principaux paramètres sont décrits ci-dessous :

      1. Lors de la configuration des règles réseau, sélectionnez Private comme type de réseau.

      2. Lorsque vous configurez l'étendue de la règle d'autorisation, sélectionnez l'ID d'instance KMS correspondant.

    2. Après la création, votre navigateur télécharge automatiquement la ClientKey, qui comprend :

      • Credential (ClientKeyContent) : Le fichier est nommé clientKey_****.json par défaut.

      • Mot de passe de l'identifiant (ClientKeyPassword) : Le fichier est nommé clientKey_****_Password.txt par défaut.