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à.
AWSFornitore di credenziali per il carico di lavoro
Il AWS Workload Credentials Provider automatizza l'uso di certificati TLS pubblici e privati esportati da ACM. Il provider recupera periodicamente i certificati e le relative chiavi private, li scrive in percorsi configurati e, facoltativamente, esegue un comando per ricaricare i servizi dipendenti come i server Web.
È possibile utilizzare il Workload Credentials Provider con i seguenti ambienti di calcolo:
-
Amazon Elastic Compute Cloud (Amazon EC2)
-
On-premises server con credenziali AWS
Il Workload Credentials Provider utilizza il presupposto del ruolo IAM per recuperare i certificati. Funziona nativamente come servizio di sistema su Linux e Windows con un utente dedicato con privilegi limitati e scrive file di certificato con autorizzazioni limitate.
Importante
Con questo provider è possibile utilizzare solo certificati esportabili. Per ulteriori informazioni, consulta AWS Certificate Manager certificati pubblici esportabili Esportazione di un certificato privato.
Il AWS Workload Credentials Provider è open source. Per il codice sorgente e i contributi, consulta il GitHub repository.
Come funziona l'automazione dei certificati
Il provider utilizza uno scheduler che aggiorna ogni certificato configurato a intervalli fissi:
-
L'intervallo di aggiornamento è di 24 ore.
-
In ogni ciclo, il provider esporta il certificato, lo confronta con i file su disco e scrive nuovi file solo se il contenuto è cambiato.
-
Quando i file di certificato vengono aggiornati, il file configurato
refresh_commandviene eseguito (ad esempio, per ricaricare NGINX o Apache). -
Se il contenuto del certificato non è cambiato, il comando refresh viene ignorato.
Il provider esegue un aggiornamento iniziale a ogni avvio del sistema e subito dopo l'avvio del servizio, con un piccolo jitter casuale per evitare chiamate API sincronizzate quando più provider avviano contemporaneamente in tutto il parco macchine.
Il provider supporta anche il ricaricamento dinamico della configurazione, che consente di aggiungere, rimuovere o modificare i certificati senza reinstallarli. Per ulteriori informazioni, consulta Ricaricamento dinamico della configurazione.
Prerequisiti
Prima di installare il provider, assicurati di disporre di quanto segue:
-
Un'istanza Linux con systemd (Amazon Linux 2023, Ubuntu 20.04+ o RHEL 8+)
-
Oppure un'istanza Windows che esegue Windows Server 2016 o versione successiva con 5.1 o versione successiva PowerShell
-
Accesso da amministratore per eseguire il programma di installazione
-
Un certificato esportabile in ACM
-
Un ruolo IAM con autorizzazioni di esportazione ACM (vedi) Autorizzazioni richieste
-
AWScredenziali disponibili sull'istanza (profilo dell'istanza, variabili di ambiente o file di credenziali)
Installa il provider
Configurare il provider
Crea un file di configurazione TOML con i dettagli del tuo certificato. Il programma di installazione copia questo file in /etc/aws-workload-credentials-provider/config.toml quando si utilizza l'--configopzione.
Nota
Quando chain_path viene omessa, la catena di certificati viene aggiunta al file in per produrre un file certificate_path a catena completa. Ciò è compatibile con i server Web che prevedono un singolo file contenente il certificato e la relativa catena.
Ricaricamento dinamico della configurazione
È possibile aggiornare la configurazione del provider senza reinstallarla eseguendo il acm reload comando. Ciò convalida la nuova configurazione, aggiorna le autorizzazioni in modo che corrispondano ai nuovi percorsi dei certificati e riavvia il servizio.
I certificati rimossi dalla configurazione non vengono più aggiornati. I nuovi certificati iniziano immediatamente la loro prima esportazione. Ogni certificato viene eseguito come attività indipendente, quindi l'eventuale fallimento di uno di essi non influisce sugli altri.
Autorizzazioni richieste
Credenziali di base
Le credenziali di base del provider (profilo o ambiente di istanza) devono essere in grado di assumere il ruolo specificato in ogni certificato: role_arn
{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123456789012:role/ACMExportRole" }
Ruolo di esportazione dei certificati
Il ruolo specificato in role_arn richiede le seguenti autorizzazioni:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "acm:ExportCertificate", "Resource": "arn:aws:acm:us-west-2:123456789012:certificate/*" } ] }
La politica di fiducia del ruolo deve consentire all'identità di base del provider di assumerla:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/EC2InstanceRole" }, "Action": "sts:AssumeRole" } ] }
Aggiorna le autorizzazioni dei comandi (Linux)
Su Linux, il provider esegue il file configurato tramite. refresh_command sudo Il programma di installazione genera una voce sudoers /etc/sudoers.d/aws-workload-credentials-provider che consente all'utente del provider di eseguire l'esatto comando configurato senza richiedere la password.
Importante
Assicurati che includa la directory. /etc/sudoers /etc/sudoers.d L'installatore avvisa se questa direttiva di inclusione non è presente. Senza di essa, il file sudoers generato non ha effetto e i comandi di aggiornamento falliranno.
In Windows, il provider attiva l'operazione refresh_command come operazione pianificata dal SISTEMA.
Verifica dell'installazione
Dopo l'installazione, verifica che il provider sia in esecuzione e che i certificati siano in fase di scrittura:
Informazioni di riferimento sulla configurazione
| Campo | Obbligatorio | Predefinita | Description |
|---|---|---|---|
logging.log_level |
No | info |
Verbosità della registrazione:debug,,, info warn error none |
logging.log_to_file |
No | true |
Scrivi i log su file () o () true stdout/stderr false |
capabilities.acm.enabled |
No | false |
Abilita o disabilita la funzionalità ACM |
certificates[].certificate_arn |
Sì | — | ARN del certificato ACM da esportare |
certificates[].role_arn |
Sì | — | Ruolo IAM ARN da assumere per la chiamata ExportCertificate |
certificates[].certificate_path |
Sì | — | Percorso assoluto per scrivere il file del certificato |
certificates[].private_key_path |
Sì | — | Percorso assoluto per scrivere il file della chiave privata |
certificates[].chain_path |
No | — | Percorso assoluto per scrivere la catena di certificati. Se omesso, la catena viene aggiunta a certificate_path |
certificates[].refresh_command |
No | — | Comando da eseguire dopo l'aggiornamento dei file di certificato. Deve essere un percorso assoluto |
certificates[].certificate_and_chain_permission |
No | 0600 |
Autorizzazioni di accesso ai file cert e chain (formato Linuxmode) |
certificates[].key_permission |
No | 0600 |
Autorizzazioni per il file con chiave privata (formato Linux) mode |
Registrazione dei log
Su Linux, il provider accede a. /opt/aws/workload-credentials-provider/logs/acm_provider.log
In Windows, il provider accede a. C:\ProgramData\AWS\WorkloadCredentialsProvider\logs\acm_provider.log Gli eventi di avvio e arresto del servizio vengono registrati anche nel registro eventi dell'applicazione Windows sotto l'origineAWSWorkloadCredentialsProvider-ACM.
Rotazione del registro: il provider crea un nuovo file di registro quando il file corrente raggiunge i 10 MB e archivia fino a cinque file di registro archiviati.
AWSregistrazione del servizio: quando il provider chiamaExportCertificate, tale chiamata viene registrata AWS CloudTrail con una stringa di agente utente contenente. aws-workload-credentials-provider Le operazioni interne del provider (cicli di pianificazione, scritture di file) vengono visualizzate solo nel registro locale.
È possibile configurare la registrazione con le impostazioni log_level elog_to_file. Per ulteriori informazioni, consulta Informazioni di riferimento sulla configurazione.