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 IAM políticas independientes que son creadas y administradas por AWS. Estas políticas AWS administradas otorgan permisos para casos de uso comunes, de modo que no tenga que investigar qué permisos son necesarios. Para obtener más información, consulte las políticas AWS administradas en la Guía del IAM usuario.

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

    AWSCodeDeployFullAccessno proporciona permisos para las operaciones de 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: CodeDeploy Permite:

    • lea las etiquetas de sus instancias o identifique sus instancias de Amazon por EC2 los nombres de los grupos 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 piscina caliente

    • publicar información en los SNS temas de Amazon

    • 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 IAM instancia es un IAM rol que adjuntas a tus EC2 instancias de Amazon. 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: Crea un perfil de IAM instancia para tus EC2 instancias de Amazon.

  • Un rol de servicio es un IAM rol que otorga permisos a un AWS servicio para que pueda acceder a AWS los recursos. 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 los grupos 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 balanceadores de carga de Elastic Load Balancing.

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

    • Para 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 IAM políticas personalizadas para conceder permisos para CodeDeploy acciones y recursos. Adjunta estas políticas personalizadas a las IAM funciones y, a continuación, las asigna 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 a los que se aplique esta política gestionada también pueden crear y gestionar SNS temas de Amazon para las notificaciones, suscribir y cancelar la suscripción de los usuarios a los temas, enumerar temas para seleccionarlos como objetivos de las reglas de notificación y enumerar AWS Chatbot los clientes 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 IAM y notificaciones, consulte Identity and Access Management para AWS CodeStar Notificaciones.