Application Auto Scaling 以身分為基礎的政策範例 - Application Auto Scaling

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Application Auto Scaling 以身分為基礎的政策範例

默認情況下,您中的全新用戶沒 AWS 帳戶 有執行任何操作的權限。IAM 管理員必須建立和指派 IAM 政策,它們可提供 IAM 身分 (例如使用者或角色),以執行 Application Auto Scaling API 動作。

若要了解如何使用以下範例 JSON 政策文件來建立 IAM 政策,請參閱《IAM 使用者指南》中的在 JSON 標籤上建立政策

Application Auto Scaling API 動作所需的許可

下列政策會在呼叫 Application Auto Scaling API 的常見使用案例下授予許可。制定身分型政策時,請參閱本節的相關資訊。每個政策會授予對所有或部分 Application Auto Scaling API 動作的許可。您還需要確保一般使用者具有目標服務的權限,以及 CloudWatch (如需詳細資訊,請參閱下一節)。

以下身分型政策會授予對所有 Application Auto Scaling API 動作的許可。

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

以下身分型政策會授予在設定擴展政策時需要的所有 Application Auto Scaling API 動作的許可,而不是排定的動作。

{ "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": "*" } ] }

以下身分型政策會授予在設定排定的動作時需要的所有 Application Auto Scaling API 動作的許可,而不是擴展政策。

{ "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": "*" } ] }

針對目標服務和 API 動作所需的權限 CloudWatch

若要在目標服務中成功設定和使用 Application Auto Scaling,必須為最終使用者授與 Amazon 以 CloudWatch 及將為其設定擴展的每個目標服務的許可。使用下列原則授與使用目標服務和所需的最低權限 CloudWatch。

AppStream 2.0 支艦隊

下列以身分識別為基礎的原則會授與所有需要的 AppStream 2.0 和 CloudWatch API 動作的權限。

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

Aurora 複本

下列身分型原則會授與所有需要的 Aurora 和 CloudWatch API 動作的權限。

{ "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": "*" } ] }

Amazon Comprehend 文件分類和實體識別器端點

下列以身分識別為基礎的政策會授予所有必要的 Amazon Comprehend 和 CloudWatch API 動作的許可。

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

DynamoDB 資料表和全域次要索引

下列以身分識別為基礎的原則會授與所有需要的 DynamoDB 和 CloudWatch API 動作的權限。

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

ECS 服務

下列以身分識別為基礎的原則會授與所有必要 ECS 和 CloudWatch API 動作的權限。

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

ElastiCache 複製群組

下列以身分識別為基礎的原則會授 ElastiCache 與所有必要動作和 CloudWatch API 動作的權限。

{ "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": "*" } ] }

Amazon EMR 叢集

下列以身分識別為基礎的政策授予所有必要的 Amazon EMR 和 CloudWatch API 動作的許可。

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

Amazon Keyspaces 資料表

下列以身分識別為基礎的政策授予所有必要的 Amazon 金 Keyspaces 和 CloudWatch API 動作的許可。

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

Lambda 函數

下列以身分識別為基礎的政策會授與所有必要的 Lambda 和 CloudWatch API 動作的權限。

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

Amazon Managed Streaming for Apache Kafka (MSK) 代理程式儲存

下列以身分識別為基礎的政策授予所有必要的 Amazon MSK 和 CloudWatch API 動作的許可。

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

Neptune 叢集

下列以身分識別為基礎的原則會授與所有必要的 Neptune 和 CloudWatch API 動作的權限。

{ "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": "*" } ] }

SageMaker 端點

下列以身分識別為基礎的原則會授 SageMaker 與所有必要動作和 CloudWatch API 動作的權限。

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

Spot 機群 (Amazon EC2)

下列以身分識別為基礎的原則會授與所有必要的 Spot 叢集和 CloudWatch API 動作的權限。

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

自訂資源

以下身分型政策會授予 API Gateway API 執行動作的許可。此原則也會授與所有必要 CloudWatch 動作的權限。

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

在中工作的權限 AWS Management Console

沒有獨立的 Application Auto Scaling 主控台。與 Application Auto Scaling 整合的大部分服務都有一些功能,專門協助您透過主控台來設定擴展。

在大多數情況下,每個服務都會提供 AWS 受管 (預先定義的) IAM 政策,以定義其主控台的存取權,其中包括對 Application Auto Scaling API 動作的許可。如需詳細資訊,請參閱您要使用其主控台之服務的文件。

您也可以建立自己的自訂 IAM 政策,以給予使用者精細許可在 AWS Management Console檢視和使用特定的 Application Auto Scaling API 動作。您可以使用前幾節中的範例原則;不過,這些原則是針對使用 AWS CLI 或 SDK 發出的要求而設計的。主控台會針對其功能使用其他的 API 動作,所以這些政策可能不會如預期般運作。例如,若要設定步驟縮放,使用者可能需要其他權限才能建立和管理 CloudWatch 警示。

提示

在主控台中執行工作時,為協助找出所需的 API 動作,您可以使用像是 AWS CloudTrail的服務。如需詳細資訊,請參閱 AWS CloudTrail 使用者指南

以下身分型政策會授予為 Spot 機群設定擴展政策的許可。除了 Spot 機群的 IAM 許可之外,從 Amazon EC2 主控台存取機群擴展設定的主控台使用者還必須取得適當的許可,以存取支援動態擴展的服務。

{ "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" } } } ] }

此政策允許主控台使用者在 Amazon EC2 主控台中檢視和修改擴展政策,以及在主控 CloudWatch 台中建立和管理 CloudWatch 警示。

您可以調整 API 動作以限制使用者存取。例如,將 application-autoscaling:* 替換為 application-autoscaling:Describe* 表示使用者具有唯讀存取權。

您也可以根據需要調整 CloudWatch 權限,以限制使用者對 CloudWatch功能的存取。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 CloudWatch 主控台所需的許可。