Come AWS CodePipeline funziona con IAM - AWS CodePipeline

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 AWS CodePipeline funziona con IAM

Prima di utilizzare IAM per gestire l'accesso a CodePipeline, è necessario comprendere con quali funzionalità IAM è disponibile l'uso CodePipeline. Per avere una panoramica di alto livello su come CodePipeline e su altri Servizi AWS aspetti del funzionamento di IAM, consulta Servizi AWS la sezione dedicata alla compatibilità con IAM nella IAM User Guide.

Policy CodePipeline basate su identità

Con le policy basate su identità IAM, puoi specificare operazioni e risorse consentite o rifiutate, nonché le condizioni in base alle quali le operazioni sono consentite o rifiutate. CodePipeline supporta operazioni, 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.

Operazioni

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'elemento Actiondi una policy JSON descrive le operazioni che è possibile utilizzare per consentire o negare l'accesso a un criterio. Le azioni politiche in genere hanno lo stesso nome dell'operazione AWS API associata. Ci sono alcune eccezioni, ad esempio le operazioni 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 CodePipeline utilizzano il seguente prefisso prima dell'azione:codepipeline:.

Ad esempio, per concedere a qualcuno l'autorizzazione a visualizzare le pipeline esistenti nell'account, è possibile includere l'operazione codepipeline:GetPipeline nella rispettiva policy. Le dichiarazioni politiche devono includere un NotAction elemento Action or. CodePipeline definisce il proprio set di azioni che descrivono le attività che è possibile eseguire con questo servizio.

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

"Action": [ "codepipeline:action1", "codepipeline:action2"

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

"Action": "codepipeline:Get*"

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

Risorse

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

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

Per le operazioni 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": "*"

CodePipeline risorse e operazioni

Nel CodePipeline, la risorsa principale è una pipeline. In una policy, utilizzi un Amazon Resource Name (ARN) per identificare la risorsa a cui si applica la policy. CodePipeline supporta altre risorse che possono essere utilizzate con la risorsa principale, come fasi, azioni e azioni personalizzate. e vi si può fare riferimento come risorse secondarie. A queste risorse e sottorisorse sono associati Amazon Resource Names (ARNs) univoci. Per ulteriori informazioni su ARNs, consulta Amazon Resource Names (ARN) e Servizio AWS namespace in. Riferimenti generali di Amazon Web Services Per associare l'ARN della pipeline alla pipeline, puoi trovare l'ARN della pipeline in Impostazioni nella console. Per ulteriori informazioni, consulta Visualizza l'ARN della pipeline e l'ARN del ruolo di servizio (console).

Tipo di risorsa Formato ARN

Pipeline

regionaccountarn:aws:codepipeline:: pipeline-name

Stage

arn:aws:codepipeline:: regionaccount:/pipeline-namestage-name

Azione

arn:aws:codepipeline::://regionaccountpipeline-namestage-nameaction-name

Operazione personalizzata arn:aws:codepipeline: ::actiontype:///regionaccountownercategoryproviderversion

Tutte le CodePipeline risorse

arn:aws:codepipeline: *

Tutte le CodePipeline risorse di proprietà dell'account specificato nella regione specificata

arn:aws:codepipeline::: * region account

Nota

La maggior parte dei servizi in AWS uso considera i due punti (:) o una barra (/) come lo stesso carattere in. ARNs Tuttavia, CodePipeline utilizza una corrispondenza esatta nei modelli e nelle regole degli eventi. Assicurati di utilizzare i caratteri ARN corretti durante la creazione di modelli di eventi, in modo che corrispondano alla sintassi ARN nella pipeline che desideri associare.

Nel CodePipeline, ci sono chiamate API che supportano le autorizzazioni a livello di risorsa. Le autorizzazioni a livello di risorsa indicano se una chiamata API è in grado di specificare un ARN della risorsa o se la chiamata API può solo specificare tutte le risorse utilizzando il carattere jolly. Vedi CodePipeline riferimento alle autorizzazioni per una descrizione dettagliata delle autorizzazioni a livello di risorsa e un elenco delle chiamate API che supportano le autorizzazioni a livello di risorsa. CodePipeline

Ad esempio, puoi indicare una pipeline (myPipeline) specifica nella tua dichiarazione utilizzando il relativo ARN come segue:

"Resource": "arn:aws:codepipeline:us-east-2:111222333444:myPipeline"

Puoi anche specificare tutte le pipeline che appartengono a un account specifico utilizzando il carattere jolly (*) come segue:

"Resource": "arn:aws:codepipeline:us-east-2:111222333444:*"

Per specificare tutte le risorse, o se un'azione API specifica non supporta ARNs, utilizzate il carattere jolly (*) nell'Resourceelemento come segue:

"Resource": "*"
Nota

Quando crei policy IAM, segui i consigli di sicurezza standard che prevedono la concessione del privilegio minimo, ovvero la concessione solo delle autorizzazioni necessarie per eseguire un'attività. Se una chiamata API supporta ARNs, supporta le autorizzazioni a livello di risorsa e non è necessario utilizzare il carattere jolly (*).

Alcune chiamate CodePipeline API accettano più risorse (ad esempio,). GetPipeline Per specificare più risorse in una singola istruzione, separale ARNs con virgole, come segue:

"Resource": ["arn1", "arn2"]

CodePipeline fornisce una serie di operazioni per utilizzare le CodePipeline risorse. Per un elenco di operazioni disponibili, consulta la sezione CodePipeline riferimento alle autorizzazioni.

Chiavi di condizione

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'elemento Condition(o blocco Condition) consente di specificare le condizioni in cui un'istruzione è in vigore. L'elemento Conditionè facoltativo. È possibile compilare espressioni condizionali che utilizzano operatori di condizione, ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta.

Se specifichi più elementi Conditionin un'istruzione o più chiavi in un singolo elemento Condition, questi vengono valutati da AWS utilizzando un'operazione ANDlogica. Se si specificano più valori per una singola chiave di condizione, AWS valuta la condizione utilizzando un'operazione logica. OR Tutte le condizioni devono essere soddisfatte prima che le autorizzazioni dell'istruzione vengano concesse.

È possibile anche utilizzare variabili segnaposto quando specifichi le condizioni. Ad esempio, è possibile autorizzare un utente IAM ad accedere a una risorsa solo se è stata taggata con il relativo nome utente IAM. Per ulteriori informazioni, consulta Elementi delle policy IAM: variabili e tag nella Guida per l'utente di IAM.

AWS supporta chiavi di condizione globali e chiavi di condizione specifiche del servizio. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di contesto delle condizioni AWS globali nella Guida per l'utente IAM.

CodePipeline definisce il proprio set di chiavi di condizione e supporta anche l'utilizzo di alcune chiavi di condizione globali. Per visualizzare tutte le chiavi di condizione AWS globali, consulta AWS Global Condition Context Keys nella IAM User Guide.

Tutte le EC2 azioni di Amazon supportano le chiavi aws:RequestedRegion e ec2:Region condition. Per ulteriori informazioni, consultare Esempio: limitazione dell'accesso a una regione specifica.

Per visualizzare un elenco di chiavi di CodePipeline condizione, consulta Condition Keys for AWS CodePipeline nella IAM User Guide. Per sapere con quali azioni e risorse puoi utilizzare una chiave di condizione, consulta Azioni definite da AWS CodePipeline.

Esempi

Per visualizzare esempi di politiche CodePipeline basate sull'identità, vedere. Esempi di policy AWS CodePipeline di basate su identità

CodePipeline politiche basate sulle risorse

CodePipeline non supporta politiche basate sulle risorse. Tuttavia, viene fornito un esempio di policy basata sulle risorse per il servizio S3 correlato a. CodePipeline

Esempi

Per visualizzare esempi di politiche basate sulle risorse, CodePipeline consulta, Esempi di policy basate su risorse AWS CodePipeline

Autorizzazione basata su tag CodePipeline

Puoi allegare tag alle CodePipeline risorse o passare tag in una richiesta a. CodePipeline Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'elemento condizione di una policy utilizzando le chiavi di condizione codepipeline:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys. Per ulteriori informazioni sul tagging delle risorse di CodePipeline , consulta Applicazione di tag alle risorse .

Per visualizzare un esempio di policy basata su identità per limitare l'accesso a una risorsa in base ai tag di tale risorsa, consulta Utilizzo dei tag per controllare l'accesso alle risorse CodePipeline.

CodePipeline Ruoli IAM

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

Utilizzo di credenziali temporanee con CodePipeline

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

CodePipeline supporta l'uso di credenziali temporanee.

Ruoli di servizio

CodePipeline 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'azione per conto dell'utente. I ruoli dei servizi sono visualizzati nell'account IAM e sono di proprietà dell'account. Ciò significa che un amministratore IAM può modificare le autorizzazioni per questo ruolo. Tuttavia, questo potrebbe pregiudicare la funzionalità del servizio.

CodePipeline supporta i ruoli di servizio.