Gestisci i certificati del server in IAM - AWS Identity and Access Management

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestisci i certificati del server in IAM

Per abilitare HTTPS le connessioni al sito Web o all'applicazione in AWS, è necessario un certificatoSSL/TLSserver. Per i certificati in una regione supportata da AWS Certificate Manager (ACM), si consiglia di utilizzarli ACM per il provisioning, la gestione e la distribuzione dei certificati del server. Nelle regioni non supportate, è necessario utilizzarlo IAM come gestore di certificati. Per sapere quali regioni sono ACM supportate, consulta AWS Certificate Manager endpoint e quote in. Riferimenti generali di AWS

Importante

ACMè lo strumento preferito per fornire, gestire e distribuire i certificati del server. Con ACM puoi richiedere un certificato o distribuire un certificato esistente ACM o esterno alle AWS risorse. I certificati forniti da ACM sono gratuiti e si rinnovano automaticamente. In una regione supportata, è possibile utilizzarli ACM per gestire i certificati del server dalla console o a livello di programmazione. Per ulteriori informazioni sull'utilizzoACM, consulta la Guida per l'AWS Certificate Manager utente. Per ulteriori informazioni sulla richiesta di un ACM certificato, consulta Richiedere un certificato pubblico o Richiedere un certificato privato nella Guida per l'AWS Certificate Manager utente. Per ulteriori informazioni sull'importazione di certificati di terze partiACM, vedere Importazione di certificati nella Guida per l'AWS Certificate Manager utente.

IAMUtilizzalo come gestore di certificati solo quando devi supportare HTTPS connessioni in una regione che non è supportata da. ACM IAMcrittografa in modo sicuro le chiavi private e archivia la versione crittografata nell'archivio dei IAM SSL certificati. IAMsupporta la distribuzione di certificati server in tutte le regioni, ma è necessario ottenere il certificato da un provider esterno per utilizzarlo con. AWS Non è possibile caricare un ACM certificato su. IAM Inoltre, non puoi gestire i tuoi certificati dalla IAM Console.

Per ulteriori informazioni sul caricamento di certificati di terze parti suIAM, consulta i seguenti argomenti.

Carica un certificato del server ()AWS API

Per caricare un certificato del serverIAM, è necessario fornire il certificato e la chiave privata corrispondente. Quando il certificato non è autofirmato, è necessario fornire anche una catena di certificati. (La catena di certificati non necessaria se si carica un certificato autofirmato). Prima di caricare un certificato, assicurarsi di disporre di tutti questi elementi e di soddisfare i seguenti criteri:

  • Il certificato deve essere valido al momento del caricamento. Non è possibile caricare un certificato prima dell'inizio del periodo di validità NotBefore o dopo la data di scadenza (la data NotAfter del certificato).

  • La chiave di accesso non deve essere crittografata. Non è possibile caricare una chiave di accesso privata protetta da password o da passphrase. Per informazioni sulla decodifica di una chiave privata crittografata, consultare Risolvi i problemi relativi ai certificati del server.

  • Il certificato, la chiave privata e la catena di certificati devono essere tutti PEM codificati. Per informazioni sulla conversione di questi elementi in PEM formato, consulta. Risolvi i problemi relativi ai certificati del server

Per IAMAPIutilizzarlo per caricare un certificato, invia una UploadServerCertificaterichiesta. L'esempio seguente mostra come eseguire questa operazione con l'AWS Command Line Interface (AWS CLI). L'esempio presuppone quanto segue:

  • Il certificato PEM con codifica è archiviato in un file denominato. Certificate.pem

  • La catena di certificati PEM -encoded è memorizzata in un file denominato. CertificateChain.pem

  • La chiave privata non PEM crittografata con codifica è memorizzata in un file denominato. PrivateKey.pem

  • (Facoltativo) Desideri applicare un tag al certificato del server con una coppia chiave-valore. Ad esempio, è possibile aggiungere la chiave tag Department e il valore tag Engineering per facilitare l'identificazione e l'organizzazione dei certificati.

Per utilizzare il seguente comando esemplificativo, sostituisci questi nomi di file con il tuo. Replace (Sostituisci) ExampleCertificate con un nome per il certificato caricato. Se vuoi etichettare il certificato, sostituisci il ExampleKey e ExampleValue etichetta la coppia chiave-valore con i tuoi valori. Digitare il comando su una linea continua. L'esempio seguente include interruzioni di linea e spazi aggiuntivi per agevolare la lettura.

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"}'

Quando il comando precedente ha esito positivo, restituisce i metadati sul certificato caricato, tra cui Amazon Resource Name (ARN), il nome descrittivo, l'identificatore (ID), la data di scadenza, i tag e altro ancora.

Nota

Se stai caricando un certificato server da utilizzare con Amazon CloudFront, devi specificare un percorso utilizzando l'--pathopzione. Il percorso deve iniziare con /cloudfront e devono includere una barra finale (ad esempio, /cloudfront/test/).

Per utilizzare l'opzione AWS Tools for Windows PowerShell per caricare un certificato, usa Publish- IAMServerCertificate.

AWS APIoperazioni per i certificati del server

Utilizzate i seguenti comandi per visualizzare, etichettare, rinominare ed eliminare i certificati del server.

  • Utilizzare GetServerCertificateper recuperare un certificato. Questa richiesta restituisce il certificato, la catena di certificati (se ne è stata caricata una) e i metadati relativi al certificato.

    Nota

    Non è possibile scaricare o recuperare una chiave privata IAM dopo averla caricata.

  • Usa Get- IAMServerCertificate per recuperare un certificato.

  • Utilizzalo ListServerCertificatesper elencare i certificati del server caricati. La richiesta restituisce un elenco che contiene i metadati relativi a ciascun certificato.

  • Usa Get- IAMServerCertificates per elencare i certificati del server caricati.

  • Utilizza TagServerCertificateper etichettare un certificato server esistente.

  • Utilizzato UntagServerCertificateper rimuovere i tag da un certificato server.

  • Utilizzato UpdateServerCertificateper rinominare un certificato del server o aggiornarne il percorso.

    L'esempio seguente mostra come eseguire questa operazione con l' AWS CLI.

    Per utilizzare il seguente comando di esempio, sostituire i nomi dei certificati precedenti e nuovi e il percorso del certificato e digitare il comando su una riga continua. L'esempio seguente include interruzioni di linea e spazi aggiuntivi per agevolare la lettura.

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

    Per utilizzare il AWS Tools for Windows PowerShell per rinominare un certificato del server o aggiornarne il percorso, utilizzare Update -. IAMServerCertificate

  • Utilizzare DeleteServerCertificateper eliminare un certificato del server.

    Per utilizzare il AWS Tools for Windows PowerShell per eliminare un certificato del server, utilizzare Remove- IAMServerCertificate.

Risolvi i problemi relativi ai certificati del server

Prima di caricare un certificato suIAM, devi assicurarti che il certificato, la chiave privata e la catena di certificati siano tutti PEM codificati. È inoltre necessario assicurarsi che la chiave privata non sia crittografata. Fare riferimento agli esempi riportati di seguito.

Esempio PEM di certificato con codifica
-----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE-----
Esempio di chiave PEM privata non crittografata con codifica
-----BEGIN RSA PRIVATE KEY----- Base64-encoded private key -----END RSA PRIVATE KEY-----
Esempio PEM di catena di certificati con codifica

Una catena di certificati contiene uno o più certificati. Puoi utilizzare un editor di testo, il comando di copia in Windows, oppure il comando Linux cat per concatenare i tuoi file del certificato in una catena. Quando includi più certificati, ogni certificato deve certificare il certificato precedente. Puoi farlo concatenando i certificati, incluso il certificato CA radice per ultimo.

L'esempio seguente contiene tre certificati, ma la catena di certificati può contenerne un numero maggiore o minore di certificati.

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

Se questi elementi non sono nel formato corretto per il caricamentoIAM, puoi utilizzare Open SSL per convertirli nel formato corretto.

Per convertire un certificato o una catena di certificati da a DER PEM

Utilizzate il comando Open SSL x509, come nell'esempio seguente. Nel comando di esempio seguente, sostituiscilo Certificate.der con il nome del file che contiene il tuo certificato DER -encoded. Sostituisci Certificate.pem con il nome preferito del file di output per contenere il certificato PEM -encoded.

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

 

Per convertire una chiave privata da a DER PEM

Utilizzate il comando Open SSL rsa, come nell'esempio seguente. Nel comando di esempio seguente, sostituitelo PrivateKey.der con il nome del file che contiene la chiave privata con DER codifica. Sostituisci PrivateKey.pem con il nome preferito del file di output per contenere la chiave privata PEM -encoded.

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

 

Per decrittografare una chiave privata crittografata (rimuovere la password o la passphrase)

Utilizzate il comando Open SSL rsa, come nell'esempio seguente. Per utilizzare il seguente comando di esempio, sostituire EncryptedPrivateKey.pem con il nome del file che contiene la chiave privata crittografata. Sostituitelo PrivateKey.pem con il nome preferito del file di output per contenere la chiave privata non PEM crittografata con codifica.

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

 

Per convertire un pacchetto di certificati da PKCS #12 () a PFX PEM

Utilizzate il comando Open SSL pkcs12, come nell'esempio seguente. Nel comando di esempio seguente, sostituitelo CertificateBundle.p12 con il nome del file che contiene il pacchetto di certificati con codifica PKCS #12. CertificateBundle.pemSostituiscilo con il nome preferito del file di output per contenere il pacchetto di certificati PEM -encoded.

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

 

Per convertire un pacchetto di certificati da #7 a PKCS PEM

Utilizzate il comando Open SSL pkcs7, come nell'esempio seguente. Nel comando di esempio seguente, sostituitelo CertificateBundle.p7b con il nome del file che contiene il pacchetto di certificati con codifica PKCS #7. CertificateBundle.pemSostituiscilo con il nome preferito del file di output per contenere il pacchetto di certificati PEM -encoded.

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