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 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

    AWSCodeDeployFullAccessno 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: 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 políticas de IAM personalizadas para conceder permisos para acciones y recursos de CodeDeploy. 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 notificaciones para informar a los usuarios de 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 para las notificaciones en las políticas gestionadas de acceso completo

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 y enumerar temas para elegir como objetivos de las reglas de notificación.

{ "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" : { "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }

Permisos para las notificaciones en las políticas gestionadas de solo lectura

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

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

Para obtener más información, consulte Administración de identidad y acceso para AWS CodeStar las notificaciones.