Gérez les certificats de serveur dans IAM - AWS Identity and Access Management

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gérez les certificats de serveur dans IAM

Pour activer HTTPS les connexions à votre site Web ou à votre application dans AWS, vous avez besoin d'un certificatSSL/TLSserver. Pour les certificats d'une région prise en charge par AWS Certificate Manager (ACM), nous vous recommandons de les utiliser ACM pour provisionner, gérer et déployer vos certificats de serveur. Dans les régions non prises en charge, vous devez l'utiliser IAM en tant que gestionnaire de certificats. Pour savoir quelles régions sont prises ACM en charge, consultez la section AWS Certificate Manager Points de terminaison et quotas dans le Références générales AWS.

Important

ACMest l'outil préféré pour approvisionner, gérer et déployer vos certificats de serveur. ACMVous pouvez ainsi demander un certificat ou déployer un certificat existant ACM ou externe sur des AWS ressources. Les certificats fournis par ACM sont gratuits et se renouvellent automatiquement. Dans une région prise en charge, vous pouvez l'utiliser ACM pour gérer les certificats de serveur depuis la console ou par programmation. Pour plus d'informations sur l'utilisationACM, consultez le guide de AWS Certificate Manager l'utilisateur. Pour plus d'informations sur la demande de ACM certificat, voir Demander un certificat public ou Demander un certificat privé dans le guide de AWS Certificate Manager l'utilisateur. Pour plus d'informations sur l'importation de certificats tiers dansACM, consultez la section Importation de certificats dans le guide de AWS Certificate Manager l'utilisateur.

À utiliser IAM en tant que gestionnaire de certificats uniquement lorsque vous devez prendre en charge HTTPS les connexions dans une région qui n'est pas prise en charge par ACM. IAMchiffre en toute sécurité vos clés privées et stocke la version cryptée dans le stockage de IAM SSL certificats. IAMprend en charge le déploiement de certificats de serveur dans toutes les régions, mais vous devez obtenir votre certificat auprès d'un fournisseur externe pour pouvoir l'utiliser avec AWS. Vous ne pouvez pas télécharger de ACM certificat versIAM. En outre, vous ne pouvez pas gérer vos certificats depuis la IAM console.

Pour plus d'informations sur le téléchargement de certificats tiers versIAM, consultez les rubriques suivantes.

Téléchargez un certificat de serveur (AWS API)

Pour télécharger un certificat de serveur surIAM, vous devez fournir le certificat et la clé privée correspondante. Si le certificat n'est pas auto-signé, vous devez également fournir une chaîne de certificats. (Vous n'avez pas besoin d'une chaîne de certificats lorsque vous chargez un certificat auto-signé.) Avant de charger un certificat, vérifiez que vous avez tous ces éléments et qu'ils répondent aux critères suivants :

  • Le certificat doit être valide au moment du chargement. Vous ne pouvez pas charger un certificat avant le début de sa période de validité (date NotBefore du certificat) ou après son expiration (date NotAfter du certificat).

  • La clé privée doit être non chiffrée. Vous ne pouvez pas charger une clé privée qui est protégée par un mot de passe ou une phrase passe. Pour obtenir de l'aide pour déchiffrer une clé privée chiffrée, consultez Résoudre les problèmes liés aux certificats de serveur.

  • Le certificat, la clé privée et la chaîne de certificats doivent tous être PEM codés. Pour obtenir de l'aide sur la conversion de ces éléments PEM au format, consultezRésoudre les problèmes liés aux certificats de serveur.

Pour utiliser le IAMAPIpour télécharger un certificat, envoyez une UploadServerCertificatedemande. L'exemple suivant montre comment procéder avec l'AWS Command Line Interface (AWS CLI). Dans cet exemple il est supposé que :

  • Le certificat PEM encodé est stocké dans un fichier nomméCertificate.pem.

  • La chaîne de certificats PEM encodée est stockée dans un fichier nomméCertificateChain.pem.

  • La clé privée non chiffrée PEM codée est stockée dans un fichier nommé. PrivateKey.pem

  • (Facultatif) Vous souhaitez baliser le certificat de serveur avec une paire clé-valeur. Par exemple, vous pouvez ajouter la clé de balise Department et la valeur de balise Engineering pour vous aider à identifier et organiser vos certificats.

Pour utiliser l'exemple de commande suivant, remplacez ces noms de fichier par les vôtres. Remplacez ExampleCertificate avec un nom pour le certificat que vous avez téléchargé. Si vous souhaitez étiqueter le certificat, remplacez ExampleKey and ExampleValue balisez une paire clé-valeur avec vos propres valeurs. Tapez la commande sur une seule ligne continue. L'exemple suivant inclut des sauts de ligne et des espaces supplémentaires pour en faciliter la lecture.

aws iam upload-server-certificate --server-certificate-name ExampleCertificate --certificate-body file://Certificate.pem --certificate-chain file://CertificateChain.pem --private-key file://PrivateKey.pem --tags '{"Key": "ExampleKey", "Value": "ExampleValue"}'

Lorsque la commande précédente aboutit, elle renvoie des métadonnées relatives au certificat chargé, notamment son Amazon Resource Name (ARN), son nom convivial, son identifiant (ID), sa date d'expiration, ses balises, etc.

Note

Si vous téléchargez un certificat de serveur à utiliser avec Amazon CloudFront, vous devez spécifier un chemin à l'aide de l'--pathoption. Le chemin doit commencer par /cloudfront et doit inclure une barre oblique de fin (par exemple, /cloudfront/test/).

AWS Tools for Windows PowerShell Pour télécharger un certificat, utilisez Publish- IAMServerCertificate.

AWS APIopérations pour les certificats de serveur

Utilisez les commandes suivantes pour afficher, étiqueter, renommer et supprimer les certificats de serveur.

  • GetServerCertificateÀ utiliser pour récupérer un certificat. Cette demande renvoie le certificat, la chaîne de certificats (si une chaîne de certificats a été téléchargée) et les métadonnées relatives au certificat.

    Note

    Vous ne pouvez pas télécharger ou récupérer une clé privée une IAM fois que vous l'avez chargée.

  • Utilisez Get- IAMServerCertificate pour récupérer un certificat.

  • ListServerCertificatesÀ utiliser pour répertorier les certificats de serveur que vous avez téléchargés. La demande renvoie une liste contenant les métadonnées relatives à chaque certificat.

  • Utilisez Get- IAMServerCertificates pour répertorier les certificats de serveur que vous avez téléchargés.

  • TagServerCertificateÀ utiliser pour étiqueter un certificat de serveur existant.

  • UntagServerCertificateÀ utiliser pour supprimer le balisage d'un certificat de serveur.

  • UpdateServerCertificateÀ utiliser pour renommer un certificat de serveur ou mettre à jour son chemin.

    L'exemple suivant montre comment procéder avec l’interface AWS CLI.

    Pour utiliser la commande suivante, remplacez les anciens et nouveaux noms de certificat et le chemin d'accès du certificat, et tapez la commande sur une seule ligne continue. L'exemple suivant inclut des sauts de ligne et des espaces supplémentaires pour en faciliter la lecture.

    aws iam update-server-certificate --server-certificate-name ExampleCertificate --new-server-certificate-name CloudFrontCertificate --new-path /cloudfront/

    AWS Tools for Windows PowerShell Pour renommer un certificat de serveur ou mettre à jour son chemin, utilisez Update- IAMServerCertificate.

  • DeleteServerCertificateÀ utiliser pour supprimer un certificat de serveur.

    AWS Tools for Windows PowerShell Pour supprimer un certificat de serveur, utilisez Remove- IAMServerCertificate.

Résoudre les problèmes liés aux certificats de serveur

Avant de télécharger un certificat versIAM, vous devez vous assurer que le certificat, la clé privée et la chaîne de certificats sont tous PEM codés. Vous devez également vous assurer que la clé privée est non chiffrée. Voir les exemples suivantes.

Exemple de PEM certificat codé
-----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE-----
Exemple de PEM clé privée codée et non chiffrée
-----BEGIN RSA PRIVATE KEY----- Base64-encoded private key -----END RSA PRIVATE KEY-----
Exemple de PEM chaîne de certificats codés

Une chaîne de certificats contient un ou plusieurs certificats. Vous pouvez utiliser un éditeur de texte, la commande copy sous Windows ou la commande cat Linux pour concaténer vos fichiers de certificats dans une chaîne. Lorsque vous incluez plusieurs certificats, chacun d'entre eux doit approuver le certificat précédent. Vous pouvez effectuer cette opération en concaténant les certificats, y compris le certificat d'autorité de certification racine en dernier.

L'exemple suivant contient trois certificats, mais votre chaîne de certificats peut en contenir plus ou moins.

-----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE-----

Si ces éléments ne sont pas dans le bon format pour le téléchargementIAM, vous pouvez utiliser Open SSL pour les convertir dans le bon format.

Pour convertir un certificat ou une chaîne de certificats DER de PEM

Utilisez la commande Open SSL x509, comme dans l'exemple suivant. Dans l'exemple de commande suivant, Certificate.der remplacez-le par le nom du fichier contenant votre certificat DER codé. Certificate.pemRemplacez-le par le nom préféré du fichier de sortie devant contenir le certificat PEM codé.

openssl x509 -inform DER -in Certificate.der -outform PEM -out Certificate.pem

 

Pour convertir une clé privée DER de PEM

Utilisez la commande Open SSL rsa, comme dans l'exemple suivant. Dans l'exemple de commande suivant, PrivateKey.der remplacez-le par le nom du fichier DER contenant votre clé privée codée. PrivateKey.pemRemplacez-le par le nom préféré du fichier de sortie devant contenir la clé privée PEM codée.

openssl rsa -inform DER -in PrivateKey.der -outform PEM -out PrivateKey.pem

 

Pour déchiffrer une clé privée chiffrée (supprimer le mot de passe ou la phrase de passe)

Utilisez la commande Open SSL rsa, comme dans l'exemple suivant. Pour utiliser la commande suivante, remplacez EncryptedPrivateKey.pem par le nom du fichier qui contient votre clé privée chiffrée. PrivateKey.pemRemplacez-le par le nom préféré du fichier de sortie devant contenir la clé privée non PEM chiffrée codée.

openssl rsa -in EncryptedPrivateKey.pem -out PrivateKey.pem

 

Pour convertir un ensemble de certificats de PKCS #12 (PFX) en PEM

Utilisez la commande Open SSL pkcs12, comme dans l'exemple suivant. Dans l'exemple de commande suivant, CertificateBundle.p12 remplacez-le par le nom du fichier contenant votre ensemble de certificats codés PKCS #12. CertificateBundle.pemRemplacez-le par le nom préféré du fichier de sortie devant contenir le bundle de certificats PEM codés.

openssl pkcs12 -in CertificateBundle.p12 -out CertificateBundle.pem -nodes

 

Pour convertir un bundle de certificats de PKCS #7 en PEM

Utilisez la commande Open SSL pkcs7, comme dans l'exemple suivant. Dans l'exemple de commande suivant, CertificateBundle.p7b remplacez-le par le nom du fichier contenant votre ensemble de certificats codés PKCS #7. CertificateBundle.pemRemplacez-le par le nom préféré du fichier de sortie devant contenir le bundle de certificats PEM codés.

openssl pkcs7 -in CertificateBundle.p7b -print_certs -out CertificateBundle.pem