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
Abre la CodeCatalyst consola en https://codecatalyst.aws/
. -
Navega hasta tu CodeCatalyst espacio. Navega hasta tu proyecto.
-
Elija CI/CD y, a continuación, elija Flujos de trabajo.
-
Elija el flujo de trabajo titulado. OnPullRequest Elija la pestaña Definition (Definición).
-
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. -
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-
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.spaceName
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.
-
-
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 ejemplo
CodeCatalystPreviewDevelopmentRole
. -
En el rol del paso 5, cambie la política de permisos para incluir los
codeguru:*
permisoscodeguru-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" } ] }
-
Tras realizar las correcciones de política, vuelva a la ejecución del flujo de trabajo CodeCatalyst y vuelva a iniciarla.