

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 all'indirizzo [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à (AWS RAM console)**  
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 tua proprietà (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>

Utilizzare 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. [Eseguite](https://docs.aws.amazon.com/cli/latest/reference/codebuild/put-resource-policy.html) il comando put-resource-policy.

   ```
   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 le risorse con qualsiasi account o tramite. AWS AWS 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, unità organizzative o a AWS Organizations un'intera organizzazione. AWS Organizations

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