

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

# In che modo AWS CodePipeline funziona con IAM
<a name="security_iam_service-with-iam"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) *User Guide*.

**Topics**
+ [CodePipeline politiche basate sull'identità](#security_iam_service-with-iam-id-based-policies)
+ [CodePipeline politiche basate sulle risorse](#security_iam_service-with-iam-resource-based-policies)
+ [Autorizzazione basata su tag CodePipeline](#security_iam_service-with-iam-tags)
+ [CodePipeline Ruoli IAM](#security_iam_service-with-iam-roles)

## CodePipeline politiche basate sull'identità
<a name="security_iam_service-with-iam-id-based-policies"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) nella *Guida per l'utente IAM*.

### Azioni
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** 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 in una policy. Includere le operazioni in una policy per concedere le autorizzazioni di 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions) nella *IAM User Guide*.

### Resources
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità 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’operazione. Come best practice, specifica una risorsa utilizzando il suo [nome della risorsa Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Per le azioni che non supportano le autorizzazioni a livello di risorsa, si utilizza un carattere jolly (\*) per indicare che l’istruzione si applica a tutte le risorse.

```
"Resource": "*"
```



#### risorse e operazioni
<a name="ACP_ARN_Format"></a>

In , la risorsa principale è una pipeline. In una policy, utilizza un Amazon Resource Name (ARN) per identificare la risorsa cui si applica la policy. supporta altre risorse che possono essere utilizzate con la risorsa principale, ad esempio fasi, operazioni e operazioni personalizzate. e vi si può fare riferimento come risorse secondarie. Alle risorse e alle risorse secondarie sono associati Amazon Resource Names (ARN) univoci. Per ulteriori informazioni sugli ARN, consulta [Amazon Resource Names (ARN) Servizio AWS e](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 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)](pipelines-settings-console.md).


| Tipo di risorsa | Formato ARN | 
| --- | --- | 
| 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: ::actiontype:///{{region}}{{account}}{{owner}}{{category}}{{provider}}{{version}} | 
| Tutte le risorse  | arn:aws:codepipeline: \* | 
| Tutte le risorse di proprietà dell'account specificato nella regione specificata | arn:aws:codepipeline::: {{region}} \* {{account}} | 

**Nota**  
La maggior parte dei servizi AWS considera i due punti (:) o una barra (/) come lo stesso carattere negli ARN. Tuttavia, utilizza una corrispondenza esatta nei modelli di eventi e nelle regole. 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.

In, ci sono chiamate API che supportano le autorizzazioni a livello di risorsa. Resource-level le autorizzazioni indicano se una chiamata API può specificare un ARN di risorsa o se la chiamata API può specificare solo tutte le risorse utilizzando il carattere jolly. Vedi [riferimento per le autorizzazioni](permissions-reference.md) 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 una determinata operazione API non supporta gli ARN, usa il carattere jolly (\*) nell'elemento `Resource` come mostrato di seguito:

```
"Resource": "{{*}}"
```

**Nota**  
Quando create le policy IAM, 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 chiamata API supporta gli ARN, allora supporta anche le autorizzazioni a livello di risorsa e non è necessario utilizzare il carattere jolly (\*).

Alcune chiamate API accettano più risorse (ad esempio,). `GetPipeline` Per specificare più risorse in una sola dichiarazione, separa i relativi ARN con una virgola come mostrato di seguito:

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

 fornisce una serie di operazioni per utilizzare le risorse. Per un elenco di operazioni disponibili, consulta la sezione [riferimento per le autorizzazioni](permissions-reference.md).

### Chiavi di condizione
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

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

L’elemento `Condition` specifica quando le istruzioni vengono eseguite in base a criteri definiti. È possibile compilare espressioni condizionali che utilizzano [operatori di condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di [contesto delle condizioni AWS globali nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) nella *IAM User Guide*.



 Tutte le operazioni Amazon EC2 supportano le chiavi di condizione `aws:RequestedRegion` e `ec2:Region`. Per ulteriori informazioni, consultare [Esempio: limitazione dell'accesso a una regione specifica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region). 

Per visualizzare un elenco di chiavi di CodePipeline condizione, consulta [Condition Keys for AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-policy-keys) nella *IAM User Guide*. Per sapere con quali azioni e risorse puoi utilizzare una chiave di condizione, consulta [Azioni definite da AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions).

### Esempi
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Per visualizzare esempi di politiche CodePipeline basate sull'identità, vedere. [AWS CodePipeline esempi di politiche basate sull'identità](security_iam_id-based-policy-examples.md)

## CodePipeline politiche basate sulle risorse
<a name="security_iam_service-with-iam-resource-based-policies"></a>

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
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>



Per visualizzare esempi di politiche basate sulle risorse, CodePipeline consulta, [AWS CodePipeline esempi di politiche basate sulle risorse](security_iam_resource-based-policy-examples.md)

## Autorizzazione basata su tag CodePipeline
<a name="security_iam_service-with-iam-tags"></a>

È possibile allegare tag alle CodePipeline risorse o passare tag in una richiesta a CodePipeline. Per controllare l’accesso basato su tag, fornire informazioni sui tag nell’[elemento condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 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](tag-resources.md).

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 CodePipeline risorse](tag-based-access-control.md).

## CodePipeline Ruoli IAM
<a name="security_iam_service-with-iam-roles"></a>

Un [ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) è un'entità nel tuo AWS account che dispone di autorizzazioni specifiche.

### Utilizzo di credenziali temporanee con CodePipeline
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

È 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 [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)o. [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) 

CodePipeline supporta l'uso di credenziali temporanee. 

### Ruoli di servizio
<a name="security_iam_service-with-iam-roles-service"></a>

CodePipeline consente a un servizio di assumere un [ruolo di servizio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) 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. 