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à.
Protezione AWS IAM Roles Anywhere con un certificato privato
Barnali Singh, Amazon Web Services
Riepilogo
Questo modello dimostra come implementare AWS IAM Roles Anywhere with AWS Autorità di certificazione privata (CA privata AWS) per abilitare l'autenticazione sicura e basata su certificati per carichi di lavoro esterni che accedono alle risorse. AWS La soluzione elimina la necessità di chiavi di accesso a lungo termine utilizzando X.509 certificati per ottenere credenziali temporanee. AWS Si tratta di un modello di sicurezza nativo del cloud che include l'automazione completa tramite AWS CloudFormation modelli e script di shell, che consente alle organizzazioni di implementare rapidamente l'autenticazione ibrida sicura per applicazioni, CI/CD pipeline e sistemi esterni locali.
Prerequisiti e limitazioni
Prerequisiti
Per l'implementazione dell'infrastruttura:AWS
AWS CLI installato e configurato con autorizzazioni amministrative
Autorizzazioni amministrative per IAM e IAM Roles Anywhere servizi CA privata AWS
Per la configurazione del sistema client:
AWS CLI installato sul sistema client con queste autorizzazioni:
acm-pca:IssueCertificateacm-pca:GetCertificate
OpenSSL installato sul sistema client
AWS Signing Helper installato su ogni sistema client
Conoscenza di base dei X.509 certificati e dei concetti della PKI
Nota
Il CloudFormation modello gestisce automaticamente la creazione di AWS risorse. OpenSSL è necessario solo sui sistemi esterni che utilizzeranno i certificati per accedere alle risorse. AWS
Limitazioni
Il periodo di validità del certificato è limitato a un massimo di 10 anni per la CA principale
Ruota regolarmente i certificati client. Ti consigliamo di farlo almeno una volta all'anno.
Limitazione regionale: fidatevi delle ancore e CA privata AWS dovete appartenere alla stessa AWS regione
Dimensione massima del certificato: 16 KB per i certificati client
Versioni del prodotto
AWS CLI versione 2.0 o successiva
OpenSSL 1.1.1 o versione successiva
AWS Signing Helper 1.4.0 o versione successiva
CA privata AWS, versione attuale
IAM Roles Anywhere e, versione attuale
Architecture
Stack tecnologico Target
• CA privata AWS - Root CA per l'emissione di certificati
• IAM Roles Anywhere - servizio di assunzione di Certificate-based ruoli
• Ruoli e politiche IAM: controllo degli accessi e autorizzazioni
• AWS Signing Helper: strumento per il recupero Client-side delle credenziali
• OpenSSL: generazione di certificati e chiavi
• CloudFormation - Automazione dell'infrastruttura
Architettura di destinazione

Figura 1 Autenticazione basata su IAM Roles Anywhere certificati
L'architettura è composta da:
Certificato attuale: il sistema esterno presenta il X.509 certificato a AWS
Autentica: IAM Roles Anywhere riceve il certificato e avvia l'autenticazione
Verifica: Trust Anchor verifica il certificato confrontandolo con autorità di certificazione attendibili
Convalida: CA privata AWS convalida l'autenticità e lo stato del certificato
Certificato valido: CA privata AWS conferma che il certificato è valido e attendibile
Assumi ruolo: IAM Roles Anywhere consente al sistema esterno di assumere il ruolo IAM configurato
Concedi l'accesso: il sistema esterno riceve credenziali temporanee per accedere alle risorse AWS
Automazione e scalabilità
Questo modello include l'automazione completa attraverso:
• CloudFormation modello per il provisioning AWS delle risorse con autorizzazioni IAM configurabili
• Script di shell per la generazione di certificati e la configurazione del client
• Configurazione parametrizzata per più ambienti e politiche IAM personalizzate
• Generazione di certificati in batch per più client
• Installazione e configurazione automatizzate dell'helper per le credenziali
Flusso di lavoro
Stabilisci i AWS servizi di base necessari per l'autenticazione basata su certificati utilizzando. IAM Roles Anywhere
Crea e configura certificati e strumenti di autenticazione lato client per un accesso sicuro. AWS
Verifica la funzionalità di autenticazione basata sui certificati e stabilisci il monitoraggio delle operazioni in corso.
Tools (Strumenti)
• CloudFormation - Automatizza la creazione di PCA, Trust Anchor, IAM Role e Profile
• AWS CLI - Command-line interfaccia per l'interazione con i servizi AWS
• OpenSSL: genera richieste di firma dei certificati e gestisce i certificati
• AWS Signing Helper: scambia certificati con credenziali temporanee AWS
• Bash/shell Script: automatizza il processo di configurazione completo
Archivio di codice
AWS IAM Roles Anywhere con autorità di certificazione privata
Best practice
Configura le politiche IAM in base al principio del privilegio minimo utilizzando
--iam-policies parameterRuota regolarmente i certificati client. Ti consigliamo di farlo ogni anno.
Utilizza una solida convalida dei certificati nelle politiche di fiducia
Implementa procedure di revoca dei certificati
Monitora le date di scadenza dei certificati
Epiche
| Operazione | Description | Competenze richieste |
|---|---|---|
Implementa l'CloudFormationinfrastruttura | Crea e distribuisci il CloudFormation modello che fornisce tutte le AWS risorse necessarie CA privata AWS, tra cui Trust Anchor, ruolo IAM con politiche e profilo appropriati. IAM Roles Anywhere Configura i parametri per la denominazione dei progetti, i periodi di validità dei certificati, la durata delle sessioni e gli allegati delle policy IAM per stabilire le fondamenta dell'infrastruttura di base. | Architetto del cloud, ingegnere DevOps |
Configura la configurazione dell'autorità di certificazione | Inizializza CA privata AWS installando il certificato principale, configurando i modelli di certificato e stabilendo la catena di fiducia dei certificati. Imposta i periodi di validità dei certificati, gli algoritmi chiave e le estensioni dei certificati necessari per IAM Roles Anywhere l'autenticazione per garantire un'infrastruttura PKI adeguata. | Amministratore AWS, amministratore cloud |
Convalida la configurazione delle risorse &AWS; | Esegui una convalida completa di tutte le AWS risorse distribuite per garantire una configurazione e una connettività corrette. Verifica che Trust Anchor sia collegato correttamente CA privata AWS, che il ruolo IAM disponga delle autorizzazioni appropriate, che il profilo sia configurato correttamente e che tutte le risorse siano pronte per i flussi di lavoro di autenticazione basati su active/ready certificati. | Amministratore di sistema AWS, tecnico di test |
| Operazione | Description | Competenze richieste |
|---|---|---|
Preparare l'ambiente del cliente | Configura l'ambiente client rendendo eseguibili gli script di distribuzione e garantendo le autorizzazioni appropriate. Configura il sistema locale con gli strumenti e le dipendenze necessari, verifica l'accessibilità degli script e getta le basi per i processi di generazione e distribuzione dei certificati. | DevOps ingegnere, amministratore di sistema AWS |
Genera una richiesta di firma del certificato | Crea una richiesta di firma del certificato (CSR) per il sistema client utilizzando OpenSSL o strumenti equivalenti. Configura i parametri del certificato, tra cui informazioni sull'oggetto, algoritmi chiave ed estensioni dei certificati. Assicurati che la CSR soddisfi CA privata AWS i requisiti e contenga i metadati appropriati per l'autenticazione. IAM Roles Anywhere | Amministratore del cloud, ingegnere DevOps |
Emetti il certificato del cliente tramite CA privata AWS | Elabora la CSR CA privata AWS per emettere un certificato client valido. Configura i periodi di validità dei certificati, i modelli di certificato e assicurati che la catena di certificati venga stabilita correttamente. Verifica l'emissione del certificato e scarica il certificato firmato per la distribuzione sul client. | Amministratore AWS, architetto cloud |
| Operazione | Description | Competenze richieste |
|---|---|---|
Ottieni AWS credenziali temporanee | Esegui lo script di supporto alle credenziali per recuperare AWS le credenziali temporanee utilizzando il certificato client configurato e la chiave privata. Verifica che il processo di recupero delle credenziali funzioni correttamente, convalida il formato e i tempi di scadenza delle credenziali e assicurati la corretta integrazione con il servizio per flussi di lavoro di autenticazione senza interruzioni. IAM Roles Anywhere | DevOps ingegnere, amministratore di sistema AWS |
Verifica l'accesso alle AWS risorse | Esegui test completi dell'accesso alle AWS risorse utilizzando le credenziali temporanee ottenute. Esegui vari AWS CLI comandi e chiamate API per verificare la connettività ai servizi di destinazione come Amazon S3, Amazon EC2 e. AWS Lambda Verifica che le autorizzazioni siano in linea con le policy dei ruoli IAM configurate e documenta i modelli di accesso riusciti. | Tecnico di test, amministratore cloud |
Verifica l'assunzione del ruolo e le autorizzazioni | Conduci una convalida completa del processo di assunzione dei ruoli IAM e dei limiti di autorizzazione. Verifica le operazioni consentite e limitate per confermare che l'accesso con privilegi minimi sia applicato correttamente. Verifica i limiti di durata delle sessioni, i meccanismi di aggiornamento delle credenziali e assicurati che l'assunzione dei ruoli segua le migliori pratiche di sicurezza. | Amministratore AWS, tecnico di test |
Implementa il monitoraggio e la registrazione | Imposta il monitoraggio e la registrazione completi per il sistema di autenticazione basato su certificati. Configura CloudTrail la registrazione per gli audit trail, implementa il monitoraggio della scadenza dei certificati, imposta avvisi per gli errori di autenticazione e crea dashboard per tracciare i modelli di utilizzo e gli eventi di sicurezza nell'infrastruttura. IAM Roles Anywhere | DevOps ingegnere, architetto cloud |
Risoluzione dei problemi
| Problema | Soluzione |
|---|---|
Errori di convalida dei certificati: errori «Convalida del certificato non riuscita» o "InvalidCertificate" durante il tentativo di autenticazione. | Fasi di risoluzione: • Verifica le date di validità del certificato utilizzando openssl x509 -in certificate.pem -dates -noout • Verificare che la configurazione di Trust Anchor punti alla corretta CA privata • Assicurarsi che la chiave privata corrisponda al certificato • Rigenerare il certificato se è stato emesso dalla CA sbagliata |
Errori di autorizzazione IAM negata: «Accesso negato» o "UnauthorizedOperation" quando si accede alle AWS risorse nonostante l'autenticazione sia riuscita | Fasi di risoluzione: • Rivedi ed espandi le policy relative ai ruoli IAM per includere le autorizzazioni necessarie • Verifica che la politica di fiducia includa rolesanywhere.amazonaws.com come entità attendibile • Verificare che la configurazione ARN del profilo corrisponda alle risorse distribuite • Implementare un meccanismo di aggiornamento delle credenziali per processi a esecuzione prolungata |
Risorse correlate
Informazioni aggiuntive
Questo modello è ideale per le organizzazioni con architetture cloud ibride, CI/CD pipeline in esecuzione all'esterno o qualsiasi sistema esterno che AWS richieda un accesso sicuro. AWS L'approccio basato sui certificati offre una maggiore sicurezza rispetto alle chiavi di accesso a lungo termine e consente la gestione centralizzata dei certificati tramite. CA privata AWS
Autorizzazioni IAM configurabili: la soluzione supporta la configurazione flessibile delle policy IAM attraverso: --iam-policies parameter
Impostazione predefinita:
ReadOnlyAccessper una distribuzione iniziale sicuraPersonalizzato: specifica gli ARN di policy separati da virgole per casi d'uso specifici. Ad esempio
S3ReadOnlyAccess, o politiche personalizzateEC2ReadOnlyAccess. Supporta più politiche per requisiti di autorizzazione complessi.
Esempi di utilizzo:
# Default read-only access ./deploy.sh # S3-only access ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess" # Multiple services ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess"