Come CodeStar funziona AWS con IAM - 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 daAWS 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à.

Come CodeStar funziona AWS con IAM

Prima di utilizzare IAM per gestire l'accesso ad AWS CodeStar, è necessario comprendere quali funzionalità IAM sono disponibili per l'uso con AWS CodeStar. Per avere una visione di alto livello di come AWS CodeStar e altri AWS servizi funzionano con IAM, consulta AWSServices That Work with IAM nella IAM User Guide.

Policy AWS CodeStar basate sull'identità

Con le policy basate sull'identità IAM, puoi specificare azioni e risorse consentite o negate e le condizioni in base alle quali le azioni sono consentite o negate. AWS CodeStarcrea diverse politiche basate sull'identità per tuo conto, che consentono AWS CodeStar di creare e gestire risorse nell'ambito di un progetto. AWS CodeStar AWS CodeStar supporta azioni, risorse e chiavi di condizione specifiche. Per informazioni su tutti gli elementi utilizzati in una policy JSON, consulta Documentazione di riferimento degli elementi delle policy JSON IAM nella Guida per l'utente IAM.

Azioni

Gli amministratori possono utilizzare le policy AWS JSON per specificare gli accessi ai diversi elementi. Cioè, quale principale può eseguire azioni su quali risorse, e in quali condizioni.

L'elemento Action di una policy JSON descrive le operazioni che è possibile utilizzare per consentire o negare l'accesso a un criterio. Le azioni di policy hanno spesso lo stesso nome dell'operazione API AWS. Ci sono alcune eccezioni, ad esempio le azioni di sola autorizzazione che non hanno un'operazione API corrispondente. Esistono anche alcune operazioni che richiedono più operazioni in una policy. Queste operazioni aggiuntive sono denominate operazioni dipendenti.

Includi le operazioni in una policy per concedere le autorizzazioni a eseguire l'operazione associata.

Le azioni politiche in AWS CodeStar utilizzano il seguente prefisso prima dell'azione:codestar:. Per esempio, per consentire a un utente IAM specificato di modificare gli attributi di un AWS CodeStar progetto, come la descrizione del progetto, puoi utilizzare la seguente dichiarazione politica:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codestar:UpdateProject" ], "Resource" : "arn:aws:codestar:us-east-2:project/my-first-projec" } ] }

Le istruzioni della policy devono includere un elemento Action o NotAction. AWS CodeStar definisce il proprio set di azioni che descrivono le attività che è possibile eseguire con questo servizio.

Per specificare più operazioni in una sola istruzione, separa ciascuna di esse con una virgola come mostrato di seguito:

"Action": [ "codestar:action1", "codestar:action2"

È possibile specificare più operazioni tramite caratteri jolly (*). Ad esempio, per specificare tutte le operazioni che iniziano con la parola List, includi la seguente operazione:

"Action": "codestar:List*"

Per visualizzare un elenco di CodeStar azioni AWS, consulta Actions Defined by AWS CodeStar nella IAM User Guide.

Risorse

Gli amministratori possono utilizzare le policy JSON AWS per specificare gli accessi ai diversi elementi. Cioè, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'elemento JSON Resource della policy specifica l'oggetto o gli oggetti ai quali si applica l'azione. Le istruzioni devono includere un elemento Resource o un elemento NotResource. Come best practice, specifica una risorsa utilizzando il suo nome della risorsa Amazon (ARN). Puoi eseguire questa operazione per azioni che supportano un tipo di risorsa specifico, note come autorizzazioni a livello di risorsa.

Per le azioni che non supportano le autorizzazioni a livello di risorsa, ad esempio le operazioni di elenco, utilizza un carattere jolly (*) per indicare che l'istruzione si applica a tutte le risorse.

"Resource": "*"

La risorsa del progetto AWS CodeStar ha il seguente ARN:

arn:aws:codestar:region:account:project/resource-specifier

Per ulteriori informazioni sul formato degli ARN, consulta Nome della risorsa Amazon (ARN) e spazi dei nomi del servizio AWS.

Ad esempio, quanto segue specifica il AWS CodeStar progetto denominato my-first-projec registrato sull'AWSaccount 111111111111 nella AWS regioneus-east-2:

arn:aws:codestar:us-east-2:111111111111:project/my-first-projec

Quanto segue specifica qualsiasi AWS CodeStar progetto che inizia con il nome my-proj registrato sull'AWSaccount 111111111111 nella AWS Regione: us-east-2

arn:aws:codestar:us-east-2:111111111111:project/my-proj*

Alcune CodeStar azioni AWS, ad esempio quelle relative alla creazione di elenchi di progetti, non possono essere eseguite su una risorsa. In questi casi, è necessario utilizzare il carattere jolly (*).

"LisProjects": "*"

Per visualizzare un elenco dei tipi di CodeStar risorse AWS e dei relativi ARN, consulta Resources Defined by AWS CodeStar nella IAM User Guide. Per sapere con quali azioni è possibile specificare l'ARN di ogni risorsa, consulta Actions Defined by AWS. CodeStar

Chiavi di condizione

AWS CodeStar non fornisce chiavi di condizione specifiche del servizio, ma supporta l'utilizzo di alcune chiavi di condizione globali. Per visualizzare tutte le chiavi di condizione globali di AWS, consulta Chiavi di contesto delle condizioni globali di AWS nella Guida per l'utente IAM.

Esempi

Per visualizzare esempi di policy CodeStar basate sull'identità di AWS, consulta. Esempi di policy CodeStar basate sull'identità di AWS

Policy AWS CodeStar basate sulle risorse

AWS CodeStar non supporta policy basate su risorse.

Autorizzazione basata su CodeStar tag AWS

Puoi allegare tag ai CodeStar progetti AWS o passarli in una richiesta ad AWS CodeStar. Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'elemento condizione di una policy utilizzando le chiavi di condizione codestar:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys. Per ulteriori informazioni sull'etichettatura CodeStar delle risorse AWS, consultaUtilizzo dei tag di progetto in AWS CodeStar.

Per visualizzare una policy basata sulle identità di esempio per limitare l'accesso a un progetto AWS CodeStar basato sui tag del progetto, consulta Visualizzazione dei CodeStar progetti AWS in base ai tag.

Ruoli AWS CodeStar IAM

Un ruolo IAM è un'entità nel tuo AWS account che dispone di autorizzazioni specifiche.

Puoi utilizzarlo AWS CodeStar come utente IAM, utente federato, utente root o ruolo presunto. Tutti i tipi di utenti con le autorizzazioni appropriate possono gestire le autorizzazioni di progetto relative alle proprie AWS risorse, ma AWS CodeStar gestiscono automaticamente le autorizzazioni del progetto per gli utenti IAM. Le politiche e i ruoli IAM concedono autorizzazioni e accesso a quell'utente in base al ruolo del progetto. Puoi utilizzare la console IAM per creare altre policy che AWS CodeStar assegnano altre autorizzazioni a un utente IAM.

Ad esempio, è possibile consentire a un utente di visualizzare ma non di modificare un progetto AWS CodeStar. In questo caso, aggiungi l'utente IAM a un AWS CodeStar progetto con il ruolo di spettatore. Ogni progetto AWS CodeStar è dotato di un set di policy che consente di controllare l'accesso al progetto. Inoltre, è possibile controllare quali utenti hanno accesso ad AWS CodeStar.

L'accesso ad AWS CodeStar viene gestito in modo diverso per gli utenti IAM e gli utenti federati. Solo gli utenti IAM possono essere aggiunti ai team. Per concedere agli utenti IAM le autorizzazioni per i progetti, è possibile aggiungere l'utente al team del progetto e assegnargli un ruolo. Per concedere le autorizzazioni degli utenti federati ai progetti, collegare manualmente la policy gestita del ruolo del progetto AWS CodeStar al ruolo dell'utente federato.

Questa tabella riepiloga gli strumenti disponibili per ogni tipo di accesso.

Caratteristica delle autorizzazioni Utente IAM Utente federato Utente root
Gestione delle chiavi SSH per l'accesso remoto per progetti Amazon EC2 ed Elastic Beanstalk
AWS CodeCommitAccesso SSH
Autorizzazioni utente IAM gestite da AWS CodeStar
Autorizzazioni del progetto gestite manualmente
Gli utenti possono essere aggiunti al progetto come membri del team

Accesso utente IAM a AWS CodeStar

Quando aggiungi un utente IAM a un progetto e scegli un ruolo per l'utente, AWS CodeStar applica automaticamente la policy appropriata all'utente IAM. Per gli utenti IAM, non è necessario allegare o gestire direttamente le policy o le autorizzazioni in IAM. Per informazioni sull'aggiunta di un utente IAM a un progetto AWS CodeStar, consulta Aggiungi membri del team a un progetto AWS CodeStar. Per informazioni sulla rimozione di un utente IAM da un progetto AWS CodeStar, consulta Rimozione dei membri del team da un progetto AWS CodeStar.

Allega una politica in linea a un utente IAM

Quando si aggiunge un utente a un progetto, AWS CodeStar collega automaticamente la policy gestita per il progetto che corrisponde al ruolo dell'utente. Non dovresti allegare manualmente una policy AWS CodeStar gestita per un progetto a un utente IAM. Ad eccezione diAWSCodeStarFullAccess, sconsigliamo di allegare policy che modificano le autorizzazioni di un utente IAM in un AWS CodeStar progetto. Se decidi di creare e allegare le tue policy, consulta Aggiungere e rimuovere le autorizzazioni di identità IAM nella Guida per l'utente IAM.

Accesso di utenti federati a AWS CodeStar

Invece di creare un utente IAM o di utilizzare l'utente di radice, puoi utilizzare le identità dell'utente da AWS Directory Service, la directory dell'utente aziendale, un provider di identità web o gli utenti IAM che assumono i ruoli. Questi sono noti come utenti federati.

Concedi agli utenti federati l'accesso al tuo progetto AWS CodeStar collegando manualmente le policy gestite descritte in Policy e autorizzazioni a livello di progetto AWS CodeStar per il ruolo IAM dell'utente. Puoi collegare la policy del proprietario, del collaboratore o del visualizzatore dopo che AWS CodeStar crea le risorse e i ruoli IAM del progetto.

Prerequisiti:

  • È necessario impostare un provider di identità. Ad esempio, puoi configurare un provider di identità SAML e configurare AWS l'autenticazione tramite il provider. Per ulteriori informazioni sull'impostazione di un provider di identità, consulta Creazione di provider di identità IAM. Per ulteriori informazioni sulla federazione SAML, consulta la pagina sulla federazione basata su SAML 2.0.

  • Devi aver creato un ruolo per un utente federato da assumere quando è richiesto l'accesso tramite un provider di identità. Una policy di fiducia STS deve essere collegata al ruolo che consente agli utenti federati di assumere quel ruolo. Per ulteriori informazioni, consulta la sezione relativa agli utenti federati e ruoli nella guida per l'utente IAM.

  • È necessario aver creato il progetto AWS CodeStar e conoscere l'ID del progetto.

Per ulteriori informazioni sulla creazione di un ruolo per provider di identità, consulta la pagina sulla creazione di un ruolo per un provider di identità di terze parti (federazione).

Allega la policy AWSCodeStarFullAccess gestita al ruolo dell'utente federato

Concedi a un utente federato le autorizzazioni necessarie per creare un progetto collegando la policy gestita AWSCodeStarFullAccess. Per eseguire questi passaggi, è necessario aver effettuato l'accesso alla console come utente root, utente amministratore dell'account oppure utente IAM o utente federato con la policy AdministratorAccess gestita associata o equivalente.

Nota

Dopo aver creato il progetto, le autorizzazioni del progetto proprietario non vengono applicate automaticamente. Utilizzando un ruolo con autorizzazioni amministrative per l'account, collega la policy gestita dal proprietario, come descritto in Collega la policy gestita dal visualizzatore/collaboratore/proprietario di AWS CodeStar al ruolo dell'utente federato.

  1. Aprire la console IAM. Nel riquadro di navigazione, seleziona Policy.

  2. Inserisci AWSCodeStarFullAccess nel campo di ricerca. Viene visualizzato il nome della policy, con un tipo di policy AWSgestita. È possibile espandere la policy per visualizzare le autorizzazioni nella dichiarazione della policy.

  3. Seleziona il pallino accanto alla policy e quindi, in Policy actions (Operazioni policy), seleziona Attach (Collega).

  4. Nella pagina Summary (Riepilogo), seleziona la scheda Attached entities (Entità collegate). Scegli Collega.

  5. Nella pagina Attach Policy (Collega policy), filtra il ruolo dell'utente federato nel campo di ricerca. Seleziona la casella accanto al nome del ruolo e quindi seleziona Attach policy (Collega policy). Nella scheda Attached entities (Collega entità) viene visualizzato il nuovo collegamento.

Collega la policy gestita dal visualizzatore/collaboratore/proprietario di AWS CodeStar al ruolo dell'utente federato

Concedere agli utenti federati l'accesso al progetto collegando la policy gestita dal proprietario, dal collaboratore o dal visualizzatore appropriata al ruolo dell'utente. La policy gestita offre il livello di autorizzazioni appropriato. A differenza degli utenti IAM, devi collegare e scollegare manualmente le policy gestite per gli utenti federati. Ciò equivale all'assegnazione di autorizzazioni del progetto per i membri del team in AWS CodeStar. Per eseguire questi passaggi, è necessario aver effettuato l'accesso alla console come utente root, utente amministratore dell'account oppure utente IAM o utente federato con la policy AdministratorAccess gestita associata o equivalente.

Prerequisiti:

  • È necessario aver creato un ruolo o disporre di un ruolo esistente assunto dall'utente federato.

  • È necessario sapere quale livello di autorizzazioni si desidera concedere. Le policy gestite collegate ai ruoli del proprietario, collaboratore e visualizzatore forniscono autorizzazioni in base al ruolo per il progetto.

  • Il progetto AWS CodeStar deve essere stato creato. La policy gestita non è disponibile in IAM fino alla creazione del progetto.

  1. Aprire la console IAM. Nel riquadro di navigazione, seleziona Policy.

  2. Inserisci il tuo ID di progetto nel campo di ricerca. Viene visualizzato il nome della policy che si abbina al progetto, con un tipo di policy di Customer managed (Gestito dal cliente). È possibile espandere la policy per visualizzare le autorizzazioni nella dichiarazione della policy.

  3. Seleziona una di queste policy gestite. Seleziona il pallino accanto alla policy e quindi, in Policy actions (Operazioni policy), seleziona Attach (Collega).

  4. Nella pagina Summary (Riepilogo), seleziona la scheda Attached entities (Entità collegate). Scegli Collega.

  5. Nella pagina Attach Policy (Collega policy), filtra il ruolo dell'utente federato nel campo di ricerca. Seleziona la casella accanto al nome del ruolo e quindi seleziona Attach policy (Collega policy). Nella scheda Attached entities (Collega entità) viene visualizzato il nuovo collegamento.

Scollega una policy gestita AWS CodeStar dal ruolo dell'utente federato

Prima di eliminare il tuo progetto AWS CodeStar, devi scollegare manualmente qualsiasi policy gestita collegata a un ruolo dell'utente federato. Per eseguire questi passaggi, devi aver effettuato l'accesso alla console come utente root, utente amministratore dell'account oppure utente IAM o utente federato con la policy AdministratorAccess gestita associata o equivalente.

  1. Aprire la console IAM. Nel riquadro di navigazione, seleziona Policy.

  2. Inserisci il tuo ID di progetto nel campo di ricerca.

  3. Seleziona il pallino accanto alla policy e quindi, in Policy actions (Operazioni policy), seleziona Attach (Collega).

  4. Nella pagina Summary (Riepilogo), seleziona la scheda Attached entities (Entità collegate).

  5. Filtra il ruolo dell'utente federato nel campo di ricerca. Seleziona Detach (Scollega).

Collegare una policy gestita AWS Cloud9 al ruolo dell'utente federato

Se utilizzi un ambiente di sviluppo AWS Cloud9, concedi agli utenti federati l'accesso collegando la policy gestita AWSCloud9User al ruolo dell'utente. A differenza degli utenti IAM, devi collegare e scollegare manualmente le policy gestite per gli utenti federati. Per eseguire questi passaggi, devi aver effettuato l'accesso alla console come utente root, utente amministratore dell'account oppure utente IAM o utente federato con la policy AdministratorAccess gestita associata o equivalente.

Prerequisiti:

  • È necessario aver creato un ruolo o disporre di un ruolo esistente assunto dall'utente federato.

  • È necessario sapere quale livello di autorizzazioni si desidera concedere:

    • La policy gestita AWSCloud9User consente all'utente di:

      • Creare gli ambienti di sviluppo AWS Cloud9.

      • Ottieni le informazioni sugli ambienti.

      • Modifica le impostazioni per gli ambienti.

    • La policy gestita AWSCloud9Administrator consente all'utente di eseguire le seguenti azioni per sé o per gli altri:

      • Crea ambienti.

      • Ottieni informazioni sugli ambienti.

      • Elimina gli ambienti.

      • Modifica le impostazioni degli ambienti.

  1. Aprire la console IAM. Nel riquadro di navigazione, seleziona Policy.

  2. Inserisci il nome della policy nel campo di ricerca. Viene visualizzata la policy gestita, con un tipo di policy AWSgestita. È possibile espandere la policy per visualizzare le autorizzazioni nella dichiarazione della policy.

  3. Seleziona una di queste policy gestite. Seleziona il pallino accanto alla policy e quindi, in Policy actions (Operazioni policy), seleziona Attach (Collega).

  4. Nella pagina Summary (Riepilogo), seleziona la scheda Attached entities (Entità collegate). Scegli Collega.

  5. Nella pagina Attach Policy (Collega policy), filtra il ruolo dell'utente federato nel campo di ricerca. Scegli la casella accanto al nome del ruolo e quindi seleziona Attach policy (Collega policy). Nella scheda Attached entities (Collega entità) viene visualizzato il nuovo collegamento.

Scollega una policy gestita AWS Cloud9 dal ruolo dell'utente federato

Se utilizzi un ambiente di sviluppo AWS Cloud9, puoi rimuovere l'accesso di un utente federato, scollegando la policy che concede l'accesso. Per eseguire questi passaggi, è necessario aver effettuato l'accesso alla console come utente root, utente amministratore dell'account oppure utente IAM o utente federato con la policy AdministratorAccess gestita associata o equivalente.

  1. Aprire la console IAM. Nel riquadro di navigazione, seleziona Policy.

  2. Inserisci il nome del progetto nel campo di ricerca.

  3. Seleziona il pallino accanto alla policy e quindi, in Policy actions (Operazioni policy), seleziona Attach (Collega).

  4. Nella pagina Summary (Riepilogo), seleziona la scheda Attached entities (Entità collegate).

  5. Filtra il ruolo dell'utente federato nel campo di ricerca. Seleziona Detach (Scollega).

Utilizzo di credenziali temporanee con AWS CodeStar

È possibile utilizzare credenziali temporanee per effettuare l'accesso con la federazione, assumere un ruolo IAM o un ruolo multi-account. Puoi ottenere credenziali di sicurezza temporanee chiamando operazioni AWS STS API come AssumeRoleo. GetFederationToken

AWS CodeStar supporta l'uso di credenziali temporanee, ma la funzionalità dei membri del AWS CodeStar team non funziona per l'accesso federato. AWS CodeStarla funzionalità dei membri del team supporta solo l'aggiunta di un utente IAM come membro del team.

Ruoli collegati ai servizi

Ruoli collegati al servizio consentono ai servizi AWS di accedere a risorse in altri servizi per completare un'operazione a tuo nome. I ruoli collegati ai servizi sono visualizzati nell'account IAM e sono di proprietà del servizio. Un amministratore può visualizzare, ma non modificare le autorizzazioni dei ruoli collegati ai servizi.

AWS CodeStar non supporta ruoli collegati ai servizi.

Ruoli dei servizi

Questa caratteristica consente a un servizio di assumere un ruolo di servizio per conto dell'utente. Questo ruolo consente al servizio di accedere alle risorse in altri servizi per completare un'operazione per conto dell'utente. I ruoli dei servizi sono visualizzati nell'account IAM e sono di proprietà dell'account. Ciò significa che un amministratore può modificare le autorizzazioni per questo ruolo. Tuttavia, il farlo potrebbe pregiudicare la funzionalità del servizio.

AWS CodeStar supporta i ruoli di servizio. AWS CodeStarutilizza un ruolo di servizio quando crea e gestisce le risorse per il tuo progetto. aws-codestar-service-role Per ulteriori informazioni, consulta Roles Terms and Concepts nella IAM User Guide.

Importante

È necessario essere registrati come utente amministratore di un o account radice per creare questo ruolo di servizio. Per ulteriori informazioni, consulta Solo accesso per la prima volta: le credenziali dell'utente root e Creazione del primo utente e gruppo di amministratori nella Guida per l'utente IAM.

Questo ruolo viene creato la prima volta che si crea un progetto in AWS CodeStar. Il ruolo di servizio agisce a nome di:

  • Crea le risorse selezionate al momento della creazione di un progetto.

  • Visualizza le informazioni relative a tali risorse nel pannello di controllo del progetto AWS CodeStar.

Inoltre, agisce a tuo nome quando si gestiscono le risorse per un progetto. Per un esempio di questa dichiarazione di policy, consulta AWSCodeStarServiceRole Policy.

Inoltre, AWS CodeStar crea diversi ruoli di servizio specifici del progetto, a seconda del tipo di progetto. I ruoli toolchain e AWS CloudFormation vengono creati per ogni tipo di progetto.

  • I ruoli AWS CloudFormation consentono ad AWS CodeStardi accedere ad AWS CloudFormation per creare e modificare gli stack per il progetto AWS CodeStar.

  • I ruoli toolchain consentono ad AWS CodeStar di accedere ad altri servizi AWS per creare e modificare le risorse per il progetto AWS CodeStar.