Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de proyectos compartidos
El uso compartido de proyectos permite a los propietarios compartir susAWS CodeBuildproyectos con otrosAWScuentas o usuarios. 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.
Contenido
Requisitos previos para compartir proyectos
Para compartir un proyecto, su cuenta de AWS debe ser la propietaria. No puede compartir un proyecto que se ha compartido con usted.
Requisitos previos para acceder a proyectos compartidos con usted
Para tener acceso a un proyecto compartido, el rol de IAM de un consumidor requiere elBatchGetProjects
permiso. Puede adjuntar la siguiente política a su rol de IAM:
{ "Effect": "Allow", "Resource": [ "*" ], "Action": [ "codebuild:BatchGetProjects" ] }
Para obtener más información, consulte Uso de políticas basadas en identidades para AWS CodeBuild.
Servicios relacionados de
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.
Compartir un proyecto
El consumidor puede utilizar tanto elAWS CLIyAWS CodeBuildpara 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
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.
Para compartir un proyecto que posee (consola de CodeBuild)
Abra el iconoAWS CodeBuildConsola de enhttps://console.aws.amazon.com/codesuite/codebuild/home
. -
En el panel de navegación, elija Build projects.
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)
ConsulteCrear un recurso compartidoen laAWS RAMGuía del usuario de.
Para compartir un proyecto que posee (comando AWS RAM)
Utilice el comando create-resource-share.
Para compartir un proyecto que posee (comando 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 siguiente ejemplo se concede acceso de solo lectura al usuario raíz deAWScuenta 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 laput-resource-policycomando.
aws codebuild put-resource-policy --resource-arn
<project-arn>
--policy file://policy.json -
Consigue elAWS RAMARN compartido de recursos.
aws ram list-resources --resource-owner SELF --resource-arns
<project-arn>
Esto devolverá una respuesta similar a la siguiente:
{ "resources": [ { "arn": "
<project-arn>
", "type": "<type>
", "resourceShareArn": "<resource-share-arn>
", "creationTime": "<creation-time>
", "lastUpdatedTime": "<last-update-time>
" } ] }En la respuesta, copie el
<resource-share-arn>
valor que se utilizará en el paso siguiente. -
Ejecute laAWS RAM promote-recursos-compartido-creado-de-política-comando.
aws ram promote-resource-share-created-from-policy --resource-share-arn
<resource-share-arn>
Dejar de compartir un proyecto compartido
Solo el propietario puede obtener acceso a un proyecto que se ha dejado de compartir, incluidas sus compilaciones. Si deja de compartir un proyecto, cualquier cuenta o usuario de AWS con el que lo haya compartido anteriormente no podrá obtener acceso al proyecto ni a sus compilaciones.
Para dejar de compartir un proyecto compartido que posee, debe quitarlo del recurso compartido. Puede usar la consola de AWS CodeBuild, la consola de AWS RAM o AWS CLI para realizar esta operación.
Para dejar de compartir un proyecto compartido que posee (consola de AWS RAM)
Consulte Actualización de un recurso compartido en la Guía del usuario de AWS RAM.
Para dejar de compartir un proyecto compartido que posee (AWS CLI)
Utilice el comando disassociate-resource-share.
Para dejar de compartir un proyecto que posee (comando CodeBuild)
Ejecute el comando delete-resource-policy y especifique el ARN del proyecto que desea dejar de compartir:
aws codebuild delete-resource-policy --resource-arn
project-arn
Identificación de un proyecto compartido
Los propietarios y los consumidores pueden utilizar la AWS CLI para identificar proyectos compartidos.
Para identificar proyectos compartidos con su cuenta o usuario de AWS (AWS CLI)
Utilice el comando lista de proyectos compartidos para devolver los proyectos que se comparten con usted.
Permisos de los proyectos compartidos
Permisos de los propietarios
El propietario del proyecto puede editar el proyecto y utilizarlo para ejecutar compilaciones.
Permisos de los consumidores
Un consumidor de proyecto puede ver un proyecto y sus compilaciones, pero no puede editarlo ni usarlo para ejecutar compilaciones.