

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

# Condividi progetti di costruzione
<a name="project-sharing"></a>

La condivisione dei progetti consente ai proprietari dei progetti di condividere i propri AWS CodeBuild progetti con altri AWS account o utenti. In questo modello, l'account titolare (proprietario) condivide il proprio progetto con altri account (consumatori). Un consumatore non può modificare o eseguire un progetto.

**Topics**
+ [Condividere un progetto](#project-sharing-share)
+ [Servizi correlati](#project-sharing-related)
+ [Accedi ai CodeBuild progetti condivisi con te](project-sharing-access-prereqs.md)
+ [Annullare la condivisione di un progetto condiviso](project-sharing-unshare.md)
+ [Identifica un progetto condiviso](project-sharing-identify.md)
+ [Autorizzazioni per i progetti condivisi](project-sharing-perms.md)

## Condividere un progetto
<a name="project-sharing-share"></a>

Il consumatore può utilizzare sia la AWS CLI console che la AWS CodeBuild console per visualizzare il progetto e le build che hai condiviso. Il consumatore, inoltre, non può modificare o eseguire il progetto.

Si può creare una condivisione di risorse apposita nella [console AWS RAM](https://console.aws.amazon.com/ram) o aggiungere il progetto a una condivisione preesistente.

**Nota**  
Non è possibile eliminare un progetto con compilazioni, se è stato aggiunto a una condivisione di risorse. 

Per condividere un progetto con unità organizzative o un'intera organizzazione, è necessario abilitare la condivisione con AWS Organizations. Per ulteriori informazioni, consulta [Abilitare la condivisione con AWS Organizations](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html) nella *Guida per l’utente di AWS RAM *.

Puoi usare la AWS CodeBuild console, la AWS RAM console o la AWS CLI per condividere un progetto di tua proprietà.

**Prerequisiti per la condivisione dei progetti**  
Prima di iniziare a condividere un progetto, assicurati che il tuo AWS account ne sia proprietario. Un consumatore non può condividere un progetto a cui ha avuto accesso. 

**Per condividere un progetto di tua proprietà (CodeBuild console)**

1. Apri la AWS CodeBuild console su [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Nel riquadro di navigazione, scegliere **Build projects (Progetti di compilazione)**.
**Nota**  
Per impostazione predefinita, vengono visualizzati solo i 10 progetti di compilazione più recenti. Per visualizzare altri progetti di compilazione, selezionare l'icona a forma di ingranaggio, quindi selezionare un valore diverso per **Projects per page (Progetti per pagina)** oppure utilizzare le frecce avanti e indietro.

1. Selezionare il progetto da condividere, poi fare clic su **Share (Condividi)**. Per ulteriori informazioni, consulta l'argomento relativo alla [creazione di una condivisione di risorse](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create) nella *Guida per l'utente di AWS RAM *. 

**Per condividere un progetto di tua proprietà (console)AWS RAM**  
Consulta [Creating a resource share](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create) in *Guida per l’utente di AWS RAM *.

**Per condividere un progetto di cui sei proprietario (AWS RAM comando)**  
Utilizza il comando [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html).

**Come condividere un progetto che si possiede (comando CodeBuild)**<a name="codebuild-command"></a>

Utilizza il comando [put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/put-resource-policy.html):

1. Creare un file denominato `policy.json` e copiarvi quanto segue. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement":[{
       "Effect":"Allow",
       "Action":[
         "codebuild:BatchGetProjects",
         "codebuild:BatchGetBuilds",
         "codebuild:ListBuildsForProject"],
       "Resource":"arn:aws:iam::*:role/Service*"
     }]
   }
   ```

------

1. Aggiornare `policy.json` con l'ARN del progetto e gli identificatori da coinvolgere nella condivisione. L'esempio seguente concede l'accesso in sola lettura all'utente root per l' AWS account identificato da 123456789012. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement":[{
       "Effect":"Allow",
       "Principal":{
         "AWS": [
           "123456789012"
         ]
       },
       "Action":[
         "codebuild:BatchGetProjects",
         "codebuild:BatchGetBuilds",
         "codebuild:ListBuildsForProject"],
       "Resource":"arn:aws:codebuild:us-west-2:123456789012:project/my-project"
     }]
   }
   ```

------

1. Esegui il comando [put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/put-resource-policy.html).

   ```
   aws codebuild put-resource-policy --resource-arn <project-arn> --policy file://policy.json
   ```

1. Ottieni l'ARN di condivisione AWS RAM delle risorse.

   ```
   aws ram list-resources --resource-owner SELF --resource-arns <project-arn>
   ```

   Ciò restituirà una risposta simile a questa:

   ```
   {
     "resources": [
       {
         "arn": "<project-arn>",
         "type": "<type>",
         "resourceShareArn": "<resource-share-arn>",
         "creationTime": "<creation-time>",
         "lastUpdatedTime": "<last-update-time>"
       }
     ]
   }
   ```

   Dalla risposta, copia il *<resource-share-arn>* valore da utilizzare nel passaggio successivo.

1. Esegui il comando AWS RAM [promote-resource-share-created-from-policy](https://docs.aws.amazon.com/cli/latest/reference/ram/promote-resource-share-created-from-policy.html).

   ```
   aws ram promote-resource-share-created-from-policy --resource-share-arn <resource-share-arn>
   ```

## Servizi correlati
<a name="project-sharing-related"></a>

La condivisione del progetto si integra con AWS Resource Access Manager (AWS RAM), un servizio che consente di condividere AWS le risorse con qualsiasi AWS account o tramite. AWS Organizations Con AWS RAM, creando una *condivisione delle risorse*, è possibile specificare le risorse e i consumatori interessati. I consumatori possono appartenere a singoli AWS account AWS Organizations, a unità organizzative o a AWS Organizations un'intera organizzazione.

Per ulteriori informazioni, consulta la *Guida per l'utente [AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/)*.

# Accedi ai CodeBuild progetti condivisi con te
<a name="project-sharing-access-prereqs"></a>

Per accedere a un progetto condiviso, il ruolo IAM di un consumatore richiede l'`BatchGetProjects`autorizzazione. Puoi allegare la seguente policy al loro ruolo IAM: 

```
{
    "Effect": "Allow",
    "Resource": [
        "*"
    ],
    "Action": [
        "codebuild:BatchGetProjects"
    ]
}
```

 Per ulteriori informazioni, consulta [Utilizzo di politiche basate sull'identità per AWS CodeBuild](auth-and-access-control-iam-identity-based-access-control.md). 

# Annullare la condivisione di un progetto condiviso
<a name="project-sharing-unshare"></a>

Annullandone la condivisione, al progetto e alle sue compilazioni può accedere solo il proprietario. Se annulli la condivisione di un progetto, qualsiasi AWS account o utente con cui lo hai condiviso in precedenza non può accedere al progetto o alle relative build.

Per annullare, basta rimuovere il progetto di proprietà dalla relativa condivisione di risorse. Puoi usare la AWS CodeBuild console, la AWS RAM console o AWS CLI per farlo.

**Per annullare la condivisione di un progetto condiviso di cui sei proprietario (AWS RAM console)**  
Consulta [Aggiornamento di una condivisione di risorse](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update) nella *Guida per l’utente di AWS RAM *.

**Come annullare la condivisione di un progetto che si possiede (AWS CLI)**  
Utilizza il comando [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html).

 **Per annullare la condivisione di un progetto di tua proprietà (comando) CodeBuild ** 

Esegui il [delete-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/delete-resource-policy.html)comando e specifica l'ARN del progetto che desideri annullare la condivisione:

```
aws codebuild delete-resource-policy --resource-arn project-arn
```

# Identifica un progetto condiviso
<a name="project-sharing-identify"></a>

Proprietari e consumatori possono utilizzarli AWS CLI per identificare progetti condivisi.

**Per identificare i progetti condivisi con il tuo AWS account o utente (AWS CLI)**  
Usa il [list-shared-projects](https://docs.aws.amazon.com/cli/latest/reference/codebuild/list-shared-projects.html)comando per restituire i progetti condivisi con te.

# Autorizzazioni per i progetti condivisi
<a name="project-sharing-perms"></a>

## Autorizzazioni per i proprietari
<a name="project-perms-owner"></a>

Un proprietario di progetto può modificare il progetto e utilizzarlo per eseguire compilazioni.

## Autorizzazioni per gli utenti
<a name="project-perms-consumer"></a>

Un consumatore di progetto può visualizzare il progetto con le sue compilazioni, ma non può modificarlo o avvalersene per eseguire compilazioni.