Qu'est-ce que AWS Secrets Manager ? - AWS Secrets Manager

Qu'est-ce que AWS Secrets Manager ?

Auparavant, lorsque vous créiez une application personnalisée pour récupérer les informations d'une base de données, vous intégriez généralement les informations d'identification, le secret, nécessaires pour accéder à la base de données directement dans l'application. Au moment d'effectuer la rotation des informations d'identification, il ne suffisait pas de créer de nouvelles informations d'identification. Vous deviez prendre le temps de mettre à jour l'application afin qu'elle utilise ces nouvelles informations d'identification. Il était ensuite nécessaire de distribuer l'application mise à jour. Si plusieurs applications partageaient les informations d'identification et que vous aviez oublié de mettre à jour l'une d'elles, l'application échouait. En raison de ce risque, de nombreux clients choisissent de ne pas effectuer de rotation régulière des informations d'identification, ce qui remplace en fait un risque par un autre.

Secrets Manager vous permet de remplacer les informations d'identification codées en dur (y compris les mots de passe) dans votre code par un appel d'API à Secrets Manager pour récupérer le secret par programmation. Cela permet de garantir que le secret ne peut pas être mis en péril par une personne qui examine votre code, étant donné que le secret ne figure plus dans le code. En outre, vous pouvez configurer Secrets Manager afin d'effectuer automatiquement une rotation du secret, selon une planification que vous spécifiez. Cela vous permet de remplacer les secrets à long terme par ceux à court terme, ce qui réduit considérablement le risque de mise en danger.

Pour obtenir la liste des termes et concepts que vous devez comprendre pour utiliser pleinement Secrets Manager, veuillez consulter Premiers pas avec AWS Secrets Manager.

Scénario AWS Secrets Manager de base

Le diagramme suivant illustre le scénario le plus basique. Le diagramme montre comment stocker les informations d'identification d'une base de données dans Secrets Manager, puis utiliser ces informations d'identification dans une application pour accéder à la base de données.

  1. L'administrateur de base de données crée un ensemble d'informations d'identification sur la base de données Personnel en vue d'une utilisation par une application appelée MyCustomApp. L'administrateur configure également ces informations d'identification avec les autorisations requises pour que l'application puisse accéder à la base de données Personnel.

  2. L'administrateur de base de données stocke ces informations d'identification dans Secrets Manager sous la forme d'un secret nommé MyCustomAppCreds. Ensuite, Secrets Manager chiffre et stocke les informations d'identification dans le secret en tant que texte secret protégé.

  3. Lorsque MyCustomApp accède à la base de données, l'application interroge Secrets Manager pour obtenir le secret nommé MyCustomAppCreds.

  4. Secrets Manager récupère le secret, déchiffre le texte secret protégé et renvoie le secret à l'appli client via un canal sécurisé (HTTPS avec TLS).

  5. L'application client analyse les informations d'identification, la chaîne de connexion et les autres informations requises à partir de la réponse, puis utilise ces informations pour accéder au serveur de base de données.

Note

Secrets Manager prend en charge de nombreux types de secrets. Cependant, Secrets Manager peut effectuer une rotation des informations d'identification en mode natif pour les bases de données AWS prises en charge sans programmation supplémentaire. Toutefois, la rotation des secrets pour d'autres bases de données ou services nécessite la création d'une fonction Lambda personnalisée afin de définir la façon dont Secrets Manager interagit avec la base de données ou le service. Vous avez besoin de compétences de programmation pour créer la fonction. Pour de plus amples informations, veuillez consulter Rotation des secrets d'AWS Secrets Manager.

Fonctionnalités d' AWS Secrets Manager

Récupération des valeurs de secrets chiffrées à l'exécution par programmation

Secrets Manager vous permet d'améliorer votre posture de sécurité en supprimant les informations d'identification codées en dur du code source de vos applications, et en ne stockant en aucune manière les informations d'identification dans l'application. Le fait de stocker les informations d'identification dans ou avec l'application les expose à un danger éventuel si des personnes peuvent inspecter votre application ou les composants. Étant donné que vous devez mettre à jour votre application et déployer les modifications auprès de chaque client avant de pouvoir rendre obsolètes les anciennes informations d'identification, ce processus rend la rotation de vos informations d'identification difficile.

Secrets Manager vous permet de remplacer les informations d'identification stockées par un appel d'exécution au service web , dans le but de pouvoir récupérer les informations d'identification de manière dynamique lorsque vous en aurez besoin.

La plupart du temps, votre client a besoin d'accéder à la version la plus récente de la valeur du secret chiffrée. Lorsque vous recherchez la valeur du secret chiffrée, vous pouvez choisir de fournir uniquement le nom du secret ou son Amazon Resource Name (ARN), sans spécifier aucune information sur la version. Dans ce cas, Secrets Manager renvoie automatiquement la version la plus récente de la valeur du secret.

Cependant, d'autres versions peuvent exister simultanément. La plupart des systèmes prennent en charge des secrets plus compliqués que de simples mots de passe, comme les ensembles complets d'informations d'identification qui incluent les détails de connexion, l'ID utilisateur et le mot de passe. Secrets Manager vous permet de stocker plusieurs ensembles de ces informations d'identification en même temps. Secrets Manager stocke chaque ensemble dans une version différente du secret. Pendant le processus de rotation du secret, Secrets Manager effectue le suivi des anciennes informations d'identification, ainsi que les nouvelles informations d'identification que vous souhaitez commencer à utiliser, jusqu'à la fin de la rotation.

Stockage de différents types de secret

Secrets Manager vous permet de stocker du texte dans la partie des données de secret chiffrées d'un secret. Cela inclut généralement les détails de connexion de la base de données ou du service. Ces détails peuvent inclure le nom du serveur, son adresse IP et son numéro de port, ainsi que le nom d'utilisateur et le mot de passe utilisés pour se connecter au service. Pour plus d'informations sur les secrets, consultez les valeurs maximum et minimum. Le texte protégé n'inclut pas :

  • Le nom et la description du secret

  • Les paramètres de rotation ou d'expiration

  • L'ARN de la clé KMS associée au secret

  • Toutes les balises AWS attachées

Chiffrement des données de votre secret

Secrets Manager chiffre le texte protégé d'un secret à l'aide de AWS Key Management Service (AWS KMS). De nombreux services AWS utilisent AWS KMS pour le stockage des clés et le chiffrement. AWS KMS assure un chiffrement sécurisé de votre secret au repos. Secrets Manager associe chaque secret à une clé KMS. Il peut s'agir de Clé gérée par AWS pour Secrets Manager pour le compte (aws/secretsmanager), ou d'une clé gérée par le client que vous créez dans AWS KMS.

Lorsque Secrets Manager doit chiffrer une nouvelle version des données protégées du secret, il envoie une demande à AWS KMS pour générer une nouvelle clé de données à partir de la clé KMS. Secrets Manager utilise cette clé de données pour le chiffrement d'enveloppe. Secrets Manager stocke la clé de données chiffrée avec les données protégées du secret. Chaque fois que le secret doit être déchiffré, Secrets Manager demande à AWS KMS de déchiffrer la clé de données, que Secrets Manager utilise ensuite pour déchiffrer les données protégées du secret. Secrets Manager ne stocke jamais la clé de données sous une forme non chiffrée, et la détruit toujours immédiatement après utilisation.

En outre, par défaut, Secrets Manager accepte uniquement les demandes d'hôtes qui utilisent la norme ouverte TLS (Transport Layer Security) et Perfect Forward Secrecy. Secrets Manager assure que votre secret est chiffré pendant qu'il est en transit entre AWS et les ordinateurs que vous utilisez pour récupérer le secret.

Exécution d'une rotation automatique de vos secrets

Vous pouvez configurer Secrets Manager de manière à exécuter une rotation automatique de vos secrets sans aucune intervention de l'utilisateur et selon un calendrier spécifié.

Vous définissez une rotation et la mettez en œuvre à l'aide d'une fonction AWS Lambda. Cette fonction définit comment Secrets Manager :

  • Crée une nouvelle version du secret.

  • Stocke le secret dans Secrets Manager.

  • Configure le service protégé pour qu'il utilise la nouvelle version.

  • Vérifie la nouvelle version.

  • Marque la nouvelle version comme étant prête pour la production.

Les étiquettes intermédiaires vous permettent de suivre les différentes versions de vos secrets. Chaque version peut avoir plusieurs étiquettes intermédiaires attachées, mais chaque étiquette intermédiaire ne peut être attachée qu'à une seule version. Par exemple, Secrets Manager étiquette la version active et en cours d'utilisation du secret avec AWSCURRENT. Vous devez configurer vos applications pour interroger systématiquement la version actuelle du secret. Lorsque le processus de rotation crée une nouvelle version d'un secret, Secrets Manager ajoute automatiquement l'étiquette intermédiaire AWSPENDING à la nouvelle version, jusqu'à la fin des tests et de la validation. Alors seulement, Secrets Manager ajoute l'étiquette intermédiaire AWSCURRENT à cette nouvelle version. La prochaine fois qu'elles demanderont la version AWSCURRENT, vos applications commenceront immédiatement à utiliser le nouveau secret.

Bases de données avec prise en charge de la rotation prête à l'emploi et entièrement configurée

Lorsque vous choisissez d'activer la rotation, Secrets Manager prend en charge les bases de données Amazon Relational Database Service (Amazon RDS) suivantes avec les modèles de fonction de rotation Lambda écrits et testés par AWS et la configuration complète du processus de rotation :

  • Amazon Aurora sur Amazon RDS

  • MySQL sur Amazon RDS

  • PostgreSQL sur Amazon RDS

  • Oracle sur Amazon RDS

  • MariaDB sur Amazon RDS

  • Microsoft SQL Server sur Amazon RDS

Autres services avec prise en charge de la rotation prête à l'emploi et entièrement configurée

Vous pouvez également choisir d'activer la rotation sur les services suivants qui sont entièrement pris en charge avec les modèles de fonction de rotation Lambda écrits et testés par AWS, et la configuration complète du processus de rotation :

  • Amazon DocumentDB

  • Amazon Redshift

Vous pouvez également stocker les secrets pour presque n'importe quel autre type de base de données ou de service. Cependant, pour que la rotation des secrets soit automatique, vous devez créer et configurer une fonction de rotation Lambda personnalisée. Pour en savoir plus sur l'écriture d'une fonction Lambda personnalisée pour une base de données ou un service, consultez Fonctionnement de la rotation.

Contrôler l'accès aux secrets

Vous pouvez attacher des politiques d'autorisations AWS Identity and Access Management à vos utilisateurs, groupes et rôles, pour accorder ou refuser l'accès à des secrets spécifiques et limiter la gestion de ces secrets. Par exemple, vous pouvez attacher une politique à un groupe avec des membres qui ont besoin de pouvoir entièrement gérer et configurer vos secrets. Une autre politique attachée à un rôle utilisé par une application peut accorder seulement une autorisation de lecture sur le seul secret dont l'application a besoin pour s'exécuter.

Sinon, vous pouvez attacher une politique basée sur les ressources directement au secret pour accorder les autorisations qui désignent les utilisateurs autorisés à lire ou modifier le secret et les versions. Contrairement à une politique basée sur l'identité (qui s'applique automatiquement à l'utilisateur, au groupe ou au rôle), une politique basée sur les ressources attachée à un secret utilise l'élément Principal pour identifier la cible de la politique. L'élément Principal peut inclure les utilisateurs et les rôles du même compte que le secret ou des principals d'autres comptes.

Conformité de AWS Secrets Manager aux normes

AWS Secrets Manager a fait l'objet d'un audit visant à vérifier sa conformité aux normes suivantes et peut être utilisé dans le cadre de votre solution quand vous avez besoin d'obtenir une certification de conformité.

AWS a élargi son programme de conformité à la législation américaine HIPAA (Health Insurance Portability and Accountability Act) de manière à inclure AWS Secrets Manager sous forme de service éligible à HIPAA. Si vous disposez d'un Accord d'association commerciale avec AWS, vous pouvez utiliser Secrets Manager pour concevoir vos applications conformes à la loi HIPAA. AWS propose un livre blanc HIPAA aux clients désireux d'en savoir plus sur la façon d'exploiter AWS pour le traitement et le stockage des données d'état. Pour de plus amples informations, consultez Conformité à la loi HIPAA.

AWS Secrets Manager possède une attestation de conformité pour la norme PCI DSS (Payment Card Industry Data Security Standard) version 3.2 correspondant à un prestataire de services de niveau 1. Les clients qui utilisent les produits et services AWS pour stocker, traiter ou transmettre des données de titulaires de cartes peuvent utiliser AWS Secrets Manager tout en gérant leur propre certification de conformité PCI DSS. Pour plus d'informations sur PCI DSS, et notamment sur la manière de demander une copie du package de conformité PCI AWS, veuillez consulter PCI DSS, niveau 1.

AWS Secrets Manager a passé avec succès la certification de conformité aux normes ISO/IEC 27001, ISO/IEC 27017, ISO/IEC 27018 et ISO 9001. Pour plus d'informations, consultez ISO 27001, ISO 27017, ISO 27018 et ISO 9001.

Les rapports SOC (System and Organization Control) sont des comptes rendus des audits indépendants réalisés par des tiers. Ils indiquent comment Secrets Manager met en œuvre ses principaux contrôles et objectifs en termes de conformité des clés. Ces rapports sont destinés à vous aider, ainsi que vos auditeurs, à comprendre les mesures de contrôle mises en place par AWS en termes d'opérations et de conformité. Pour plus d'informations, consultez Conformité SOC.

Le Federal Risk and Authorization Management Program (FedRAMP) est un programme gouvernemental qui fournit une approche normalisée de l'évaluation de la sécurité, de l'autorisation et de la surveillance continue pour les produits et services de cloud. Le programme FedRAMP fournit également des autorisations provisoires pour les services et les régions Est/Ouest et GovCloud de consommer des données gouvernementales ou réglementées. Pour plus d'informations, consultez Conformité au programme FedRAMP.

Le guide SRG (Cloud Computing Security Requirements Guide) du Département de la Défense (DoD) fournit un processus normalisé d'évaluation et d'autorisation permettant aux fournisseurs de services cloud (CSP) d'obtenir une autorisation provisoire du DoD, afin qu'ils puissent servir les clients du DoD. Pour plus d'informations, consultez Resources DoD SRG

Le programme Information Security Registered Assessors Program (IRAP) permet aux clients du gouvernement australien de vérifier que des contrôles appropriés sont en place et de déterminer le modèle de responsabilité approprié pour répondre aux exigences du manuel de sécurité de l'information (ISM) du gouvernement australien produit par le Australian Cyber Security Centre (ACSC). Pour plus d'informations, consultez Ressources IRAP.

Amazon Web Services (AWS) a obtenu l'attestation du rapport d'audit du fournisseur de services externalisés (OSPAR). L'harmonisation AWS avec les lignes directrices de l'Association des banques de Singapour (ABS) sur les objectifs et procédures de contrôle pour les fournisseurs de services externalisés (Lignes directrices ABS) démontre aux clients l'engagement d'AWS à répondre aux attentes élevées des fournisseurs de services cloud établies par le secteur des services financiers à Singapour. Pour plus d'informations, consultez Ressources OSPAR.

Tarification de AWS Secrets Manager

Lorsque vous utilisez Secrets Manager, vous ne payez que pour ce que vous utilisez et il n'existe pas de frais d'installation ou de frais minimum. Il n'y a pas de frais pour les secrets que vous avez marqués pour suppression. Pour obtenir la liste de prix actuelle complète, consultez Tarification AWS Secrets Manager.

Vous pouvez utiliser le plugin Clé gérée par AWS (aws/secretsmanager) que Secrets Manager crée pour chiffrer vos secrets gratuitement. Si vous créez vos propres clés KMS pour chiffrer vos secrets, AWS applique le tarif AWS KMS actuel. Pour en savoir plus, consultez TarificationAWS Key Management Service.

Si vous activez AWS CloudTrail sur votre compte, vous pouvez obtenir les journaux des appels d'API effectués par Secrets Manager. Secrets Manager consigne tous les événements en tant qu'événements de gestion. AWS CloudTrail stocke gratuitement la première copie de tous les événements de gestion. Cependant, des frais peuvent vous être facturés pour le stockage des journaux Amazon S3 et pour Amazon SNS si vous activez la notification. En outre, si vous configurez des journaux de suivi supplémentaires, les copies supplémentaires d'événements de gestion peuvent entraîner des coûts. Pour en savoir plus, consultez Tarification de AWS CloudTrail.

Support et commentaires pour AWS Secrets Manager

Nous apprécions vos commentaires. Vous pouvez envoyer des commentaires à awssecretsmanager-feedback@amazon.com. Vous pouvez également publier vos commentaires et vos questions sur notre forum de support AWS Secrets Manager. Pour de plus amples informations sur les forums de support AWS, consultez l'aide des forums.

Pour demander des nouvelles fonctions pour la console AWS Secrets Manager ou les outils de ligne de commande, nous vous recommandons d'envoyer un e-mail à l'adresse awssecretsmanager-feedback@amazon.com.

Pour envoyer des commentaires sur notre documentation, vous pouvez utiliser le lien de commentaires au bas de chaque page web. Décrivez avec précision le problème que vous rencontrez et pourquoi la documentation ne vous a pas été utile. Indiquez-nous ce que vous avez vu et en quoi cela différait de vos attentes. Vous nous aidez ainsi à comprendre ce que nous devons faire pour améliorer la documentation.

Voici quelques ressources supplémentaires à votre disposition :

  • AWSCatalogue des formations – Formations spécialisées et basées sur le rôle, ainsi que des ateliers d'autoformation pour améliorer vos compétences AWS et acquérir une expérience pratique.

  • AWS Outils pour développeurs – Outils et ressources pour développeurs, qui fournissent de la documentation, des exemples de code, des notes de mises à jour et d'autres informations pour vous aider à générer des applications innovantes avec AWS.

  • Centre AWS Support – Hub pour la création et la gestion de vos cas AWS Support. Il inclut également des liens vers d'autres ressources utiles, telles que des forums, des FAQ techniques, l'état de santé d'un service et AWS Trusted Advisor.

  • AWS Support – Canal d'assistance un-à-un, à temps de réponde rapide pour vous aider à générer et exécuter des applications dans le cloud.

  • Contactez-nous – Point de contact central pour toute question relative à la facturation AWS, aux comptes, aux événements ou à d'autres problèmes.

  • AWS Conditions d'utilisation du site – Informations détaillées sur nos droits d'auteur et notre marque, sur vos compte, votre licence et votre accès au site, et sur d'autres sujets.