AWS CodeStar Políticas y permisos a nivel de proyecto - AWS CodeStar

El 31 de julio de 2024, Amazon Web Services (AWS) dejará de ofrecer soporte para la creación y visualización de AWS CodeStar proyectos. Después del 31 de julio de 2024, ya no podrá acceder a la AWS CodeStar consola ni crear nuevos proyectos. Sin embargo, los AWS recursos creados mediante este cambio AWS CodeStar, incluidos los repositorios de código fuente, las canalizaciones y las compilaciones, no se verán afectados por este cambio y seguirán funcionando. AWS CodeStar Esta interrupción no afectará a AWS CodeStar las conexiones y notificaciones.

 

Si desea realizar un seguimiento del trabajo, desarrollar código y crear, probar e implementar sus aplicaciones, Amazon CodeCatalyst ofrece un proceso de inicio simplificado y funciones adicionales para administrar sus proyectos de software. Obtén más información sobre las funciones y los precios de Amazon CodeCatalyst.

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.

AWS CodeStar Políticas y permisos a nivel de proyecto

Al crear un proyecto, AWS CodeStar crea las funciones y políticas de IAM que necesita para gestionar los recursos del proyecto. Las políticas se dividen en tres categorías:

  • Políticas de IAM para miembros del equipo del proyecto.

  • Políticas de IAM para roles de trabajador.

  • Políticas de IAM para un rol de ejecución en tiempo de ejecución.

Políticas de IAM para miembros del equipo

Al crear un proyecto, AWS CodeStar crea tres políticas gestionadas por el cliente para que el propietario, el colaborador y el espectador puedan acceder al proyecto. Todos los AWS CodeStar proyectos contienen políticas de IAM para estos tres niveles de acceso. Estos niveles de acceso son específicos del proyecto y se definen mediante una política gestionada por IAM con un nombre estándar, donde project-id es el ID del AWS CodeStar proyecto (por ejemplo,): my-first-projec

  • CodeStar_project-id_Owner

  • CodeStar_project-id_Contributor

  • CodeStar_project-id_Viewer

importante

Estas políticas están sujetas a cambios por parte de. AWS CodeStar No deben editarse manualmente. Si desea añadir o cambiar los permisos, asocie políticas adicionales al usuario de IAM.

A medida que se añaden miembros del equipo (usuarios de IAM) al proyecto y se eligen sus niveles de acceso, se asocia la política correspondiente al usuario de IAM, otorgando al usuario un conjunto adecuado de permisos para actuar en los recursos del proyecto. En la mayoría de casos, no es necesario asociar ni administrar políticas o permisos directamente en IAM. No se recomienda adjuntar manualmente una política de nivel de AWS CodeStar acceso a un usuario de IAM. Si es absolutamente necesario, como complemento de una política de nivel de AWS CodeStar acceso, puede crear sus propias políticas gestionadas o integradas para aplicar su propio nivel de permisos a un usuario de IAM.

Las políticas están estrechamente circunscritas a los recursos del proyecto y a acciones específicas. A medida que se añaden nuevos recursos a la infraestructura, AWS CodeStar intenta actualizar las políticas de los miembros del equipo para incluir permisos de acceso al nuevo recurso, si se trata de uno de los tipos de recursos compatibles.

nota

Las políticas de niveles de acceso de un AWS CodeStar proyecto se aplican únicamente a ese proyecto. Esto ayuda a garantizar que los usuarios solo puedan ver e interactuar con los AWS CodeStar proyectos para los que tienen permisos, en el nivel que determine su función. Solo los usuarios que crean AWS CodeStar proyectos deben tener aplicada una política que permita el acceso a todos los AWS CodeStar recursos, independientemente del proyecto.

Todas las políticas de nivel de AWS CodeStar acceso varían en función de los AWS recursos asociados al proyecto al que estén asociados los niveles de acceso. A diferencia de otros servicios de AWS , estas políticas se personalizan cuando se crea el proyecto y se actualizan a medida que cambian los recursos del proyecto. Por lo tanto, no hay una política administrada canónica de propietario, colaborador o lector.

AWS CodeStar Política de roles de propietario

La política gestionada por el CodeStar_project-id_Owner cliente permite al usuario realizar todas las acciones AWS CodeStar del proyecto sin restricciones. Esta es la única política que permite a un usuario añadir o eliminar miembros del equipo. El contenido de la política varía según los recursos asociados al proyecto. Consulte AWS CodeStar Política de roles de propietario para ver un ejemplo.

Un usuario de IAM con esta política puede realizar todas AWS CodeStar las acciones del proyecto, pero a diferencia de un usuario de IAM con la AWSCodeStarFullAccess política, no puede crear proyectos. El alcance del codestar:* permiso está limitado a un recurso específico (el AWS CodeStar proyecto asociado a ese ID de proyecto).

AWS CodeStar Política de roles de colaborador

La política administrada por el cliente CodeStar_project-id_Contributor permite al usuario colaborar en el proyecto y cambiar el panel del proyecto, pero no le permite añadir ni eliminar miembros del equipo. El contenido de la política varía según los recursos asociados al proyecto. Consulte Política del rol de Colaborador de AWS CodeStar para ver un ejemplo.

AWS CodeStar Política de roles de espectadores

La política administrada por el cliente CodeStar_project-id_Viewer permite a un usuario ver un proyecto en AWS CodeStar, pero no permite cambiar los recursos ni añadir o eliminar miembros del equipo. El contenido de la política varía según los recursos asociados al proyecto. Consulte AWS CodeStar Política de roles de espectadores para ver un ejemplo.

Políticas de IAM para roles de trabajador

Si crea su AWS CodeStar proyecto después del PDT del 6 de diciembre de 2018, AWS CodeStar crea dos funciones de trabajador CodeStar-project-id-ToolChain yCodeStar-project-id-CloudFormation. Un rol de trabajador es un rol de IAM específico del proyecto que se AWS CodeStar crea para transferirlo a un servicio. Otorga permisos para que el servicio pueda crear recursos y ejecutar acciones en el contexto del proyecto. AWS CodeStar El rol de trabajador de la cadena de herramientas tiene una relación de confianza establecida con los servicios de la cadena de herramientas CodeBuild, como CodeDeploy, y. CodePipeline A los miembros del equipo del proyecto (propietarios y colaboradores) se les concede acceso para transferir el rol de trabajador a servicios posteriores de confianza. Para ver un ejemplo de la instrucción de política insertada para este rol, consulte AWS CodeStar Política sobre las funciones de los trabajadores de Toolchain (a partir del 6 de diciembre de 2018, PDT).

El rol de CloudFormation trabajador incluye permisos para los recursos seleccionados que admite AWS CloudFormation, así como permisos para crear usuarios, roles y políticas de IAM en su pila de aplicaciones. También tiene una relación de confianza establecida con AWS CloudFormation. Para mitigar los riesgos de aumento de privilegios y acciones destructivas, la política de AWS CloudFormation funciones incluye una condición que exige el límite de permisos específico del proyecto para cada entidad de IAM (usuario o rol) creada en el conjunto de infraestructuras. Para ver un ejemplo de la instrucción de política insertada para este rol, consulte AWS CloudFormation Política sobre el rol de los trabajadores.

Para CodeStar los proyectos de AWS creados antes del 6 de diciembre de 2018, PDT AWS CodeStar crea roles de trabajador individuales para los recursos de la cadena de herramientas CodePipeline CodeBuild, como y CloudWatch Events, y también crea un rol de trabajador AWS CloudFormation que admite un conjunto limitado de recursos. Cada uno de estos roles tiene una relación de confianza establecida con el servicio correspondiente. A los miembros del equipo del proyecto (propietarios y colaboradores) y algunos de los demás roles de trabajador se les concede acceso para transferir el rol a servicios posteriores de confianza. Los permisos para los roles de trabajador se definen en una política insertada circunscrita a un conjunto básico de acciones que el rol puede llevar a cabo en un conjunto de recursos del proyecto. Estos permisos son estáticos. Incluyen permisos a los recursos que se incluyen en el proyecto en el momento de la creación, pero no se actualizan cuando se añaden nuevos recursos al proyecto. Para obtener ejemplos de estas instrucciones de política, consulte:

Política de IAM para el rol de ejecución

Para los proyectos creados después del PDT del 6 de diciembre de 2018, AWS CodeStar crea una función de ejecución genérica para el proyecto de muestra en su pila de aplicaciones. El rol se limita a los recursos del proyecto que utilizan la política de límites de permisos. A medida que amplíe el proyecto de muestra, podrá crear funciones de IAM adicionales, y la AWS CloudFormation política de funciones exige que estas funciones se limiten según el límite de los permisos para evitar la escalada de privilegios. Para obtener más información, consulte Añadir un rol de IAM a un proyecto.

Para los proyectos de Lambda creados antes del 6 de diciembre de 2018, PDT crea AWS CodeStar un rol de ejecución de Lambda que tiene una política en línea adjunta con permisos para actuar sobre los recursos de la pila de proyectos. AWS SAM A medida que se agregan nuevos recursos a la plantilla SAM, AWS CodeStar intenta actualizar la política de funciones de ejecución de Lambda para incluir permisos para el nuevo recurso si es uno de los tipos de recursos compatibles.

Límite de permisos de IAM

Después del PDT del 6 de diciembre de 2018, al crear un proyecto, AWS CodeStar crea una política administrada por el cliente y la asigna como límite de permisos de IAM a las funciones de IAM en el proyecto. AWS CodeStar exige que todas las entidades de IAM creadas en la pila de aplicaciones tengan un límite de permisos. Un límite de permisos controla los permisos máximos que puede tener el rol, pero no proporciona ningún permiso al rol. Las políticas de permisos definen los permisos para el rol. Esto significa que, con independencia del número de permisos adicionales que se añadan a un rol, cualquier persona que utilice el rol no puede realizar más que las acciones incluidas en el límite de permisos. Para obtener información sobre cómo se evalúan las políticas de permisos y los límites de permisos, consulte Lógica de evaluación de políticas en la Guía del usuario de IAM.

AWS CodeStar utiliza un límite de permisos específico del proyecto para evitar la escalada de privilegios a recursos ajenos al proyecto. El límite de CodeStar permisos de AWS incluye los ARN de los recursos del proyecto. Para ver un ejemplo de esta instrucción de política, consulte Política de límites de CodeStar permisos de AWS.

La CodeStar transformación de AWS actualiza esta política al añadir o eliminar un recurso compatible del proyecto mediante la pila de aplicaciones (template.yml).

Adición de un límite de permisos de IAM a proyectos existentes

Si tiene un CodeStar proyecto de AWS que se creó antes del 6 de diciembre de 2018 PDT, debe añadir manualmente un límite de permisos a las funciones de IAM del proyecto. Como práctica recomendada, le recomendamos que utilice un límite de recursos específico de un proyecto que incluya únicamente recursos en el proyecto para evitar el escalado de privilegios a recursos fuera del proyecto. Siga estos pasos para usar el límite de permisos CodeStar administrados por AWS que se actualiza a medida que el proyecto evoluciona.

  1. Inicie sesión en la AWS CloudFormation consola y busque la plantilla para la pila de cadenas de herramientas de su proyecto. Esta plantilla se llama awscodestar-project-id.

  2. Seleccione la plantilla, elija Acciones y, a continuación, elija Ver/editar plantilla en Designer.

  3. Localice la sección Resources e incluya el siguiente fragmento de código en la parte superior de la sección.

    PermissionsBoundaryPolicy: Description: Creating an IAM managed policy for defining the permissions boundary for an AWS CodeStar project Type: AWS::IAM::ManagedPolicy Properties: ManagedPolicyName: !Sub 'CodeStar_${ProjectId }_PermissionsBoundary' Description: 'IAM policy to define the permissions boundary for IAM entities created in an AWS CodeStar project' PolicyDocument: Version: '2012-10-17' Statement: - Sid: '1' Effect: Allow Action: ['*'] Resource: - !Sub 'arn:${AWS::Partition}:cloudformation:${AWS::Region}:${AWS::AccountId}:stack/awscodestar-${ProjectId}-*'

    Es posible que necesite permisos de IAM adicionales para actualizar la pila desde la consola de AWS CloudFormation .

  4. (Opcional) Si desea crear roles de IAM específicos de aplicaciones, complete este paso. Desde la consola de IAM, actualiza la política integrada adjunta al AWS CloudFormation rol de tu proyecto para incluir el siguiente fragmento. Es posible que necesite recursos de IAM adicionales para actualizar la política.

    { "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::{AccountId}:role/CodeStar-{ProjectId}*", "Effect": "Allow" }, { "Action": [ "iam:CreateServiceLinkedRole", "iam:GetRole", "iam:DeleteRole", "iam:DeleteUser" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "iam:AttachRolePolicy", "iam:AttachUserPolicy", "iam:CreateRole", "iam:CreateUser", "iam:DeleteRolePolicy", "iam:DeleteUserPolicy", "iam:DetachUserPolicy", "iam:DetachRolePolicy", "iam:PutUserPermissionsBoundary", "iam:PutRolePermissionsBoundary" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PermissionsBoundary": "arn:aws:iam::{AccountId}:policy/CodeStar_{ProjectId}_PermissionsBoundary" } }, "Effect": "Allow" }
  5. Impulse un cambio en la cartera de proyectos para que AWS CodeStar actualice el límite de los permisos con los permisos adecuados.

Para obtener más información, consulte Añadir un rol de IAM a un proyecto.