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.
Argomenti
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'Action
elemento 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 Resource
o 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: |
Stage |
arn:aws:codepipeline: |
Azione |
arn:aws:codepipeline: |
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: |
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'Resource
elemento 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 Condition
in un'istruzione o più chiavi in un singolo elemento Condition
, questi vengono valutati da AWS utilizzando un'operazione AND
logica. 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/
o key-name
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.