El flujo de trabajo moderno del blueprint de aplicaciones web de tres niveles OnPullRequestfalla debido a un error de permisos para Amazon CodeGuru - 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.

El flujo de trabajo moderno del blueprint de aplicaciones web de tres niveles OnPullRequestfalla debido a un error de permisos para Amazon CodeGuru

Problema: cuando intento ejecutar un flujo de trabajo para mi proyecto, el flujo de trabajo no se ejecuta y aparece el siguiente mensaje:

Failed at codeguru_codereview: The action failed during runtime. View the action's logs for more details.

Solución: una posible causa del error de esta acción podría deberse a la falta de permisos en la política de funciones de IAM, ya que a su versión de la función de servicio utilizada por CodeCatalyst la persona conectada le faltan los permisos necesarios para que la acción codeguru_codereview Cuenta de AWS se ejecute correctamente. Para solucionar este problema, el rol de servicio debe actualizarse con los permisos necesarios o debe cambiar el rol de servicio utilizado para el flujo de trabajo por uno que tenga los permisos necesarios para Amazon CodeGuru y Amazon CodeGuru Reviewer. Siga estos pasos para encontrar su función y actualizar los permisos de la política de funciones para permitir que el flujo de trabajo se ejecute correctamente.

nota

Estos pasos se aplican a los siguientes flujos de trabajo en CodeCatalyst:

  • El OnPullRequestflujo de trabajo previsto para los proyectos creados con el modelo de aplicación web moderna de tres niveles en. CodeCatalyst

  • Flujos de trabajo agregados a los proyectos CodeCatalyst con acciones que acceden a Amazon CodeGuru o Amazon CodeGuru Reviewer.

Cada proyecto contiene flujos de trabajo con acciones que utilizan un rol y un entorno proporcionados por la persona Cuenta de AWS conectada al proyecto CodeCatalyst. El flujo de trabajo con las acciones y su política designada se almacena en el repositorio de origen, en el directorio /.codecatalyst/workflows. No es necesario modificar el flujo de trabajo (YAML), a menos que añada un nuevo identificador de rol al flujo de trabajo existente. Para obtener información sobre los elementos y el formato de la plantilla YAML, consulte. YAMLDefinición del flujo de trabajo

Estos son los pasos básicos que debes seguir para editar tu política de roles y verificar el flujo de trabajo YAML.

Para hacer referencia al nombre de tu rol en el flujo de trabajo (YAML) y actualizar la política
  1. Abre la CodeCatalyst consola en https://codecatalyst.aws/.

  2. Navega hasta tu CodeCatalyst espacio. Navega hasta tu proyecto.

  3. Elija CI/CD y, a continuación, elija Flujos de trabajo.

  4. Elija el flujo de trabajo titulado. OnPullRequest Elija la pestaña Definition (Definición).

  5. En el flujo de trabajo YAML, en el Role: campo situado debajo de la acción codeguru_codereview, anota el nombre del rol. Este es el rol con la política que modificará en IAM. En el siguiente ejemplo se muestra el nombre del rol.

    Vea el nombre del rol de IAM en el flujo de trabajo (YAML)
  6. Haga una de las siguientes acciones:

    • (Recomendado) Actualice el rol de servicio conectado a su proyecto con los permisos necesarios para Amazon CodeGuru y Amazon CodeGuru Reviewer. El rol tendrá un nombre CodeCatalystWorkflowDevelopmentRole-spaceName con un identificador único adjunto. Para obtener más información sobre el rol y la política de roles, consulteComprensión de la función CodeCatalystWorkflowDevelopmentRole-spaceNamede servicio. Continúe con los siguientes pasos para actualizar la política en IAM.

      nota

      Debe tener acceso de AWS administrador a la Cuenta de AWS función y la política.

    • Cambie el rol de servicio utilizado para el flujo de trabajo por uno que tenga los permisos necesarios para Amazon CodeGuru y Amazon CodeGuru Reviewer o cree un nuevo rol con los permisos necesarios.

  7. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

    En la consola de IAM, busque el rol del paso 5, por ejemploCodeCatalystPreviewDevelopmentRole.

  8. En el rol del paso 5, cambie la política de permisos para incluir los codeguru:* permisos codeguru-reviewer:* y. Tras añadir estos permisos, la política de permisos debería tener un aspecto similar al siguiente:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudformation:*", "lambda:*", "apigateway:*", "ecr:*", "ecs:*", "ssm:*", "codedeploy:*", "s3:*", "iam:DeleteRole", "iam:UpdateRole", "iam:Get*", "iam:TagRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePolicy", "iam:CreatePolicy", "iam:DeletePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicyVersion", "iam:PutRolePermissionsBoundary", "iam:DeleteRolePermissionsBoundary", "sts:AssumeRole", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule", "cloudwatch:DescribeAlarms", "sns:Publish", "sns:ListTopics", "codeguru-reviewer:*", "codeguru:*" ], "Resource": "*", "Effect": "Allow" } ] }
  9. Tras realizar las correcciones de política, vuelva a la ejecución del flujo de trabajo CodeCatalyst y vuelva a iniciarla.