AWS CodeStar Politiche e autorizzazioni a livello di progetto - AWS CodeStar

Il 31 luglio 2024, Amazon Web Services (AWS) interromperà il supporto per la creazione e la visualizzazione AWS CodeStar di progetti. Dopo il 31 luglio 2024, non potrai più accedere alla AWS CodeStar console o creare nuovi progetti. Tuttavia, le AWS risorse create da AWS CodeStar, inclusi gli archivi di origine, le pipeline e le build, non saranno influenzate da questa modifica e continueranno a funzionare. AWS CodeStar Le connessioni e AWS CodeStar le notifiche non saranno influenzate da questa interruzione.

 

Se desideri monitorare il lavoro, sviluppare codice e creare, testare e distribuire le tue applicazioni, Amazon CodeCatalyst offre un processo introduttivo semplificato e funzionalità aggiuntive per gestire i tuoi progetti software. Scopri di più sulle funzionalità e sui prezzi di Amazon CodeCatalyst.

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

AWS CodeStar Politiche e autorizzazioni a livello di progetto

Quando crei un progetto, AWS CodeStar crea i ruoli e le policy IAM necessari per gestire le risorse del progetto. Le policy possono essere suddivise in tre categorie:

  • Policy IAM per i membri del team di progetto.

  • Policy IAM per i ruoli di dipendente.

  • Policy IAM per un ruolo di esecuzione di runtime.

Policy IAM per i membri del team

Quando crei un progetto, AWS CodeStar crea tre politiche gestite dal cliente per l'accesso al progetto da parte del proprietario, del collaboratore e dello spettatore. Tutti i AWS CodeStar progetti contengono politiche IAM per questi tre livelli di accesso. Questi livelli di accesso sono specifici del progetto e definiti da una policy gestita da IAM con un nome standard, dove project-id è l'ID del AWS CodeStar progetto (ad esempio,): my-first-projec

  • CodeStar_project-id_Owner

  • CodeStar_project-id_Contributor

  • CodeStar_project-id_Viewer

Importante

Queste politiche sono soggette a modifiche entro. AWS CodeStar Non devono essere modificate manualmente. Se desideri aggiungere o modificare le autorizzazioni, allega politiche aggiuntive all'utente IAM.

Quando aggiungi i membri del team (utenti IAM) al progetto e selezioni i loro livelli di accesso, la relativa policy viene collegata all'utente IAM, assicurando che questi abbia l'insieme corretto di autorizzazioni per agire sulle risorse del progetto. Nella maggior parte dei casi, non è necessario allegare o gestire direttamente le policy o le autorizzazioni in IAM. Non è consigliabile allegare manualmente una policy del livello di AWS CodeStar accesso a un utente IAM. Se assolutamente necessario, come supplemento a una policy sul livello di AWS CodeStar accesso, puoi creare policy gestite o in linea personalizzate per applicare il tuo livello di autorizzazioni a un utente IAM.

Le policy hanno un ambito rigidamente definito per risorse del progetto e azioni specifiche. Man mano che vengono aggiunte nuove risorse allo stack dell'infrastruttura, AWS CodeStar tenta di aggiornare le politiche dei membri del team per includere le autorizzazioni di accesso alla nuova risorsa, se si tratta di uno dei tipi di risorse supportati.

Nota

Le politiche per i livelli di accesso in un AWS CodeStar progetto si applicano solo a quel progetto. Questo aiuta a garantire che gli utenti possano vedere e interagire solo con i AWS CodeStar progetti per i quali dispongono delle autorizzazioni, al livello determinato dal loro ruolo. Solo agli utenti che creano AWS CodeStar progetti deve essere applicata una politica che consenta l'accesso a tutte le AWS CodeStar risorse, indipendentemente dal progetto.

Tutte le politiche relative AWS CodeStar ai livelli di accesso variano a seconda delle AWS risorse associate al progetto a cui sono associati i livelli di accesso. A differenza di altri servizi AWS , queste policy sono personalizzate quando il progetto viene creato e aggiornato come modifica delle risorse del progetto. Pertanto, non vi è alcuna policy gestita dal proprietario canonico, dal collaboratore o dal visualizzatore.

AWS CodeStar Politica relativa al ruolo del proprietario

La politica gestita CodeStar_project-id_Owner dal cliente consente a un utente di eseguire tutte le azioni AWS CodeStar del progetto senza restrizioni. Questa è l'unica policy che consente a un utente di aggiungere o rimuovere i membri del team. I contenuti della policy variano a seconda delle risorse associate al progetto. Consulta AWS CodeStar Politica sul ruolo del proprietario per un esempio.

Un utente IAM con questa policy può eseguire tutte AWS CodeStar le azioni del progetto, ma a differenza di un utente IAM con la AWSCodeStarFullAccess policy, non può creare progetti. L'codestar:*autorizzazione è limitata a una risorsa specifica (il AWS CodeStar progetto associato a quell'ID di progetto).

AWS CodeStar Politica sul ruolo del collaboratore

La policy gestita dal cliente CodeStar_project-id_Contributor consente a un utente di contribuire al progetto e di modificare il pannello di controllo del progetto, ma non consente a un utente di aggiungere o rimuovere i membri del team. I contenuti della policy variano a seconda delle risorse associate al progetto. Consulta Policy del ruolo collaboratore AWS CodeStar per un esempio.

AWS CodeStar Politica sul ruolo del visualizzatore

La policy gestita dal cliente CodeStar_project-id_Viewer consente a un utente di visualizzare un progetto in AWS CodeStar, ma non di cambiare le risorse o di aggiungere o rimuovere i membri del team. I contenuti della policy variano a seconda delle risorse associate al progetto. Consulta AWS CodeStar Politica del ruolo del visualizzatore per un esempio.

Policy IAM per ruoli dipendente

Se crei il tuo AWS CodeStar progetto dopo il 6 dicembre 2018 PDT, AWS CodeStar crea due ruoli di lavoro CodeStar-project-id-ToolChain eCodeStar-project-id-CloudFormation. Un ruolo di lavoratore è un ruolo IAM specifico del progetto che viene AWS CodeStar creato per essere trasferito a un servizio. Concede le autorizzazioni in modo che il servizio possa creare risorse ed eseguire azioni nel contesto del progetto. AWS CodeStar Il ruolo di toolchain worker ha una relazione di fiducia stabilita con servizi di toolchain come, e CodeBuild. CodeDeploy CodePipeline Ai membri del team di progetto (proprietari e collaboratori) viene garantito l'accesso per passare il ruolo di dipendente ai servizi downstream affidabili. Per un esempio di istruzione della policy inline per questo ruolo, consulta AWS CodeStar Politica sul ruolo dei lavoratori di Toolchain (dopo il 6 dicembre 2018 PDT).

Il ruolo di CloudFormation lavoratore include le autorizzazioni per risorse selezionate supportate da AWS CloudFormation, nonché le autorizzazioni per creare utenti, ruoli e policy IAM nello stack di applicazioni. Ha inoltre instaurato un rapporto di fiducia con. AWS CloudFormation Per mitigare i rischi di escalation dei privilegi e di azioni distruttive, la policy relativa ai AWS CloudFormation ruoli include una condizione che richiede il limite di autorizzazioni specifico del progetto per ogni entità IAM (utente o ruolo) creata nello stack dell'infrastruttura. Per un esempio di istruzione della policy inline per questo ruolo, consulta AWS CloudFormation Politica sul ruolo dei lavoratori.

Per CodeStar i progetti AWS creati prima del 6 dicembre 2018, PDT AWS CodeStar crea ruoli di lavoro individuali per risorse della toolchain come CodePipeline CodeBuild, ed CloudWatch Events, e crea anche un ruolo di lavoratore AWS CloudFormation che supporta un set limitato di risorse. Ognuno di questi ruoli ha una relazione di trust stabilita con il relativo servizio. Ai membri del team di progetto (proprietari e collaboratori) e ad alcuni degli altri ruoli dipendente viene garantito l'accesso per passare il ruolo ai servizi downstream affidabili. Le autorizzazioni per i ruoli dipendente sono definite in una policy inline con un insieme base di azioni eseguibili dal ruolo su un insieme di risorse del progetto. Queste autorizzazioni sono statiche. Includono le autorizzazioni alle risorse comprese nel progetto, ma non sono aggiornate in caso di aggiunta di nuove risorse. Per esempi di queste istruzioni della policy, consulta:

Policy IAM per il ruolo di esecuzione

Per i progetti creati dopo il 6 dicembre 2018 PDT, AWS CodeStar crea un ruolo di esecuzione generico per il progetto di esempio nello stack di applicazioni. Il ruolo dispone di un numero limitato di risorse del progetto con la policy del limite di autorizzazioni. Man mano che espandi il progetto di esempio, puoi creare ruoli IAM aggiuntivi e la AWS CloudFormation politica dei ruoli richiede che tali ruoli siano delimitati utilizzando il limite di autorizzazione per evitare l'aumento dei privilegi. Per ulteriori informazioni, consulta Aggiunta di un ruolo IAM a un progetto.

Per i progetti Lambda creati prima del 6 dicembre 2018 PDT, crea AWS CodeStar un ruolo di esecuzione Lambda a cui è associata una policy in linea con le autorizzazioni per agire sulle risorse nello stack del progetto. AWS SAM Man mano che vengono aggiunte nuove risorse al modello SAM, AWS CodeStar tenta di aggiornare la politica del ruolo di esecuzione Lambda per includere le autorizzazioni per la nuova risorsa se si tratta di uno dei tipi di risorsa supportati.

Limite delle autorizzazioni IAM

Dopo il PDT del 6 dicembre 2018, quando crei un progetto, AWS CodeStar crea una policy gestita dai clienti e assegna tale policy come limite delle autorizzazioni IAM ai ruoli IAM nel progetto. AWS CodeStar richiede che tutte le entità IAM create nello stack di applicazioni abbiano un limite di autorizzazioni. Un limite di autorizzazioni controlla il numero massimo di autorizzazioni che il ruolo può avere, ma non riconosce al ruolo alcuna autorizzazione. Le policy di autorizzazione definiscono le autorizzazioni per il ruolo. Pertanto non contano le autorizzazioni ulteriori aggiunte a un ruolo: chiunque utilizzi il ruolo non potrà eseguire altre azioni rispetto a quelle incluse nel limite delle autorizzazioni. Per informazioni su come vengono valutate le policy e i limiti delle autorizzazioni, consulta Policy Evaluation Logic nella IAM User Guide.

AWS CodeStar utilizza un limite di autorizzazioni specifico del progetto per impedire l'escalation dei privilegi verso risorse esterne al progetto. Il limite delle CodeStar autorizzazioni AWS include gli ARN per le risorse del progetto. Per un esempio di questa dichiarazione di policy, consulta Politica sui limiti CodeStar delle autorizzazioni di AWS.

La CodeStar trasformazione AWS aggiorna questa policy quando aggiungi o rimuovi una risorsa supportata dal progetto tramite lo stack dell'applicazione (template.yml).

Aggiunta di un limite di autorizzazioni IAM ai progetti esistenti

Se hai un CodeStar progetto AWS creato prima del 6 dicembre 2018 PDT, devi aggiungere manualmente un limite di autorizzazione ai ruoli IAM nel progetto. Come best practice, consigliamo di utilizzare un limite specifico per il progetto che includa solo le risorse nel progetto per impedire l'escalation dei privilegi alle risorse al di fuori del progetto. Segui questi passaggi per utilizzare il limite delle autorizzazioni CodeStar gestite da AWS che viene aggiornato man mano che il progetto si evolve.

  1. Accedi alla AWS CloudFormation console e individua il modello per lo stack di toolchain nel tuo progetto. Questo modello è denominato awscodestar-project-id.

  2. Scegliere il modello, scegliere Actions (Operazioni) e quindi scegliere View/Edit template in Designer (Visualizza/Modifica il modello in Designer).

  3. Individuare la sezione Resources e includere il seguente frammento di codice nella parte superiore.

    PermissionsBoundaryPolicy: Description: Creating an IAM managed policy for defining the permissions boundary for an AWS CodeStar project Type: AWS::IAM::ManagedPolicy Properties: ManagedPolicyName: !Sub 'CodeStar_${ProjectId }_PermissionsBoundary' Description: 'IAM policy to define the permissions boundary for IAM entities created in an AWS CodeStar project' PolicyDocument: Version: '2012-10-17' Statement: - Sid: '1' Effect: Allow Action: ['*'] Resource: - !Sub 'arn:${AWS::Partition}:cloudformation:${AWS::Region}:${AWS::AccountId}:stack/awscodestar-${ProjectId}-*'

    Potresti aver bisogno di autorizzazioni IAM aggiuntive per aggiornare lo stack dalla console. AWS CloudFormation

  4. (Facoltativo) Se desideri creare ruoli IAM specifici per l'applicazione, completa questo passaggio. Dalla console IAM, aggiorna la policy in linea allegata al AWS CloudFormation ruolo per il tuo progetto in modo da includere il seguente frammento. Potresti aver bisogno di risorse IAM aggiuntive per aggiornare la policy.

    { "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::{AccountId}:role/CodeStar-{ProjectId}*", "Effect": "Allow" }, { "Action": [ "iam:CreateServiceLinkedRole", "iam:GetRole", "iam:DeleteRole", "iam:DeleteUser" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "iam:AttachRolePolicy", "iam:AttachUserPolicy", "iam:CreateRole", "iam:CreateUser", "iam:DeleteRolePolicy", "iam:DeleteUserPolicy", "iam:DetachUserPolicy", "iam:DetachRolePolicy", "iam:PutUserPermissionsBoundary", "iam:PutRolePermissionsBoundary" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PermissionsBoundary": "arn:aws:iam::{AccountId}:policy/CodeStar_{ProjectId}_PermissionsBoundary" } }, "Effect": "Allow" }
  5. Immetti una modifica nella pipeline del tuo progetto in modo che AWS CodeStar aggiorni il limite delle autorizzazioni con le autorizzazioni appropriate.

Per ulteriori informazioni, consulta Aggiunta di un ruolo IAM a un progetto.