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 IAM funzionalità è possibile utilizzare CodePipeline. Per avere una panoramica generale del funzionamento CodePipeline e delle altre applicazioni Servizi AWS IAM, consulta Servizi AWS la sezione relativa alla funzionalità IAM nella Guida per l'IAMutente.

Policy CodePipeline basate su identità

Con le politiche IAM basate sull'identità, è possibile specificare azioni e risorse consentite o negate, nonché le condizioni in base alle quali le azioni sono consentite o negate. CodePipeline supporta azioni, risorse e chiavi di condizione specifiche. Per informazioni su tutti gli elementi utilizzati in una JSON policy, consulta IAMJSONPolicy Elements Reference nella Guida per l'IAMutente.

Azioni

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

L'Actionelemento di una JSON policy descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a una policy. Le azioni politiche in genere hanno lo stesso nome dell' AWS APIoperazione associata. Esistono alcune eccezioni, come le azioni basate solo sulle autorizzazioni che non hanno un'operazione corrispondente. API 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 delle CodePipeline azioni, vedere Azioni definite da AWS CodePipeline nella Guida per l'IAMutente.

Risorse

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

L'elemento Resource JSON policy specifica l'oggetto o gli oggetti a cui si applica l'azione. Le istruzioni devono includere un elemento Resourceo un elemento NotResource. Come best practice, specifica una risorsa utilizzando il relativo Amazon Resource Name (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": "*"

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 suARNs, consulta Amazon Resource Names (ARN) and Servizio AWS namespaces in. Riferimenti generali di Amazon Web Services Per ARN associare la pipeline alla tua pipeline, puoi trovarla in Impostazioni nella consoleARN. Per ulteriori informazioni, consulta Visualizza la pipeline ARN e il ruolo del servizio ARN (console).

Tipo di risorsa ARNFormato

Pipeline

arn:aws:codepipeline:region:account:pipeline-name

Stage

arn:aws:codepipeline:region:account:pipeline-name/stage-name

Azione

arn:aws:codepipeline:region:account:pipeline-name/stage-name/action-name

Operazione personalizzata arn:aws:codepipeline:region:account: tipo di azione:owner/category/provider/version

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 ARN i caratteri corretti durante la creazione di modelli di eventi in modo che corrispondano alla ARN sintassi della pipeline che desideri abbinare.

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

Ad esempio, puoi indicare una pipeline specifica (myPipeline) nella tua dichiarazione utilizzandola 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'APIazione specifica non supportaARNs, usa il carattere jolly (*) nell'Resourceelemento come segue:

"Resource": "*"
Nota

Quando create delle IAM politiche, seguite i consigli di sicurezza standard che prevedono la concessione dei privilegi minimi, ossia la concessione solo delle autorizzazioni necessarie per eseguire un'attività. Se una API chiamata supportaARNs, supporta le autorizzazioni a livello di risorsa e non è necessario utilizzare il carattere jolly (*).

Alcune CodePipeline API chiamate accettano più risorse (ad esempio,). GetPipeline Per specificare più risorse in un'unica 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 AWS JSON le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire azioni 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. Puoi 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 logicaOR. Tutte le condizioni devono essere soddisfatte prima che le autorizzazioni dell'istruzione vengano concesse.

Puoi anche utilizzare variabili segnaposto quando specifichi le condizioni. Ad esempio, è possibile concedere a un IAM utente l'autorizzazione ad accedere a una risorsa solo se è contrassegnata con il suo nome IAM utente. Per ulteriori informazioni, consulta gli elementi IAM della politica: variabili e tag nella Guida IAM per l'utente.

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

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 Guida IAM per l'utente.

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 AWS CodePipeline nella Guida per l'IAMutente. Per sapere con quali azioni e risorse è possibile 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 di AWS CodePipeline 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 sull'etichettatura CodePipeline delle risorse, consultaApplicazione di tag alle risorse .

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

CodePipeline IAMruoli

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

Utilizzo di credenziali temporanee con CodePipeline

Puoi utilizzare credenziali temporanee per accedere con la federazione, assumere un IAM ruolo o assumere un ruolo tra account. È possibile ottenere credenziali di sicurezza temporanee chiamando AWS STS API operazioni come o. AssumeRoleGetFederationToken

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 di servizio vengono visualizzati nell'IAMaccount e sono di proprietà dell'account. Ciò significa che un IAM amministratore può modificare le autorizzazioni per questo ruolo. Tuttavia, il farlo potrebbe pregiudicare la funzionalità del servizio.

CodePipeline supporta i ruoli di servizio.