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 por 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: 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 para temas de Amazon SNS.

    • recuperar información sobre las CloudWatch alarmas de Amazon

    • lea y actualice los recursos del servicio ELB

    La política contiene el siguiente código:

    JSON
    { "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:

    JSON
    { "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 adjuntas a tus 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: Crea un perfil de instancia de IAM para tus 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 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 ELB.

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

    • Para recuperar información sobre CloudWatch las alarmas y configurar el monitoreo de alarmas para las implementaciones.

    Para obtener más información, consulte Paso 2: Cree 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 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 relacionados con 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 a los temas, y enumerar temas para elegir como destinos para 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" : "CodeStarNotificationsChatbotAccess", "Effect" : "Allow", "Action" : [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource" : "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }

Permisos relacionados con 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 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": "*" }

Permisos relacionados con notificaciones en otras políticas administradas

La política administrada de AWSCodeDeployDeployerAccess incluye las siguientes instrucciones para que los usuarios puedan crear notificaciones de recursos, actualizarlas, suscribirse y consultar notificaciones de recursos, pero no pueden eliminarlas. Los usuarios a los que se les aplique esta política administrada también pueden crear y administrar temas de Amazon SNS para las notificaciones.

Esta política incluye permisos para hacer lo siguiente:

  • codestar-notifications:CreateNotificationRule: permite a las entidades principales crear notificaciones.

  • codestar-notifications:DescribeNotificationRule: permite a las entidades principales recuperar información sobre notificaciones.

  • codestar-notifications:UpdateNotificationRule: permite a las entidades principales actualizar las notificaciones.

  • codestar-notifications:Subscribe: permite a las entidades principales suscribirse a las actualizaciones de las notificaciones.

  • codestar-notifications:Unsubscribe: permite a las entidades principales cancelar la suscripción a las actualizaciones de las notificaciones.

  • codestar-notifications:ListNotificationRules: permite a las entidades principales recuperar la lista de reglas de notificación.

  • codestar-notifications:ListTargets: permite a las entidades principales recuperar la lista de objetivos.

  • codestar-notifications:ListTagsforResource: permite a las entidades principales recuperar la lista de etiquetas.

  • codestar-notifications:ListEventTypes: permite a las entidades principales recuperar la lista de tipos de eventos.

  • chatbot:DescribeSlackChannelConfiguration: permite a las entidades principales recuperar información sobre la configuración del canal de Slack.

  • sns:ListTopics: permite a las entidades principales recuperar la lista de temas de Amazon SNS para notificaciones.

{ "Sid" : "CodeStarNotificationsReadWriteAccess", "Effect" : "Allow", "Action" : [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "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", "codestar-notifications:ListEventTypes" ], "Resource" : "*" }, { "Sid" : "CodeStarNotificationsChatbotAccess", "Effect" : "Allow", "Action" : [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource" : "*" }, { "Sid" : "SNSTopicListAccess", "Effect" : "Allow", "Action" : [ "sns:ListTopics" ], "Resource" : "*" }

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