View a markdown version of this page

Protezione AWS IAM Roles Anywhere con un certificato privato - Prontuario AWS

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:IssueCertificate

    • acm-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:

  1. Certificato attuale: il sistema esterno presenta il X.509 certificato a AWS

  2. Autentica: IAM Roles Anywhere riceve il certificato e avvia l'autenticazione

  3. Verifica: Trust Anchor verifica il certificato confrontandolo con autorità di certificazione attendibili

  4. Convalida: CA privata AWS convalida l'autenticità e lo stato del certificato

  5. Certificato valido: CA privata AWS conferma che il certificato è valido e attendibile

  6. Assumi ruolo: IAM Roles Anywhere consente al sistema esterno di assumere il ruolo IAM configurato

  7. 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

  1. Stabilisci i AWS servizi di base necessari per l'autenticazione basata su certificati utilizzando. IAM Roles Anywhere

  2. Crea e configura certificati e strumenti di autenticazione lato client per un accesso sicuro. AWS

  3. 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 parameter

  • Ruota 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

OperazioneDescriptionCompetenze 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
OperazioneDescriptionCompetenze 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
OperazioneDescriptionCompetenze 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

ProblemaSoluzione

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: ReadOnlyAccess per una distribuzione iniziale sicura

  • Personalizzato: specifica gli ARN di policy separati da virgole per casi d'uso specifici. Ad esempioS3ReadOnlyAccess, 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"