AWS políticas gestionadas (predefinidas) para CodeDeploy - AWS CodeDeploy

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 políticas gestionadas (predefinidas) para CodeDeploy

AWS aborda muchos casos de uso comunes al proporcionar políticas de IAM independientes que son creadas y administradas por. AWS Estas políticas AWS gestionadas conceden permisos para casos de uso comunes, de modo que no tengas que investigar qué permisos son necesarios. Para obtener más información, consulte Políticas administradas de AWS en la Guía del usuario de IAM.

Lista de políticas AWS administradas para CodeDeploy

Las siguientes políticas AWS administradas, que puede adjuntar a los usuarios de su cuenta, son específicas de CodeDeploy:

  • AWSCodeDeployFullAccess: concede acceso completo a CodeDeploy.

    nota

    AWSCodeDeployFullAccess no proporciona permisos para las operaciones en otros servicios necesarios para implementar sus aplicaciones, como Amazon EC2 y Amazon S3, solo para las operaciones específicas de. CodeDeploy

  • AWSCodeDeployDeployerAccess: otorga permiso para registrar e implementar revisiones.

     

  • AWSCodeDeployReadOnlyAccess: concede acceso de solo lectura a CodeDeploy.

     

  • AWSCodeDeployRole: Permite CodeDeploy :

    • Leer las etiquetas en sus instancias o identificar sus instancias de Amazon EC2 mediante nombres de grupo de Amazon EC2 Auto Scaling.

    • Leer, crear, actualizar y eliminar grupos de Amazon EC2 Auto Scaling, enlaces de ciclo de vida, políticas de escalado y funciones de grupo de calentamiento.

    • Publicar información para temas de Amazon SNS.

    • recuperar información sobre las CloudWatch alarmas de Amazon

    • Leer y actualizar los recursos del servicio Elastic Load Balancing.

    La política contiene el siguiente código:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:CompleteLifecycleAction", "autoscaling:DeleteLifecycleHook", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeLifecycleHooks", "autoscaling:PutLifecycleHook", "autoscaling:RecordLifecycleActionHeartbeat", "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags", "autoscaling:UpdateAutoScalingGroup", "autoscaling:EnableMetricsCollection", "autoscaling:DescribePolicies", "autoscaling:DescribeScheduledActions", "autoscaling:DescribeNotificationConfigurations", "autoscaling:SuspendProcesses", "autoscaling:ResumeProcesses", "autoscaling:AttachLoadBalancers", "autoscaling:AttachLoadBalancerTargetGroups", "autoscaling:PutScalingPolicy", "autoscaling:PutScheduledUpdateGroupAction", "autoscaling:PutNotificationConfiguration", "autoscaling:DescribeScalingActivities", "autoscaling:DeleteAutoScalingGroup", "autoscaling:PutWarmPool", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:TerminateInstances", "tag:GetResources", "sns:Publish", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetGroupAttributes", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DeregisterTargets" ], "Resource": "*" } ] }

     

  • AWSCodeDeployRoleForLambda: otorga CodeDeploy permiso de acceso AWS Lambda y cualquier otro recurso necesario para una implementación.

     

  • AWSCodeDeployRoleForECS: Concede CodeDeploy permiso para acceder a Amazon ECS y a cualquier otro recurso necesario para una implementación.

     

  • AWSCodeDeployRoleForECSLimited: Concede CodeDeploy permiso para acceder a Amazon ECS y a cualquier otro recurso necesario para una implementación, con las siguientes excepciones:

  • AmazonEC2RoleforAWSCodeDeployLimited: otorga CodeDeploy permiso para obtener y enumerar objetos en un bucket de CodeDeploy Amazon S3. La política contiene el siguiente código:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*/CodeDeploy/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/UseWithCodeDeploy": "true" } } } ] }

Los permisos para algunos aspectos del proceso de implementación se otorgan a otros dos tipos de roles que actúan en nombre de CodeDeploy:

  • Un perfil de instancia de IAM es un rol de IAM que se vincula a las instancias de Amazon EC2. Este perfil incluye los permisos necesarios para acceder a los GitHub depósitos o repositorios de Amazon S3 en los que se almacenan las aplicaciones. Para obtener más información, consulte Paso 4: Crear un perfil de instancia de IAM para las instancias de Amazon EC2.

  • Un rol de servicio es un rol de IAM que otorga permisos a un AWS servicio para que pueda acceder a los recursos. AWS Las políticas que se adjuntan a la función de servicio determinan a qué AWS recursos puede acceder el servicio y las acciones que puede realizar con esos recursos. Para CodeDeploy, un rol de servicio se usa para lo siguiente:

    • Para leer las etiquetas aplicadas a las instancias o los nombres de grupo de Amazon EC2 Auto Scaling asociados a las instancias. Esto le CodeDeploy permite identificar las instancias en las que puede implementar aplicaciones.

    • Para realizar operaciones en instancias, grupos de Amazon EC2 Auto Scaling y equilibradores de carga de Elastic Load Balancing.

    • Publicar información en los temas de Amazon SNS para que se puedan enviar notificaciones cuando se produzcan eventos de implementación o instancia específicos.

    • Recuperar información sobre CloudWatch las alarmas a fin de configurar la supervisión de las alarmas para las implementaciones.

    Para obtener más información, consulte Paso 2: Crear un rol de servicio para CodeDeploy.

También puede crear políticas de IAM personalizadas para conceder permisos para CodeDeploy acciones y recursos. Adjunta estas políticas personalizadas a los roles de IAM y, a continuación, asigna los roles a los usuarios o grupos que requieren los permisos.

CodeDeploy políticas y notificaciones gestionadas

CodeDeploy admite las notificaciones, que pueden notificar a los usuarios los cambios importantes en las implementaciones. Las políticas gestionadas CodeDeploy incluyen declaraciones de políticas para la funcionalidad de notificación. Para obtener más información, consulte ¿Qué son las notificaciones?

Permisos relacionados con las notificaciones en políticas administradas de acceso total

La política administrada AWSCodeDeployFullAccess incluye las siguientes instrucciones para permitir el acceso completo a las notificaciones. Los usuarios con esta política administrada aplicada también pueden crear y administrar temas de Amazon SNS para notificaciones, suscribirse y cancelar la suscripción de los usuarios a los temas, mostrar los temas que se pueden elegir como destinos para las reglas de notificación y mostrar los clientes de AWS Chatbot configurados para Slack.

{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" }

Permisos relacionados con las notificaciones en políticas administradas de solo lectura

La política administrada AWSCodeDeployReadOnlyAccess incluye las siguientes instrucciones para permitir el acceso de solo lectura a las notificaciones. Los usuarios que apliquen esta política pueden consultar notificaciones de recursos, pero no pueden crearlas, administrarlas ni suscribirse a ellas.

{ "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" }

Para obtener más información acerca de IAM y las notificaciones consulte Identity and Access Management para AWS CodeStar Notifications.