El uso compartido de proyectos permite a los propietarios compartir sus proyectos de AWS CodeBuild con otras cuentas o usuarios de AWS. En este modelo, la cuenta propietaria del proyecto (propietario) comparte un proyecto con otras cuentas (consumidores). Un consumidor no puede editar ni ejecutar un proyecto.
Temas
Uso compartido de un proyecto
El consumidor puede usar las consolas de AWS CLI o AWS CodeBuild para ver el proyecto y las compilaciones que ha compartido. El consumidor no puede editar ni ejecutar el proyecto.
Puede añadir un proyecto a un recurso compartido existente o puede crear uno en la consola de AWS RAM
nota
No se puede eliminar un proyecto con compilaciones que se haya añadido a un recurso compartido.
Para compartir un proyecto con unidades organizativas o con toda la organización, debe habilitar el uso compartido con AWS Organizations. Para obtener más información, consulte Habilitar el uso compartido con AWS Organizations en la Guía del usuario de AWS RAM.
Puede usar la consola de AWS CodeBuild, la consola de AWS RAM o AWS CLI para compartir un proyecto de su propiedad.
Requisitos previos para compartir proyectos
Antes de empezar a compartir un proyecto, asegúrese de que pertenece a su cuenta de AWS. No puede compartir un proyecto que se ha compartido con usted.
Para compartir un proyecto de su propiedad (consola de CodeBuild)
Abra la consola de AWS CodeBuild en https://console.aws.amazon.com/codesuite/codebuild/home
. -
En el panel de navegación, elija Proyectos de compilación.
nota
De forma predeterminada, solo se muestran los 10 últimos proyectos de compilación. Para ver más proyectos de compilación, elija el icono de rueda dentada y, a continuación, seleccione un valor diferente para Projects per page (Proyectos por página) o use las flechas atrás y adelante.
-
Elija el proyecto que desea compartir y, a continuación, elija Share (Compartir). Para obtener más información, consulte Crear un recurso compartido en la Guía del usuario de AWS RAM.
Para compartir un proyecto que posee (consola de AWS RAM)
Consulte Crear un recurso compartido en la Guía del usuario de AWS RAM.
Para compartir un proyecto que posee (comando AWS RAM)
Utilice el comando create-resource-share.
Para compartir un proyecto de su propiedad (comando de CodeBuild)
Utilice el comando put-resource-policy:
-
Cree un archivo llamado
policy.json
y copie lo siguiente en él.{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Principal":{ "AWS":"
<consumer-aws-account-id-or-user>
" }, "Action":[ "codebuild:BatchGetProjects", "codebuild:BatchGetBuilds", "codebuild:ListBuildsForProject"], "Resource":"<arn-of-project-to-share>
" }] } -
Actualice
policy.json
con el ARN del proyecto y los identificadores para compartirlo. En el ejemplo siguiente, se concede acceso de solo lectura al usuario raíz de la cuenta de AWS identificada por 123456789012.{ "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" }] }
-
Ejecute el comando put-resource-policy.
aws codebuild put-resource-policy --resource-arn
<project-arn>
--policy file://policy.json -
Obtenga el ARN del recurso compartido de AWS RAM.
aws ram list-resources --resource-owner SELF --resource-arns
<project-arn>
Esto devolverá una respuesta con un aspecto similar al siguiente:
{ "resources": [ { "arn": "
<project-arn>
", "type": "<type>
", "resourceShareArn": "<resource-share-arn>
", "creationTime": "<creation-time>
", "lastUpdatedTime": "<last-update-time>
" } ] }De la respuesta, copie el valor
<resource-share-arn>
valor para usarlo en el paso siguiente. -
Ejecute el comando de AWS RAM promote-resource-share-created-from-policy.
aws ram promote-resource-share-created-from-policy --resource-share-arn
<resource-share-arn>
Servicios relacionados
El uso compartido de proyectos se integra con AWS Resource Access Manager (AWS RAM), un servicio que le permite compartir sus recursos de AWS con cualquier cuenta de AWS o a través de AWS Organizations. Con AWS RAM, comparte los recursos mediante la creación de un recurso compartido que especifica los recursos y los consumidores con los que los comparte. Los consumidores pueden ser cuentas de AWS individuales, unidades organizativas en AWS Organizations o toda una organización de AWS Organizations.
Para obtener más información, consulte la Guía del usuario de AWS RAM.