Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Convalida e distribuisci automaticamente le policy e i ruoli IAM in un account AWS utilizzando CodePipeline IAM Access Analyzer e le macro AWS CloudFormation - 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à.

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

Convalida e distribuisci automaticamente le policy e i ruoli IAM in un account AWS utilizzando CodePipeline IAM Access Analyzer e le macro AWS CloudFormation

Creato da Helton Ribeiro (AWS) e Guilherme Simoes (AWS)

Riepilogo

Avviso: AWS non CodeCommit è più disponibile per i nuovi clienti. I clienti esistenti di AWS CodeCommit possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni.

Questo modello descrive i passaggi e fornisce il codice per creare una pipeline di distribuzione che consenta ai team di sviluppo di creare policy e ruoli AWS Identity and Access Management (IAM) nei tuoi account Amazon Web Services (AWS). Questo approccio aiuta l'organizzazione a ridurre il sovraccarico per i team operativi e ad accelerare il processo di implementazione. Inoltre, aiuta gli sviluppatori a creare ruoli e policy IAM compatibili con i controlli di governance e sicurezza esistenti.

L'approccio di questo modello utilizza AWS Identity and Access Management Access Analyzer per convalidare le policy IAM da collegare ai ruoli IAM e utilizza AWS CloudFormation per distribuire i ruoli IAM. Tuttavia, invece di modificare direttamente il file CloudFormation modello AWS, il tuo team di sviluppo crea policy e ruoli IAM in formato JSON. Una CloudFormation macro AWS trasforma questi file di policy in formato JSON in tipi di risorse AWS CloudFormation IAM prima di iniziare la distribuzione.

La pipeline di distribuzione (RolesPipeline) ha fasi di origine, convalida e distribuzione. Durante la fase di origine, il tuo team di sviluppo invia i file JSON che contengono la definizione dei ruoli e delle policy IAM a un repository CodeCommit AWS. AWS esegue CodeBuild quindi uno script per convalidare tali file e li copia in un bucket Amazon Simple Storage Service (Amazon S3). Poiché i tuoi team di sviluppo non hanno accesso diretto al file CloudFormation modello AWS archiviato in un bucket S3 separato, devono seguire il processo di creazione e convalida del file JSON.

Infine, durante la fase di implementazione, AWS CodeDeploy utilizza uno CloudFormation stack AWS per aggiornare o eliminare le policy e i ruoli IAM in un account.

Importante

Il flusso di lavoro di questo pattern è un proof of concept (POC) e ti consigliamo di utilizzarlo solo in un ambiente di test. Se desideri utilizzare l'approccio di questo modello in un ambiente di produzione, consulta le migliori pratiche di sicurezza in IAM nella documentazione IAM e apporta le modifiche necessarie ai tuoi ruoli IAM e ai servizi AWS.

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo.

  • Un bucket S3 nuovo o esistente per la RolesPipeline pipeline. Assicurati che le credenziali di accesso che stai utilizzando dispongano delle autorizzazioni per caricare oggetti in questo bucket.

  • AWS Command Line Interface (AWS CLI), installata e configurata. Per ulteriori informazioni su questo argomento, consulta Installazione, aggiornamento e disinstallazione dell'interfaccia a riga di comando di AWS nella documentazione dell'interfaccia a riga di comando di AWS. 

  • AWS Serverless Application Model (AWS SAM) Serverless Application Model (AWS) Cli, installata e configurata. Per ulteriori informazioni su questo argomento, consulta Installazione della CLI di AWS SAM nella documentazione di AWS SAM. 

  • Python 3, installato sul computer locale. Per ulteriori informazioni su questo argomento, consulta la documentazione di Python.

  • Un client Git, installato e configurato.

  • Il GitHub IAM roles pipeline repository, clonato sul computer locale. 

  • Politiche e ruoli IAM esistenti in formato JSON. Per ulteriori informazioni su questo argomento, consulta il ReadMefile nel repository Github. IAM roles pipeline

  • Il tuo team di sviluppatori non deve disporre delle autorizzazioni per modificare AWS CodePipeline e CodeDeploy le risorse di questa soluzione. CodeBuild

Limitazioni

  • Il flusso di lavoro di questo pattern è un proof of concept (POC) e ti consigliamo di utilizzarlo solo in un ambiente di test. Se desideri utilizzare l'approccio di questo modello in un ambiente di produzione, consulta le migliori pratiche di sicurezza in IAM nella documentazione IAM e apporta le modifiche necessarie ai tuoi ruoli IAM e ai servizi AWS.

Architettura

Il diagramma seguente mostra come convalidare e distribuire automaticamente i ruoli e le policy IAM su un account utilizzando IAM Access CodePipeline Analyzer e le macro AWS. CloudFormation

Passaggi per la convalida e la distribuzione di policy e ruoli IAM in un account AWS.

Il diagramma mostra il flusso di lavoro seguente:

  1. Uno sviluppatore scrive file JSON che contengono le definizioni per le politiche e i ruoli IAM. Lo sviluppatore inserisce il codice in un CodeCommit repository e CodePipeline quindi avvia la pipeline. RolesPipeline

  2. CodeBuild convalida i file JSON utilizzando IAM Access Analyzer. Se vengono rilevati risultati relativi alla sicurezza o agli errori, il processo di distribuzione viene interrotto.

  3. Se non ci sono risultati relativi alla sicurezza o agli errori, i file JSON vengono inviati al bucket S3. RolesBucket

  4. Una CloudFormation macro AWS implementata come funzione AWS Lambda legge quindi i file JSON dal RolesBucket bucket e li trasforma in tipi di risorse AWS IAM. CloudFormation

  5. Uno CloudFormation stack AWS predefinito installa, aggiorna o elimina le policy e i ruoli IAM nell'account. 

Automazione e scalabilità

CloudFormation I modelli AWS che implementano automaticamente questo modello sono forniti nel repository di pipeline dei ruoli GitHub IAM.

Strumenti

Codice

Il codice sorgente e i modelli di questo modello sono disponibili nell'archivio della pipeline di ruoli GitHub IAM.

Epiche

AttivitàDescrizioneCompetenze richieste

Clonare il repository di esempio.

Clona il repository della pipeline dei ruoli GitHub IAM sul tuo computer locale.

Sviluppatore di app, General AWS

Clona il repository

AttivitàDescrizioneCompetenze richieste

Clonare il repository di esempio.

Clona il repository della pipeline dei ruoli GitHub IAM sul tuo computer locale.

Sviluppatore di app, General AWS
AttivitàDescrizioneCompetenze richieste

Implementa la pipeline.

  1. Passa alla directory che contiene il repository clonato.

  2. Importante

    Esegui il make deploy bucket=<bucket_name> comando.: devi sostituire <bucket_name> con il nome del bucket S3 esistente.

  3. Esegui il aws codepipeline get-pipeline –name RolesPipeline comando per verificare se la distribuzione è riuscita.

Sviluppatore di app, General AWS

Clona il repository della pipeline.

  1. Lo CloudFormation stack RolesPipeline AWS crea il roles-pipeline-repo CodeCommit repository.

  2. Accedi alla Console di gestione AWS, apri la CodeCommit console AWS e copia l'URL del CodeCommit repository per clonarlo sul tuo computer locale. Per ulteriori informazioni su questo argomento, consulta Connect to an AWS CodeCommit repository nella CodeCommit documentazione AWS.

Sviluppatore di app, General AWS

Implementa la pipeline RolesPipeline

AttivitàDescrizioneCompetenze richieste

Implementa la pipeline.

  1. Passa alla directory che contiene il repository clonato.

  2. Importante

    Esegui il make deploy bucket=<bucket_name> comando.: devi sostituire <bucket_name> con il nome del bucket S3 esistente.

  3. Esegui il aws codepipeline get-pipeline –name RolesPipeline comando per verificare se la distribuzione è riuscita.

Sviluppatore di app, General AWS

Clona il repository della pipeline.

  1. Lo CloudFormation stack RolesPipeline AWS crea il roles-pipeline-repo CodeCommit repository.

  2. Accedi alla Console di gestione AWS, apri la CodeCommit console AWS e copia l'URL del CodeCommit repository per clonarlo sul tuo computer locale. Per ulteriori informazioni su questo argomento, consulta Connect to an AWS CodeCommit repository nella CodeCommit documentazione AWS.

Sviluppatore di app, General AWS
AttivitàDescrizioneCompetenze richieste

Testa la RolesPipeline pipeline con policy e ruoli IAM validi.

  1. Crea file JSON per le tue politiche e i tuoi ruoli IAM. Puoi utilizzare gli esempi presenti nella role-example directory del GitHub IAM roles pipeline repository.

  2. Importante

    Definisci le politiche e i ruoli IAM con le configurazioni richieste. : Assicurati di seguire il formato descritto nel ReadMe file del GitHub IAM roles pipeline repository.

  3. Inserisci le modifiche nel repository. roles-pipeline-repo CodeCommit

  4. Verifica l'implementazione della pipeline. RolesPipeline

  5. Assicurati che le policy e i ruoli IAM siano implementati correttamente nell'account.

  6. Verifica se esiste un limite di autorizzazioni associato alle politiche o ai ruoli IAM. Per ulteriori informazioni su questo argomento, consulta i limiti delle autorizzazioni per le entità IAM nella documentazione IAM.

Sviluppatore di app, General AWS

Testa la RolesPipeline pipeline con policy e ruoli IAM non validi.

  1. Modifica il roles-pipeline-repo CodeCommit repository e includi ruoli o policy IAM non validi. Ad esempio, puoi utilizzare un'azione che non esiste o una versione della policy IAM non valida.

  2. Verifica l'implementazione della pipeline. IAM Access Analyzer interrompe la pipeline durante la fase di convalida se rileva policy o ruoli IAM non validi.

Sviluppatore di app, General AWS

Testa la RolesPipeline pipeline

AttivitàDescrizioneCompetenze richieste

Testa la RolesPipeline pipeline con policy e ruoli IAM validi.

  1. Crea file JSON per le tue politiche e i tuoi ruoli IAM. Puoi utilizzare gli esempi presenti nella role-example directory del GitHub IAM roles pipeline repository.

  2. Importante

    Definisci le politiche e i ruoli IAM con le configurazioni richieste. : Assicurati di seguire il formato descritto nel ReadMe file del GitHub IAM roles pipeline repository.

  3. Inserisci le modifiche nel repository. roles-pipeline-repo CodeCommit

  4. Verifica l'implementazione della pipeline. RolesPipeline

  5. Assicurati che le policy e i ruoli IAM siano implementati correttamente nell'account.

  6. Verifica se esiste un limite di autorizzazioni associato alle politiche o ai ruoli IAM. Per ulteriori informazioni su questo argomento, consulta i limiti delle autorizzazioni per le entità IAM nella documentazione IAM.

Sviluppatore di app, General AWS

Testa la RolesPipeline pipeline con policy e ruoli IAM non validi.

  1. Modifica il roles-pipeline-repo CodeCommit repository e includi ruoli o policy IAM non validi. Ad esempio, puoi utilizzare un'azione che non esiste o una versione della policy IAM non valida.

  2. Verifica l'implementazione della pipeline. IAM Access Analyzer interrompe la pipeline durante la fase di convalida se rileva policy o ruoli IAM non validi.

Sviluppatore di app, General AWS
AttivitàDescrizioneCompetenze richieste

Preparati per la pulizia.

Svuota i bucket S3 e poi esegui il comando. destroy

Sviluppatore di app, General AWS

Elimina lo RolesStack stack.

  1. La RolesPipeline pipeline crea uno CloudFormation stack RolesStack AWS che implementa le policy e i ruoli IAM. È necessario eliminare questo stack prima di eliminare la pipeline. RolesPipeline

  2. Accedi alla Console di gestione AWS, apri la CloudFormation console AWS, quindi scegli lo RolesStack stack e scegli Elimina.

Sviluppatore di app, General AWS

Elimina lo RolesPipeline stack.

Per eliminare lo CloudFormation stack RolesPipeline AWS, segui le istruzioni dal ReadMefile nel repository GithubIAM roles pipeline.

Sviluppatore di app, General AWS

Pulizia delle risorse

AttivitàDescrizioneCompetenze richieste

Preparati per la pulizia.

Svuota i bucket S3 e poi esegui il comando. destroy

Sviluppatore di app, General AWS

Elimina lo RolesStack stack.

  1. La RolesPipeline pipeline crea uno CloudFormation stack RolesStack AWS che implementa le policy e i ruoli IAM. È necessario eliminare questo stack prima di eliminare la pipeline. RolesPipeline

  2. Accedi alla Console di gestione AWS, apri la CloudFormation console AWS, quindi scegli lo RolesStack stack e scegli Elimina.

Sviluppatore di app, General AWS

Elimina lo RolesPipeline stack.

Per eliminare lo CloudFormation stack RolesPipeline AWS, segui le istruzioni dal ReadMefile nel repository GithubIAM roles pipeline.

Sviluppatore di app, General AWS

Risorse correlate

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.