

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Partagez des projets de construction
<a name="project-sharing"></a>

Le partage de projets permet aux propriétaires de projets de partager leurs AWS CodeBuild projets avec d'autres AWS comptes ou utilisateurs. Dans ce modèle, le compte propriétaire du projet (propriétaire) partage un projet avec d'autres comptes (consommateurs). Un consommateur ne peut pas modifier ou exécuter un projet.

**Topics**
+ [Partagez un projet](#project-sharing-share)
+ [Services connexes](#project-sharing-related)
+ [Accédez aux CodeBuild projets partagés avec vous](project-sharing-access-prereqs.md)
+ [Annuler le partage d'un projet partagé](project-sharing-unshare.md)
+ [Identifier un projet partagé](project-sharing-identify.md)
+ [Autorisations de projet partagés](project-sharing-perms.md)

## Partagez un projet
<a name="project-sharing-share"></a>

Le consommateur peut utiliser à la fois la AWS CodeBuild console AWS CLI et pour visualiser le projet et les versions que vous avez partagés. Le consommateur ne peut pas modifier ou exécuter le projet.

Vous pouvez ajouter un projet à un partage de ressources existant ou en créer un dans la [console AWS RAM](https://console.aws.amazon.com/ram).

**Note**  
Vous ne pouvez pas supprimer un projet avec des générations qui ont été ajoutées à un partage de ressources. 

Pour partager un projet avec des unités organisationnelles ou une organisation entière, vous devez activer le partage avec AWS Organizations. Pour de plus amples informations, veuillez consulter [Activer le partage avec AWS Organizations](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html) dans le *Guide de l'utilisateur AWS RAM *.

Vous pouvez utiliser la AWS CodeBuild console, la AWS RAM console ou le AWS CLI pour partager un projet dont vous êtes le propriétaire.

**Prérequis pour le partage de projets**  
Avant de commencer à partager un projet, assurez-vous que votre AWS compte en est propriétaire. Vous ne pouvez pas partager un projet qui a été partagé avec vous. 

**Pour partager un projet dont vous êtes propriétaire (CodeBuild console)**

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

1. Dans le volet de navigation, choisissez **Projets de génération**.
**Note**  
Par défaut, seuls les 10 derniers projets de génération sont affichés. Pour afficher plus de projets de génération, choisissez l'icône en forme d'engrenage, puis choisissez une autre valeur pour **Projects per page (Projets par page)** ou utilisez les flèches avant et arrière.

1. Choisissez le projet que vous souhaitez partager, puis choisissez **Partager**. Pour de plus amples informations, veuillez consulter [Création d'un partage de ressources](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create) dans le *Guide de l'utilisateur AWS RAM *. 

**Pour partager un projet dont vous êtes propriétaire (AWS RAM console)**  
Consultez [Création d’un partage de ressources](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create) dans le *Guide de l’utilisateur AWS RAM *.

**Pour partager un projet dont vous êtes propriétaire (AWS RAM commande)**  
Utilisez la commande [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html).

**Pour partager un projet que vous possédez (commande CodeBuild)**<a name="codebuild-command"></a>

Utilisez la commande [put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/put-resource-policy.html) :

1. Créez un fichier nommé `policy.json` et copiez ce qui suit dans celui-ci. 

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

****  

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

------

1. Mettez à jour `policy.json` avec l'ARN du projet et les identificateurs avec qui le partager. L'exemple suivant accorde un accès en lecture seule à l'utilisateur root pour le AWS compte identifié par 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. Exécutez la commande [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. Obtenez l'ARN du partage de AWS RAM ressources.

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

   Cela renverra une réponse similaire à celle-ci :

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

   Dans la réponse, copiez la {{<resource-share-arn>}} valeur à utiliser à l'étape suivante.

1. Exécutez la commande 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>}}
   ```

## Services connexes
<a name="project-sharing-related"></a>

Le partage de projet s'intègre à AWS Resource Access Manager (AWS RAM), un service qui vous permet de partager vos AWS ressources avec n'importe quel AWS compte ou par le biais de n'importe quel compte AWS Organizations. Avec AWS RAM, vous partagez des ressources en créant un *partage de ressources* qui spécifie les ressources et les consommateurs avec qui les partager. Les consommateurs peuvent être AWS des comptes individuels AWS Organizations, des unités organisationnelles ou une organisation entière AWS Organizations.

Pour plus d’informations, consultez le *Guide de l’utilisateur [AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/)*.