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
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.
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.
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 |
Toutes les OpenAPI |
|
|
Passerelle dédiée |
|
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.
Types de Credentials SDK
|
Type de SDK |
Description |
|
Credential Client |
|
|
Credential JDBC Client |
|
|
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 |
|
|
Passerelle dédiée |
|
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.
Points de terminaison par type de passerelle
KMS propose deux formats de point de terminaison :
-
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.
ImportantL'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
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.
Connectez-vous à la console RAM. Sur la page Users, cliquez sur le nom de l'utilisateur RAM cible.
Dans l'onglet Authentication, section AccessKey, cliquez sur Create AccessKey et suivez les instructions affichées à l'écran.
-
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.
RemarqueVous 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.
-
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).
-
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.
RemarqueVous 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.
-
Connectez-vous à la console ECS et attachez le rôle RAM à une instance ECS.

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.
-
Créez une paire de clés AccessKey utilisateur
Connectez-vous à la console RAM. Dans le volet de navigation de gauche, choisissez . Sur la page Users, cliquez sur le nom de l'utilisateur RAM cible.
Attachez la stratégie système
AliyunSTSAssumeRoleAccessou une stratégie personnalisée incluant l'actionsts:AssumeRoleà l'utilisateur RAM.Dans l'onglet Authentication, section AccessKey, cliquez sur Create AccessKey et suivez les instructions affichées à l'écran.
-
Créez et autorisez un rôle RAM :
Dans le volet de navigation de gauche, choisissez . Sur la page Roles, cliquez sur Create Role. Pour plus d'informations, consultez la rubrique Créer un rôle RAM.
-
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.
RemarqueVous 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.
-
-
Obtenez le RamRoleArn du rôle RAM cible. Pour plus d'informations, consultez la rubrique Afficher les informations d'un rôle RAM.
Dans le volet de navigation de gauche, choisissez . Sur la page Roles, cliquez sur le nom du rôle cible.
-
Sur la page des détails du rôle, recherchez le RamRoleArn dans la section ARN.
RemarqueLe RamRoleArn correspond au nom de ressource Alibaba Cloud (ARN) du rôle RAM à endosser. Le format est
acs:ram::$accountID:role/$roleName, où$accountIDreprésente l'ID du compte Alibaba Cloud et$roleNamele 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.
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.
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.-
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.
RemarqueVous 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.
-
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
-
Créez un fournisseur OIDC
Connectez-vous à la console RAM en tant qu'administrateur RAM. Sur la page SSO, cliquez sur l'onglet Role-based SSO.
Sous l'onglet OIDC, cliquez sur Create IdP.
Sur la page Create IdP, configurez les informations du fournisseur. Pour plus d'informations, consultez la rubrique Gestion des fournisseurs OIDC.
-
Récupérez et enregistrez les informations d'identité OIDC (ARN et ID client)
Accédez à la page SSO et, sous l'onglet IdP, cliquez sur le nom du fournisseur OIDC cible.
Sur la page de détails IdP, vous pouvez consulter l'ARN et l'ID client.
-
Créez et autorisez un rôle RAM pour le fournisseur OIDC
Connectez-vous à la console RAM en tant qu'administrateur RAM et accédez à la page .
Cliquez sur Create Role. Dans le coin supérieur droit de la page de création, cliquez sur Switch to Policy Editor.
-
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.
RemarquePour obtenir des informations sur les autres modes, consultez la rubrique Création d'un rôle RAM pour un fournisseur d'identité OIDC.
Dans la section Select Trusted Entity, sélectionnez IdP.
-
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.
-
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.
RemarqueLes 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.
-
-
Obtenez l'ARN du rôle OIDC cible
Sur la page , cliquez sur le nom du rôle cible.
-
Sur la page de détails du rôle, recherchez l'ARN du rôle OIDC dans la section ARN.
RemarqueL'ARN du rôle correspond à l'ARN du rôle RAM à endosser. Le format est
acs:ram::$accountID:role/$roleName, où$accountIDreprésente l'ID du compte Alibaba Cloud et$roleNamele nom du rôle RAM.
-
É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
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 .
-
(Facultatif) Créez une règle réseau.
RemarqueLa 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é.
Cliquez sur l'onglet Network Access Rules puis sur Create Network Access Rule.
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.
-
Créez une stratégie d'autorisation.
Cliquez sur l'onglet Policies puis sur Create Policy.
-
Dans le panneau Create Policy, configurez les paramètres de la passerelle partagée comme décrit ci-dessous, puis cliquez sur OK.
Scope : Shared KMS Gateway
Accessible Resources : sélectionnez les secrets auxquels vous souhaitez accéder.
(Facultatif) Network Access Rules : sélectionnez la règle réseau créée à l'étape précédente.
-
Créez un point d'accès applicatif (AAP).
Cliquez sur l'onglet Application Access puis sur Create AAP.
-
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
ImportantNous 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.
-
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.
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 .
-
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. -
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.
-
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 :
Lors de la configuration des règles réseau, sélectionnez Private comme type de réseau.
Lorsque vous configurez l'étendue de la règle d'autorisation, sélectionnez l'ID d'instance KMS correspondant.
-
Après la création, votre navigateur télécharge automatiquement la ClientKey, qui comprend :
Credential (ClientKeyContent) : Le fichier est nommé
clientKey_****.jsonpar défaut.Mot de passe de l'identifiant (ClientKeyPassword) : Le fichier est nommé
clientKey_****_Password.txtpar défaut.
-