

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

# AWS CodePipeline esempi di politiche basate sull'identità
<a name="security_iam_id-based-policy-examples"></a>

Per impostazione predefinita, gli utenti e i ruoli IAM non dispongono dell'autorizzazione per creare o modificare risorse CodePipeline . Inoltre, non possono eseguire attività utilizzando l'API Console di gestione AWS AWS CLI, o. AWS Un amministratore IAM deve creare policy IAM che concedono a utenti e ruoli l'autorizzazione per eseguire operazioni API specifiche sulle risorse specificate di cui hanno bisogno. L'amministratore deve quindi allegare queste policy a utenti o IAM che richiedono tali autorizzazioni.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consulta [Creazione di policy nella scheda JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) nella *Guida per l'utente IAM*.

Per informazioni su come creare una pipeline che utilizzi le risorse di un altro account e per i relativi esempi di policy, consulta[Crea una pipeline CodePipeline che utilizzi le risorse di un altro account AWS](pipelines-create-cross-account.md).

**Topics**
+ [Best practice per le policy](security_iam_service-with-iam-policy-best-practices.md)
+ [Visualizzazione di risorse nella console](security-iam-resources-console.md)
+ [Consentire agli utenti di visualizzare le loro autorizzazioni](security_iam_id-based-policy-examples-view-own-permissions.md)
+ [Esempi di politiche basate sull'identità (IAM)](security-iam-id-policies-examples.md)
+ [Utilizzo dei tag per controllare l'accesso alle CodePipeline risorse](tag-based-access-control.md)
+ [Autorizzazioni necessarie per l'uso della console](security-iam-permissions-console.md)
+ [Autorizzazioni necessarie per visualizzare i log di calcolo nella console](security-iam-permissions-console-logs.md)
+ [AWS politiche gestite per AWS CodePipeline](managed-policies.md)
+ [Esempi di policy gestite dal cliente](#customer-managed-policies)

## Esempi di policy gestite dal cliente
<a name="customer-managed-policies"></a>

Questa sezione include policy utente di esempio che concedono autorizzazioni per diverse operazioni . Queste politiche funzionano quando si utilizza l' AWS SDKsAPI o il AWS CLI. Quando si utilizza la console, devi concedere autorizzazioni specifiche aggiuntive alla console. Per ulteriori informazioni, consulta [Autorizzazioni necessarie per l'uso della console](security-iam-permissions-console.md).

**Nota**  
Tutti gli esempi utilizzano la regione degli Stati Uniti occidentali (Oregon) (`us-west-2`) e contengono account fittizi. IDs

**Esempi**
+ [Esempio 1: concessione di autorizzazioni per ottenere lo stato di una pipeline](#identity-based-policies-example-1)
+ [Esempio 2: concessione delle autorizzazioni per abilitare e disabilitare le transizioni tra fasi](#identity-based-policies-example-2)
+ [Esempio 3: concessione delle autorizzazioni per ottenere un elenco di tutti i tipi di operazione disponibili](#identity-based-policies-example-3)
+ [Esempio 4: concessione delle autorizzazioni per approvare o rifiutare operazioni di approvazione manuali](#identity-based-policies-example-4)
+ [Esempio 5: concessione delle autorizzazioni per eseguire il polling di processi per un'operazione personalizzata](#identity-based-policies-example-5)
+ [Esempio 6: allega o modifica una politica per l'integrazione di Jenkins con AWS CodePipeline](#identity-based-policies-example-6)
+ [Esempio 7: configurazione dell'accesso tra account a una pipeline](#identity-based-policies-example-7)

### Esempio 1: concessione di autorizzazioni per ottenere lo stato di una pipeline
<a name="identity-based-policies-example-1"></a>

L'esempio seguente concede le autorizzazioni per ottenere lo stato della pipeline denominata `MyFirstPipeline`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:GetPipelineState"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"
        }
    ]
}
```

------

### Esempio 2: concessione delle autorizzazioni per abilitare e disabilitare le transizioni tra fasi
<a name="identity-based-policies-example-2"></a>

L'esempio seguente concede le autorizzazioni per disabilitare e abilitare le transizioni tra tutte le fasi nella pipeline denominata `MyFirstPipeline`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:DisableStageTransition",
                "codepipeline:EnableStageTransition"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/*"
        }
    ]
}
```

------

Per consentire all'utente di disabilitare e abilitare le transizioni per una singola fase in una pipeline, occorre specificare la fase. Ad esempio, per permettere all'utente di abilitare e disabilitare le transizioni per una fase denominata `Staging` in una pipeline denominata `MyFirstPipeline`:

```
"Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/Staging"
```

### Esempio 3: concessione delle autorizzazioni per ottenere un elenco di tutti i tipi di operazione disponibili
<a name="identity-based-policies-example-3"></a>

L'esempio seguente concede le autorizzazioni per ottenere un elenco di tutti i tipi di operazione disponibili per pipeline nella regione `us-west-2`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:ListActionTypes"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:actiontype:*"
        }
    ]
}
```

------

### Esempio 4: concessione delle autorizzazioni per approvare o rifiutare operazioni di approvazione manuali
<a name="identity-based-policies-example-4"></a>

L'esempio seguente concede le autorizzazioni per approvare o rifiutare operazioni di approvazione manuale in una fase denominata `Staging` in una pipeline denominata `MyFirstPipeline`: 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:PutApprovalResult"
            ],
            "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/Staging/*"
        }
    ]
}
```

------

### Esempio 5: concessione delle autorizzazioni per eseguire il polling di processi per un'operazione personalizzata
<a name="identity-based-policies-example-5"></a>

L'esempio seguente concede le autorizzazioni per eseguire il polling di processi per l'operazione personalizzata denominata `TestProvider`, che è un tipo di operazione di `Test` nella sua prima versione, in tutte le pipeline: 

**Nota**  
Il job worker per un'azione personalizzata potrebbe essere configurato con un AWS account diverso o richiedere un ruolo IAM specifico per funzionare.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:PollForJobs"
            ],
            "Resource": [
                "arn:aws:codepipeline:us-west-2:111222333444:actionType:Custom/Test/TestProvider/1"
            ]
        }
    ]
}
```

------

### Esempio 6: allega o modifica una politica per l'integrazione di Jenkins con AWS CodePipeline
<a name="identity-based-policies-example-6"></a>

Se configuri una pipeline per utilizzare Jenkins per la compilazione o il test, crea un'identità separata per tale integrazione e allega una policy IAM con le autorizzazioni minime richieste per l'integrazione tra Jenkins e. Questa policy è identica alla policy gestita `AWSCodePipelineCustomActionAccess`. L'esempio seguente mostra una politica per l'integrazione con Jenkins:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 

    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:AcknowledgeJob",
                "codepipeline:GetJobDetails",
                "codepipeline:PollForJobs",
                "codepipeline:PutJobFailureResult",
                "codepipeline:PutJobSuccessResult"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Esempio 7: configurazione dell'accesso tra account a una pipeline
<a name="identity-based-policies-example-7"></a>

Puoi configurare l'accesso a pipeline per utenti e gruppi in un altro account AWS . Il modo consigliato consiste nel creare un ruolo nell'account in cui è stata creata la pipeline. Il ruolo dovrebbe consentire agli utenti dell'altro AWS account di assumere quel ruolo e accedere alla pipeline. Per ulteriori informazioni, consulta [Procedura guidata: accesso tra account mediante i ruoli](https://docs.aws.amazon.com/IAM/latest/UserGuide/walkthru_cross-account-with-roles.html).

L'esempio seguente mostra una politica nell'account 80398EXAMPLE che consente agli utenti di visualizzare, ma non modificare, la pipeline denominata nella console. `MyFirstPipeline` Questa policy è basata sulla policy gestita `AWSCodePipeline_ReadOnlyAccess`, ma poiché è relativa alla pipeline `MyFirstPipeline`, non può utilizzare direttamente la policy gestita. Se non desideri limitare la policy a una pipeline specifica, valuta se utilizzare una delle policy gestite create e mantenute da . Per ulteriori informazioni, consulta la sezione relativa all'[utilizzo di policy gestite](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html). È necessario collegare questa policy a un ruolo IAM creato per l'accesso, ad esempio un ruolo denominato: `CrossAccountPipelineViewers`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 

    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codepipeline:GetPipeline",
                "codepipeline:GetPipelineState",
                "codepipeline:ListActionTypes",
                "codepipeline:ListPipelines",
                "iam:ListRoles",
                "s3:GetBucketPolicy",
                "s3:GetObject",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "codedeploy:GetApplication",
                "codedeploy:GetDeploymentGroup",
                "codedeploy:ListApplications",
                "codedeploy:ListDeploymentGroups",
                "elasticbeanstalk:DescribeApplications",
                "elasticbeanstalk:DescribeEnvironments",
                "lambda:GetFunctionConfiguration",
                "lambda:ListFunctions"
            ],
            "Resource": "arn:aws:codepipeline:us-east-2:111122223333:MyFirstPipeline"
        }
    ]
}
```

------

Dopo aver creato questa policy, crea il ruolo IAM nell'account 80398EXAMPLE e collega la policy a quel ruolo. Nelle relazioni di fiducia del ruolo, devi aggiungere l' AWS account che assume questo ruolo.

L'esempio seguente mostra una politica creata nell'*111111111111* AWS account che consente agli utenti di assumere il ruolo denominato `CrossAccountPipelineViewers` nell'account 80398EXAMPLE:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::111122223333:role/CrossAccountPipelineViewers"
        }
    ]
}
```

------