Descripción general de la administración de los permisos de acceso a sus recursos 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.

Descripción general de la administración de los permisos de acceso a sus recursos AWS CodeBuild

Cada AWS recurso es propiedad de una AWS cuenta y los permisos para crear un recurso o acceder a él 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 cuentas (o usuario administrador) es un usuario que tiene 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.

AWS CodeBuild recursos y operaciones

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 también son recursos y están ARNs asociadas a ellos. Para obtener más información, consulte Amazon Resource Names (ARN) y AWS Service Namespaces en. Referencia 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
Flota

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

CodeBuild Todos los recursos

arn:aws:codebuild:*

Todos CodeBuild los recursos que pertenecen a la cuenta especificada en la AWS región especificada

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

importante

Cuando se usa la característica de capacidad reservada, otros proyectos de la misma cuenta pueden acceder a los datos almacenados en caché en las instancias de flota (incluidos los archivos de origen, las capas de Docker y los directorios almacenados en caché que se indican en la especificación de compilación). Esto es así por diseño y permite que los proyectos de la misma cuenta compartan instancias de flotas.

nota

La mayoría de AWS los servicios utilizan los dos puntos (:)) o una barra diagonal (/) como el mismo carácter en ARNs. Sin embargo, CodeBuild utiliza una coincidencia exacta en las reglas y 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 declaración utilizando su ARN de la siguiente manera:

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

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

"Resource": "*"

Algunas acciones de la CodeBuild API aceptan varios recursos (por ejemplo,BatchGetProjects). Para especificar varios recursos en una sola sentencia, sepárelos ARNs con comas, de la siguiente manera:

"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 los CodeBuild recursos. Para ver una lista, consulte AWS CodeBuild referencia de permisos.

Titularidad de los recursos

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

  • Si utilizas las credenciales de la cuenta raíz de tu AWS cuenta para crear una regla, tu AWS cuenta es la propietaria del CodeBuild recurso.

  • Si creas un usuario en tu AWS cuenta y le concedes permisos para crear CodeBuild recursos, el usuario podrá crear CodeBuild recursos. Sin embargo, su AWS cuenta, a la que pertenece el usuario, es propietaria de los CodeBuild recursos.

  • Si crea un rol de IAM en su AWS cuenta con permisos para crear CodeBuild recursos, cualquier persona que pueda asumir el rol podrá crear CodeBuild recursos. Tu AWS cuenta, a la que pertenece el rol, es propietaria de los CodeBuild recursos.

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 asociadas a un recurso se denominan políticas basadas en recursos. CodeBuild admite políticas basadas en la identidad y las políticas basadas en recursos para determinadas políticas de solo lectura con el fin de compartir recursos APIs entre cuentas.

Acceso seguro a los buckets de S3

Le recomendamos encarecidamente que incluya los siguientes permisos en su función de IAM para comprobar que el bucket de S3 asociado a su CodeBuild proyecto es de su propiedad o de alguien de su confianza. Estos permisos no están incluidos en las políticas y funciones AWS administradas. 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 rol de IAM. Para obtener más información, consulte Permita que los usuarios interactúen con CodeBuild y CodeBuild Permiten interactuar con otros servicios AWS.

Especificar elementos de la política: acciones, efectos y entidades principales

Para cada AWS CodeBuild recurso, 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 AWS CodeBuild recursos y operaciones y AWS CodeBuild referencia de permisos.

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.

  • Entidad principal: en las políticas basadas en identidades (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 en la Guía del usuario de IAM.

Para ver una tabla que muestre todas las acciones de la CodeBuild API y los recursos a los que se aplican, consulta laAWS CodeBuild referencia de permisos.