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.
Gestion des certificats de serveur dans IAM
Pour activer les connexions HTTPS à votre site Web ou à votre application AWS, vous avez besoin d'un certificat de serveur SSL/TLS. Pour les certificats dans une région prise en charge par AWS Certificate Manager (ACM), nous vous recommandons d'utiliser ACM pour allouer, gérer et déployer vos certificats de serveur. Dans les régions non prises en charge, vous devez utiliser IAM en tant que gestionnaire de certificats. Pour savoir quelles régions sont prises en charge par ACM, consultez Points de terminaison et quotas AWS Certificate Manager (français non garanti) dans Références générales AWS.
ACM est l'outil préféré pour mettre en service, gérer et déployer vos certificats de serveur. Avec ACM, vous pouvez demander un certificat ou déployer un certificat ACM existant ou un certificat externe sur les AWS ressources. Les certificats fournis par ACM sont gratuits et renouvelés automatiquement. Dans une région prise en charge, vous pouvez utiliser ACM pour gérer des certificats de serveur depuis la console ou par programmation. Pour plus d'informations sur l'utilisation d'ACM, consultez le Guide de l'utilisateur AWS Certificate Manager . Pour plus d'informations sur la demande d'un certificat ACM, consultez Demander un certificat public ou Demander in certificat privé dans le Guide de l'utilisateur AWS Certificate Manager . Pour plus d'informations sur l'importation de certificats tiers dans ACM, consultez Importation de certificats dans le Guide de l’utilisateur AWS Certificate Manager .
Utilisez IAM comme gestionnaire de certificats uniquement lorsque vous devez prendre en charge des connexions HTTPS dans une région non prise en charge par ACM. IAM chiffre en toute sécurité vos clés privées et stocke la version chiffrée dans le magasin de certificats SSL IAM. IAM prend 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 certificat ACM dans IAM. De plus, vous ne pouvez pas gérer vos certificats depuis la console IAM.
Pour plus d'informations sur le chargement de certificats tiers dans IAM, consultez les rubriques suivantes.
Table des matières
- Téléchargement d'un certificat de serveur (AWS API)
- Récupération d'un certificat de serveur (AWS API)
- Liste des certificats de serveur (AWS API)
- Ajout et suppression de balises pour les certificats de serveur (API AWS )
- Modification du nom d'un certificat de serveur ou mise à jour de son chemin (AWS API)
- Supprimer un certificat de serveur (AWS API)
- Résolution des problèmes
Téléchargement d'un certificat de serveur (AWS API)
Pour télécharger un certificat de serveur dans IAM, vous devez fournir le certificat et sa 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 (dateNotAfter
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ésolution des problèmes.
-
Le certificat, la clé privée et la chaîne de certificats doivent être codés PEM. Pour obtenir de l'aide pour convertir ces éléments au format PEM, consultez Résolution des problèmes.
Pour utiliser l'API IAM afin de télécharger un certificat, envoyez une UploadServerCertificatedemande. L'exemple suivant montre comment procéder avec l'AWS Command Line Interface (AWS CLI)
-
Le certificat codé en PEM est stocké dans un fichier nommé
Certificate.pem
. -
La chaîne de certificats codée en PEM est stockée dans un fichier nommé
CertificateChain.pem
. -
La clé privée non chiffrée, codée en PEM 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 baliseEngineering
pour vous aider à identifier et organiser vos certificats.
Pour utiliser l'exemple de commande suivant, remplacez ces noms de fichier par les vôtres. ExampleCertificate
Remplacez-le par un nom pour le certificat que vous avez téléchargé. Si vous souhaitez étiqueter le certificat, remplacez la paire clé-valeur ExampleKey
and ExampleValue
tag par 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é, y compris 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'--path
option. 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 ServerCertificatePublish-IAM.
Récupération d'un certificat de serveur (AWS API)
Pour utiliser l'API IAM afin de récupérer un certificat, envoyez une GetServerCertificatedemande. L'exemple suivant montre comment procéder avec l'interface AWS CLI. Remplacez ExampleCertificate
par le nom du certificat à récupérer.
aws iam get-server-certificate --server-certificate-name
ExampleCertificate
Lorsque la commande précédente aboutit, elle renvoie le certificat, la chaîne de certificats (si une chaîne de certificats a été chargée) et des métadonnées relatives au certificat.
Note
Vous ne pouvez pas télécharger ou récupérer une clé privée depuis IAM après l'avoir téléchargée.
AWS Tools for Windows PowerShell Pour récupérer un certificat, utilisez Get-IAM ServerCertificate.
Liste des certificats de serveur (AWS API)
Pour utiliser l'API IAM afin de répertorier les certificats de serveur que vous avez téléchargés, envoyez une ListServerCertificatesdemande. L'exemple suivant montre comment procéder avec l’interface AWS CLI.
aws iam list-server-certificates
Lorsque la commande précédente aboutit, elle renvoie une liste qui contient les métadonnées relatives à chaque certificat.
Pour répertorier les certificats AWS Tools for Windows PowerShell de serveur que vous avez téléchargés, utilisez Get-IAM ServerCertificates.
Ajout et suppression de balises pour les certificats de serveur (API AWS )
Vous pouvez attacher des balises à vos ressources IAM afin d'organiser et de contrôler leur accès. Pour utiliser l'API IAM afin de baliser un certificat de serveur existant, envoyez une TagServerCertificatedemande. L'exemple suivant montre comment procéder avec l’interface AWS CLI.
aws iam tag-server-certificate --server-certificate-name
ExampleCertificate
--tags '{"Key": "ExampleKey
", "Value": "ExampleValue
"}'
Lorsque la commande précédente aboutit, aucune sortie n'est renvoyée.
Pour utiliser l'API IAM afin de supprimer le balisage d'un certificat de serveur, envoyez une UntagServerCertificatedemande. L'exemple suivant montre comment procéder avec l’interface AWS CLI.
aws iam untag-server-certificate --server-certificate-name
ExampleCertificate
--tag-keysExampleKeyName
Lorsque la commande précédente aboutit, aucune sortie n'est renvoyée.
Modification du nom d'un certificat de serveur ou mise à jour de son chemin (AWS API)
Pour utiliser l'API IAM afin de renommer un certificat de serveur ou de mettre à jour son chemin, envoyez une UpdateServerCertificatedemande. 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-nameCloudFrontCertificate
--new-path/cloudfront/
Lorsque la commande précédente aboutit, elle ne renvoie pas de sortie.
Pour renommer un certificat AWS Tools for Windows PowerShell de serveur ou mettre à jour son chemin, utilisez ServerCertificateUpdate-IAM.
Supprimer un certificat de serveur (AWS API)
Pour utiliser l'API IAM afin de supprimer un certificat de serveur, envoyez une DeleteServerCertificatedemande. L'exemple suivant montre comment procéder avec l'interface AWS CLI.
Pour utiliser l'exemple de commande suivant, ExampleCertificate
remplacez-le par le nom du certificat à supprimer.
aws iam delete-server-certificate --server-certificate-name
ExampleCertificate
Lorsque la commande précédente aboutit, elle ne renvoie pas de sortie.
Pour supprimer un certificat AWS Tools for Windows PowerShell de serveur, utilisez ServerCertificateRemove-IAM.
Résolution des problèmes
Pour pouvoir charger un certificat vers IAM, vous devez vous assurer que le certificat, la clé privée et la chaîne de certificats sont tous codés PEM. Vous devez également vous assurer que la clé privée est non chiffrée. Voir les exemples suivantes.
Exemple de certificat codé PEM
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
Exemple Clé privée non chiffrée codée PEM
-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----
Exemple Chaîne de certificats codée PEM
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 au bon format pour le téléchargement vers IAM, vous pouvez utiliser OpenSSL
- Pour convertir un certificat ou une chaîne de certificats DER en PEM
-
Utilisez la commande OpenSSL x509
, comme dans l'exemple suivant. Dans la commande suivante, remplacez
par le nom du fichier qui contient votre certificat codé DER. RemplacezCertificate.der
par le nom préféré du fichier de sortie devant contenir le certificat codé PEM.Certificate.pem
openssl x509 -inform DER -in
Certificate.der
-outform PEM -outCertificate.pem
- Pour convertir une clé privée de DER en PEM
-
Utilisez la commande OpenSSL rsa
, comme dans l'exemple suivant. Dans la commande suivante, remplacez
par le nom du fichier qui contient votre clé privée codée DER. RemplacezPrivateKey.der
par le nom préféré du fichier de sortie devant contenir la clé privée codée PEM.PrivateKey.pem
openssl rsa -inform DER -in
PrivateKey.der
-outform PEM -outPrivateKey.pem
- Pour déchiffrer une clé privée chiffrée (supprimer le mot de passe ou la phrase de passe)
-
Utilisez la commande OpenSSL rsa
, comme dans l'exemple suivant. Pour utiliser la commande suivante, remplacez
par le nom du fichier qui contient votre clé privée chiffrée. RemplacezEncryptedPrivateKey.pem
par le nom préféré du fichier de sortie devant contenir la clé privée non chiffrée codée PEM.PrivateKey.pem
openssl rsa -in
EncryptedPrivateKey.pem
-outPrivateKey.pem
- Pour convertir un ensemble de certificats de PKCS#12 (PFX) en PEM
-
Utilisez la commande OpenSSL pkcs12
, comme dans l'exemple suivant. Dans la commande suivante, remplacez
par le nom du fichier qui contient votre ensemble de certificats codé PKCS#12. RemplacezCertificateBundle.p12
par le nom préféré du fichier de sortie devant contenir l'ensemble de certificats codé PEM.CertificateBundle.pem
openssl pkcs12 -in
CertificateBundle.p12
-outCertificateBundle.pem
-nodes - Pour convertir un ensemble de certificats de PKCS#7 en PEM
-
Utilisez la commande OpenSSL pkcs7
, comme dans l'exemple suivant. Dans la commande suivante, remplacez
par le nom du fichier qui contient votre ensemble de certificats codé PKCS#7. RemplacezCertificateBundle.p7b
par le nom préféré du fichier de sortie devant contenir l'ensemble de certificats codé PEM.CertificateBundle.pem
openssl pkcs7 -in
CertificateBundle.p7b
-print_certs -outCertificateBundle.pem