Ejemplos de políticas basadas en identidad de Auto Scaling de aplicaciones - Application Auto Scaling

Ejemplos de políticas basadas en identidad de Auto Scaling de aplicaciones

De forma predeterminada, un nuevo usuario de IAM; no tiene permisos para realizar ninguna actividad. Un administrador de IAM debe crear y asignar políticas de IAM que concedan permiso a los usuarios finales para realizar acciones de API de Application Auto Scaling.

Para obtener más información acerca de cómo crear una política de IAM con estos documentos de políticas de JSON de ejemplo, consulte Creación de políticas en la pestaña JSON en la Guía del usuario de IAM.

Permisos necesarios para las acciones de API de Auto Scaling de aplicaciones

Las siguientes políticas conceden permisos para casos de uso comunes al llamar a la API de Auto Scaling de aplicaciones. Consulte esta sección al configurar Control de acceso y las políticas de permisos de escritura que puede asociar a un rol o usuario de IAM. Cada política concede acceso a todas o algunas de las acciones de la API de escalado de Auto Scaling de aplicaciones. También debe asegurarse de que el usuario o rol de IAM tiene una política de permisos para el servicio de destino y CloudWatch (consulte la siguiente sección para obtener más detalles).

La siguiente política concede acceso a todas las acciones de la API Auto Scaling de aplicaciones.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*" ], "Resource": "*" } ] }

La siguiente política de permisos otorga acceso a todas las acciones de API de Auto Scaling de aplicaciones necesarias para configurar las políticas de escalado y no las acciones programadas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:RegisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:PutScalingPolicy", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DeleteScalingPolicy" ], "Resource": "*" } ] }

La siguiente política de permisos otorga acceso a todas las acciones de API Auto Scaling de aplicaciones necesarias para configurar acciones programadas y no políticas de escalado.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:RegisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:PutScheduledAction", "application-autoscaling:DescribeScheduledActions", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DeleteScheduledAction" ], "Resource": "*" } ] }

Permisos necesarios para las acciones de API en los servicios de destino y CloudWatch

Para configurar y utilizar correctamente Auto Scaling de aplicaciones con el servicio de destino, los usuarios de IAM deben obtener los permisos necesarios para Amazon CloudWatch y para cada servicio de destino para el que configurarán el escalado. Utilice las siguientes políticas para otorgar a los usuarios los permisos mínimos necesarios para trabajar con servicios de destino y CloudWatch.

Flotas AppStream 2.0

La siguiente política de permisos otorga acceso a todas las acciones de la API de AppStream 2.0 y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "appstream:DescribeFleets", "appstream:UpdateFleet", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Réplicas de Aurora

La siguiente política de permisos otorga acceso a todas las acciones de la API de Aurora y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:AddTagsToResource", "rds:CreateDBInstance", "rds:DeleteDBInstance", "rds:DescribeDBClusters", "rds:DescribeDBInstances", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Puntos de enlace de reconocedor de identidades y clasificación de documentos de Amazon Comprehend

La siguiente política de permisos otorga acceso a todas las acciones de la API de Amazon Comprehend y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "comprehend:UpdateEndpoint", "comprehend:DescribeEndpoint", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Tablas de DynamoDB e índices secundarios globales

La siguiente política de permisos otorga acceso a todas las acciones de la API de DynamoDB y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DescribeTable", "dynamodb:UpdateTable", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Servicios de ECS

La siguiente política de permisos otorga acceso a todas las acciones de la API de ECS y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:UpdateService", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Grupos de replicación de ElastiCache

La siguiente política de permisos otorga acceso a todas las acciones de la API de ElastiCache y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticache:ModifyReplicationGroupShardConfiguration", "elasticache:IncreaseReplicaCount", "elasticache:DecreaseReplicaCount", "elasticache:DescribeReplicationGroups", "elasticache:DescribeCacheClusters", "elasticache:DescribeCacheParameters", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Clústeres de Amazon EMR

La siguiente política de permisos otorga acceso a todas las acciones de la API de Amazon EMR y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticmapreduce:ModifyInstanceGroups", "elasticmapreduce:ListInstanceGroups", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Tablas de Amazon Keyspaces

La siguiente política de permisos otorga acceso a todas las acciones de la API de Amazon Keyspaces y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cassandra:Select", "cassandra:Alter", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Funciones de Lambda

La siguiente política de permisos otorga acceso a todas las acciones de la API de Lambda y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:PutProvisionedConcurrencyConfig", "lambda:GetProvisionedConcurrencyConfig", "lambda:DeleteProvisionedConcurrencyConfig", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Almacenamiento de agente Amazon Managed Streaming for Apache Kafka (MSK)

La siguiente política de permisos otorga acceso a todas las acciones de la API de Amazon MSK y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kafka:DescribeCluster", "kafka:DescribeClusterOperation", "kafka:UpdateBrokerStorage", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Clústeres de Neptune

La siguiente política de permisos otorga acceso a todas las acciones de la API de Neptune y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:AddTagsToResource", "rds:CreateDBInstance", "rds:DescribeDBInstances", "rds:DescribeDBClusters", "rds:DescribeDBClusterParameters", "rds:DeleteDBInstance", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Punto de enlace de SageMaker

La siguiente política de permisos otorga acceso a todas las acciones de la API de SageMaker y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:DescribeEndpoint", "sagemaker:DescribeEndpointConfig", "sagemaker:UpdateEndpointWeightsAndCapacities", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Flotas de spot (Amazon EC2)

La siguiente política de permisos otorga acceso a todas las acciones de la API de la flota de spot y CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeSpotFleetRequests", "ec2:ModifySpotFleetRequest", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Recursos personalizados

La siguiente política de permisos otorga al usuario el permiso necesario para la acción de ejecución de API Gateway API. Esta política también concede acceso a todas las acciones de CloudWatch necesarias.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Permisos para trabajar en la AWS Management Console.

No existe una consola independiente para Auto Scaling de aplicaciones. La mayoría de los servicios que se integran con Auto Scaling de aplicaciones tienen características dedicadas que le ayudarán a configurar el escalado a través de su consola.

En la mayoría de los casos, cada servicio proporciona políticas de IAM (predefinidas) administradas por AWS que definen el acceso a su consola y que contienen permisos para las acciones de API de Auto Scaling de aplicaciones. Para obtener más información, consulte la documentación del servicio cuya consola desee utilizar.

También puede crear sus propias políticas de IAM personalizadas para dar a los usuarios permisos detallados que les permitan ver y trabajar con acciones específicas de la API de Auto Scaling de aplicaciones en AWS Management Console. Puede utilizar las políticas de ejemplo de la sección anterior; sin embargo, estas son específicas para solicitudes que se realizan con la AWS CLI o un SDK. La consola utiliza acciones de API adicionales para sus características, por lo que es posible que estas políticas no funcionen como es debido. Por ejemplo, para configurar el escalado por pasos, es posible que los usuarios necesiten permisos adicionales para crear y administrar alarmas en CloudWatch.

sugerencia

Para ayudarle a establecer qué acciones de API son necesarias para realizar tareas en la consola, puede utilizar un servicio como AWS CloudTrail. Para obtener más información, consulte la Guía del usuario de AWS CloudTrail.

A continuación, se incluye un ejemplo de una política de permisos que permite a un usuario configurar políticas de escalado para la flota de spot. Además de los permisos de IAM para la flota de spot, el usuario de IAM que accede a la configuración de escalado de la flota desde la consola debe tener los permisos adecuados para los servicios que soportan el escalado dinámico.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*", "ec2:DescribeSpotFleetRequests", "ec2:ModifySpotFleetRequest", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "cloudwatch:DisableAlarmActions", "cloudwatch:EnableAlarmActions", "sns:CreateTopic", "sns:Subscribe", "sns:Get*", "sns:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest", "Condition": { "StringLike": { "iam:AWSServiceName":"ec2.application-autoscaling.amazonaws.com" } } } ] }

Esta política permite a los usuarios ver y modificar las políticas de escalado en la consola de Amazon EC2, así como crear y administrar alarmas en CloudWatch a través de la consola de CloudWatch.

Puede ajustar las acciones de la API para limitar el acceso de los usuarios. Por ejemplo, si sustituye application-autoscaling:* por application-autoscaling:Describe*, el usuario tendrá acceso de solo lectura.

También puede ajustar los permisos de CloudWatch según sea necesario para limitar el acceso de los usuarios a las características de CloudWatch. Para obtener más información, consulte Permisos necesarios para usar la consola de CloudWatch en la Guía del usuario de Amazon CloudWatch.