Información general sobre la administración de los permisos de acceso a los recursos de AWS CodeBuild - AWS CodeBuild

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.

Información general sobre la administración de los permisos de acceso a los recursos de AWS CodeBuild

Cada recurso de AWS es propiedad de una cuenta de AWS y los permisos para crear o tener acceso a un recurso se rigen por las políticas de permisos. Un administrador de cuentas puede asociar políticas de permisos a identidades de IAM (es decir, usuarios, grupos y funciones).

nota

Un administrador de la cuenta (o usuario administrador) es un usuario con privilegios de administrador. Para obtener más información, consulte Prácticas recomendadas de IAM en la Guía del usuario de IAM.

Cuando concede permisos, decide quién obtiene los permisos, los recursos a los que se tiene acceso y las acciones que se pueden realizar en esos recursos.

Recursos y operaciones de AWS CodeBuild

En AWS CodeBuild, el recurso principal es un proyecto de compilación. En una política, se usa un nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política. Las compilaciones son también recursos y tienen ARN asociados. Para obtener más información, consulteNombres de recursos de Amazon (ARN) yAWSEspacios de nombres de servicios deen laReferencia general de Amazon Web Services.

Tipo de recurso Formato de ARN
Proyecto de compilación

arn:aws:codebuild:region-ID:account-ID:project/project-name

Compilación

arn:aws:codebuild:region-ID:account-ID:build/build-ID

Grupo de informes arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name
Informar arn:aws:codebuild:region-ID:account-ID:report/report-ID

Todos CodeBuild recursos

arn:aws:codebuild:*

Todos CodeBuild recursos de que pertenecen a la cuenta especificada en la CLI deAWSRegión

arn:aws:codebuild:region-ID:account-ID:*

nota

La mayoría de los servicios de AWS tratan el carácter de dos puntos (:) o la barra inclinada (/) como el mismo carácter en los ARN. Sin embargo, CodeBuild utiliza una coincidencia exacta en las reglas y los patrones de recursos. Asegúrese de utilizar los caracteres correctos cuando cree patrones de eventos para que coincidan con la sintaxis de ARN en el recurso.

Por ejemplo, puede indicar un proyecto de compilación específico (myBuildProject) en su extracto usando su ARN de este modo:

"Resource": "arn:aws:codebuild:us-east-2:123456789012:project/myBuildProject"

Para especificar todos los recursos, o si una acción de API no admite ARN, utilice el carácter comodín (*) en el elemento Resource de la siguiente manera:

"Resource": "*"

Alguno CodeBuild Las acciones de la API de aceptan varios recursos (por ejemplo,BatchGetProjects). Para especificar varios recursos en una única instrucción, separe sus ARN con comas, tal y como se indica a continuación:

"Resource": [ "arn:aws:codebuild:us-east-2:123456789012:project/myBuildProject", "arn:aws:codebuild:us-east-2:123456789012:project/myOtherBuildProject" ]

CodeBuild proporciona un conjunto de operaciones para trabajar con CodeBuild de AWS. Para ver una lista, consulte Referencia de permisos de AWS CodeBuild.

Titularidad de los recursos

La cuenta de AWS es la propietaria de los recursos que se crean en ella, independientemente de quién los haya creado. En concreto, el propietario de los recursos es la cuenta de AWS de la entidad principal (es decir, la cuenta raíz, un usuario de IAM o un rol de IAM) que autentica la solicitud de creación de recursos. Los siguientes ejemplos ilustran cómo funciona:

  • Si utiliza las credenciales de la cuenta raíz deAWScuenta para crear una regla, tuAWSla cuenta es la propietaria de CodeBuild recurso.

  • Si crea un usuario de IAM en suAWScuenta y conceder permisos para crear CodeBuild recursos para ese usuario, el usuario puede crear CodeBuild de AWS. Sin embargo, la cuenta de AWS a la que pertenece el usuario será la propietaria de los recursos de CodeBuild.

  • Si crea un rol de IAM en suAWScuenta con permisos para crear CodeBuild recursos, cualquiera que pueda asumir el rol puede crear CodeBuildde AWS. La cuenta de AWS a la que pertenece la función será la propietaria de los recursos de CodeBuild.

Administración del acceso a los recursos

Una política de permisos describe quién tiene acceso a qué recursos.

nota

En esta sección, se describe cómo se utiliza IAM en AWS CodeBuild. No se proporciona información detallada sobre el servicio de IAM. Para ver la documentación completa de IAM, consulte ¿Qué es IAM? en la Guía del usuario de IAM. Para obtener más información acerca de la sintaxis y las descripciones de las políticas del IAM, consulte Referencia de políticas de IAM de AWS en la Guía del usuario de IAM.

Las políticas que se asocian a una identidad de IAM se denominan políticas basadas en identidades (o políticas de IAM). Las políticas que se adjuntan a un recurso se denominan políticas basadas en recursos. CodeBuild es compatible con las políticas basadas en identidad y las políticas basadas en recursos para ciertas API de solo lectura con el fin de compartir recursos entre cuentas.

Políticas con base en identidad

Puede asociar políticas a identidades de IAM.

  • Asociar una política de permisos a un usuario o un grupo de su cuenta: para conceder permisos a un usuario para ver proyectos de compilación y otros recursos de AWS CodeBuild en la consola de AWS CodeBuild, puede asociar una política de permisos a un usuario o grupo al que pertenezca el usuario.

  • Asociar una política de permisos a un rol (conceder permisos entre cuentas): puede asociar una política de permisos basada en identidad a un rol de &IAM; para conceder permisos entre cuentas. Por ejemplo, el administrador de la Cuenta A puede crear un rol para conceder permisos entre cuentas a otra cuenta de AWS (por ejemplo, a la Cuenta B) o a un servicio de AWS, tal y como se indica a continuación:

    1. El administrador de la Cuenta A crea un rol de IAM y asocia una política de permisos a dicho rol, que concede permisos sobre los recursos de la Cuenta A.

    2. El administrador de la Cuenta A asocia una política de confianza al rol que identifica la Cuenta B como la entidad principal que puede asumir el rol.

    3. A continuación, el administrador de la Cuenta B puede delegar a cualquier usuario de la Cuenta B permisos para adoptar la función. De este modo, los usuarios de la Cuenta B podrán crear recursos y tener acceso a ellos en la Cuenta A. Si desea conceder a un servicio de AWS permisos para adoptar la función, la entidad principal de la política de confianza deberá ser también la entidad principal de un servicio de AWS.

    Para obtener más información sobre el uso de IAM para delegar permisos, consulte Administración de accesos en la Guía del usuario de IAM.

En CodeBuild, las políticas basadas en identidad se utilizan para administrar los permisos a los recursos relacionados con el proceso de implementación. Por ejemplo, puede controlar el acceso a proyectos de compilación.

Puede crear políticas de IAM para restringir las llamadas y los recursos a los que los usuarios de su cuenta tienen acceso y, a continuación, asociar esas políticas a los usuarios de IAM. Para obtener más información acerca de cómo crear roles de IAM y para ver ejemplos de instrucciones de políticas de IAM para CodeBuild, consulteInformación general sobre la administración de los permisos de acceso a los recursos de AWS CodeBuild.

Acceso seguro a los buckets de S3

Le recomendamos encarecidamente que incluya los siguientes permisos en su rol de IAM para verificar el bucket de S3 asociado a su CodeBuild el proyecto es de su propiedad o de alguien de confianza. Estos permisos no se incluyen en los roles y las políticas administradas de AWS. Debe agregarlos usted.

  • s3:GetBucketAcl

  • s3:GetBucketLocation

Si cambia el propietario de un bucket de S3 que se utiliza en el proyecto, debe asegurarse de que usted sigue siendo el propietario del bucket y, si no es así, actualizar los permisos en el rol de IAM. Para obtener más información, consulte AñadirCodeBuildpermisos de acceso a un grupo de IAM o a un usuario de IAM y Crear un rol de servicio de CodeBuild.

Especificación de elementos de política: Acciones, efectos y entidades de seguridad

Para cada recurso de AWS CodeBuild, el servicio define un conjunto de operaciones de API. Para conceder permisos para estas operaciones de API, CodeBuild define un conjunto de acciones que puede especificar en una política. Algunas operaciones de API pueden requerir permisos para más de una acción para poder realizar la operación de API. Para obtener más información, consulte Recursos y operaciones de AWS CodeBuild y Referencia de permisos de AWS CodeBuild.

A continuación, se indican los elementos básicos de la política:

  • Recurso: use un Nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política.

  • Acción: use palabras de clave de acción para identificar las operaciones del recurso que desea permitir o denegar. Por ejemplo, el permiso codebuild:CreateProject concede al usuario permiso para realizar la operación CreateProject.

  • Efecto: especifique el efecto (permitir o denegar) cuando el usuario solicite la acción específica. Si no concede acceso de forma explícita (permitir) a un recurso, el acceso se deniega implícitamente. También puede denegar explícitamente el acceso a un recurso. Puede hacer esto para asegurarse de que un usuario no pueda tener acceso a un recurso, aunque otra política le otorgue acceso.

  • Principal— En las políticas basadas en identidad (políticas de IAM), el usuario al que se asocia esta política es la entidad principal implícita. Para las políticas basadas en recursos, debe especificar el usuario, cuenta, servicio u otra entidad que desee que reciba permisos.

Para obtener más información sobre la sintaxis y descripciones de las políticas de IAM consulte Referencia de la política de IAM de AWS de la Guía del usuario de IAM.

Para obtener una tabla que muestra todos los CodeBuild Las acciones de la API de y los recursos a los que se aplican, consulte laReferencia de permisos de AWS CodeBuild.