

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/)*.

# Accédez aux CodeBuild projets partagés avec vous
<a name="project-sharing-access-prereqs"></a>

Pour accéder à un projet partagé, le rôle IAM du consommateur nécessite une `BatchGetProjects` autorisation. Vous pouvez associer la politique suivante à leur rôle IAM : 

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

 Pour de plus amples informations, veuillez consulter [Utilisation de politiques basées sur l'identité pour AWS CodeBuild](auth-and-access-control-iam-identity-based-access-control.md). 

# Annuler le partage d'un projet partagé
<a name="project-sharing-unshare"></a>

Un projet non partagé, y compris ses générations, n'est accessible que par son propriétaire. Si vous résiliez le partage d'un projet, les AWS comptes ou utilisateurs avec lesquels vous l'avez précédemment partagé ne peuvent pas accéder au projet ou à ses versions.

Pour annuler le partage d'un projet partagé qui vous appartient, vous devez le supprimer du partage de ressources. Vous pouvez utiliser la AWS CodeBuild console, AWS RAM la console ou AWS CLI pour ce faire.

**Pour annuler le partage d'un projet partagé dont vous êtes le propriétaire (AWS RAM console)**  
Consultez la section [Mise à jour d'un partage de ressources](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update) du *Guide de l'utilisateur AWS RAM *.

**Pour annuler le partage d'un projet partagé que vous possédez (AWS CLI)**  
Utilisez la commande [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html).

 **Pour annuler le partage d'un projet dont vous êtes propriétaire (CodeBuild commande)** 

Exécutez la [delete-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/delete-resource-policy.html)commande et spécifiez l'ARN du projet dont vous souhaitez annuler le partage :

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

# Identifier un projet partagé
<a name="project-sharing-identify"></a>

Les propriétaires et les consommateurs peuvent les utiliser AWS CLI pour identifier les projets partagés.

**Pour identifier les projets partagés avec votre AWS compte ou utilisateur (AWS CLI)**  
Utilisez la [list-shared-projects](https://docs.aws.amazon.com/cli/latest/reference/codebuild/list-shared-projects.html)commande pour renvoyer les projets partagés avec vous.

# Autorisations de projet partagés
<a name="project-sharing-perms"></a>

## Autorisations accordées aux propriétaires
<a name="project-perms-owner"></a>

Un propriétaire de projet peut modifier le projet et l'utiliser pour exécuter des générations.

## Autorisations accordées aux consommateurs
<a name="project-perms-consumer"></a>

Un consommateur de projet peut afficher un projet et ses versions, mais ne peut pas modifier un projet ou l'utiliser pour exécuter des générations.