

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

# 適用於 Application Auto Scaling 的 Identity and Access Management
<a name="auth-and-access-control"></a>



AWS Identity and Access Management (IAM) 是 AWS 服務 ，可協助管理員安全地控制對 AWS 資源的存取。IAM 管理員可以控制誰能*完成身分驗證* (已登入) 和*獲得授權* (具有許可) 而得以使用 Application Auto Scaling 資源。IAM 是您可以免費使用 AWS 服務 的 。

如需完整的 IAM 文件，請參閱 [IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)。

## 存取控制
<a name="access-control"></a>

您可以持有效憑證來驗證請求，但還須具備許可，才能建立或存取 Application Auto Scaling 資源。例如，您必須具有建立擴展政策、設定排程擴展等許可。

下列各節提供 IAM 管理員如何使用 IAM 透過控制可執行 Application Auto Scaling API 動作的人員來協助保護 AWS 資源的詳細資訊。

**Topics**
+ [存取控制](#access-control)
+ [Application Auto Scaling 如何搭配 IAM 一起使用](security_iam_service-with-iam.md)
+ [AWS 受管政策](security-iam-awsmanpol.md)
+ [服務連結角色](application-auto-scaling-service-linked-roles.md)
+ [身分型政策範例](security_iam_id-based-policy-examples.md)
+ [疑難排解](security_iam_troubleshoot.md)
+ [許可驗證](security_iam_permission_validation.md)

# Application Auto Scaling 如何搭配 IAM 一起使用
<a name="security_iam_service-with-iam"></a>

**注意**  
在 2017 年 12 月，Application Auto Scaling 有一項更新，對 Application Auto Scaling 整合式服務啟用數個服務連結角色。使用者需要特定的 IAM 許可「和」**Application Auto Scaling 服務連結角色 (或 Amazon EMR 自動擴展的服務角色)，才能設定擴展。

在使用 IAM 來管理對 Application Auto Scaling 的存取權之前，請先了解哪些 IAM 功能可以與 Application Auto Scaling 搭配使用。


**可以與 Application Auto Scaling 搭配使用的 IAM 功能**  

| IAM 功能 | 應用程式自動調整規模支援 | 
| --- | --- | 
|  [身分型政策](#security_iam_service-with-iam-id-based-policies)  |   是  | 
|  [政策動作](#security_iam_service-with-iam-id-based-policies-actions)  |   是  | 
|  [政策資源](#security_iam_service-with-iam-id-based-policies-resources)  |   是  | 
|  [政策條件索引鍵 (服務特定)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   是  | 
|  [資源型政策](#security_iam_service-with-iam-resource-based-policies)  |   否   | 
|  [ACL](#security_iam_service-with-iam-acls)  |   否   | 
|  [ABAC(政策中的標籤)](#security_iam_service-with-iam-tags)  |   部分  | 
|  [臨時憑證](#security_iam_service-with-iam-roles-tempcreds)  |   是  | 
|  [服務角色](#security_iam_service-with-iam-roles-service)  |   是  | 
|  [服務連結角色](#security_iam_service-with-iam-roles-service-linked)  |   是  | 

若要全面了解 Application Auto Scaling 和其他 如何與大多數 IAM 功能 AWS 服務 搭配使用，請參閱《[AWS 服務 IAM 使用者指南》中的 與 IAM 搭配使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。 **

## Application Auto Scaling 以身分為基礎的政策
<a name="security_iam_service-with-iam-id-based-policies"></a>

**支援身分型政策：**是

身分型政策是可以附加到身分 (例如 IAM 使用者、使用者群組或角色) 的 JSON 許可政策文件。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。如需了解如何建立身分型政策，請參閱《*IAM 使用者指南*》中的[透過客戶管理政策定義自訂 IAM 許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

使用 IAM 身分型政策，您可以指定允許或拒絕的動作和資源，以及在何種條件下允許或拒絕動作。如要了解您在 JSON 政策中使用的所有元素，請參閱《*IAM 使用者指南*》中的 [IAM JSON 政策元素參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

### Application Auto Scaling 的身分型政策範例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

若要檢視 Application Auto Scaling 以身分為基礎的政策範例，請參閱 [Application Auto Scaling 以身分為基礎的政策範例](security_iam_id-based-policy-examples.md)。

### 動作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**支援政策動作：**是

在 IAM 政策陳述式中，您可以從任何支援 IAM 的服務指定任何 API 動作。針對 Application Auto Scaling，請在 API 動作名稱使用下列字首：`application-autoscaling:`。例如：`application-autoscaling:RegisterScalableTarget`、`application-autoscaling:PutScalingPolicy` 和 `application-autoscaling:DeregisterScalableTarget`。

若要在單一陳述式中指定多個動作，請以逗號分隔它們，如下列範例所示。

```
"Action": [
      "application-autoscaling:DescribeScalingPolicies",
      "application-autoscaling:DescribeScalingActivities"
```

您也可以使用萬用字元 (\$1) 來指定多個動作。例如，如需指定開頭是 `Describe` 文字的所有動作，請包含以下動作：

```
"Action": "application-autoscaling:Describe*"
```

如需 Application Auto Scaling 動作的清單，請參閱*《服務授權參考*》中的 [AWS Application Auto Scaling 定義的動作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationautoscaling.html#awsapplicationautoscaling-actions-as-permissions)。

### Resources
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**支援政策資源：**是

在 IAM 政策陳述式中，`Resource` 元素指定陳述式所涵蓋的一個或多個物件。對於 Application Auto Scaling，每個 IAM 政策陳述式都會套用至您使用其 Amazon Resource Names (ARN) 指定的可擴展目標。

可擴展目標的 ARN 資源格式：

```
arn:aws:application-autoscaling:region:account-id:scalable-target/unique-identifier
```

例如，您可以在陳述式中使用其 ARN 指定特定的可擴展目標，如下所示。唯一 ID (1234abcd56ab78cd901ef1234567890ab123) 是由 Application Auto Scaling 指派給可擴展目標的值。

```
"Resource": "arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
```

您也可以使用萬用字元 (\$1) 取代唯一標識符，以此指定所有屬於特定帳戶的執行個體，如下所示。

```
"Resource": "arn:aws:application-autoscaling:us-east-1:123456789012:scalable-target/*"
```

若要指定所有資源，或如果特定的 API 動作不支援 ARN，請使用萬用字元 (\$1) 作為 `Resource` 元素，如下所示。

```
"Resource": "*"
```

如需詳細資訊，請參閱*《服務授權參考*》中的 [AWS Application Auto Scaling 定義的資源類型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationautoscaling.html#awsapplicationautoscaling-policy-keys)。

### 條件索引鍵
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**支援服務特定政策條件金鑰：**是

您可以在 IAM 政策中指定條件，這些政策可以控制存取 Application Auto Scaling 資源。政策陳述式只有在符合下列條件時才有效。

Application Auto Scaling 支援下列服務定義條件金鑰，您可以在以身分為基礎的政策中使用這些金鑰來確定誰可以執行 Application Auto Scaling API 動作。
+ `application-autoscaling:scalable-dimension`
+ `application-autoscaling:service-namespace`

若要了解您可以使用條件索引鍵的 Application Auto Scaling API 動作，請參閱*服務授權參考*中的 [AWS Application Auto Scaling 定義的動作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationautoscaling.html#awsapplicationautoscaling-actions-as-permissions)。如需使用 Application Auto Scaling 條件索引鍵的詳細資訊，請參閱 [AWS Application Auto Scaling 的條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationautoscaling.html#awsapplicationautoscaling-policy-keys)。

若要檢視所有服務都可使用的全域條件金鑰，請參閱 *IAM 使用者指南*中的 [AWS 全域條件金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

## 資源型政策
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**支援資源型政策：**否 

其他 AWS 服務，例如 Amazon Simple Storage Service，支援以資源為基礎的許可政策。例如，您可以將許可政策連接至 S3 儲存貯體，以管理該儲存貯體的存取許可。

Application Auto Scaling 不支援以資源為基礎的政策。

## 存取控制清單 (ACL)
<a name="security_iam_service-with-iam-acls"></a>

**支援 ACL：**否 

Application Auto Scaling 不支援存取控制清單 (ACL)。

## 帶有 Application Auto Scaling 的 ABAC
<a name="security_iam_service-with-iam-tags"></a>

**支援 ABAC (政策中的標籤)：**部分

屬性型存取控制 (ABAC) 是一種授權策略，可根據屬性來定義許可。在 中 AWS，這些屬性稱為*標籤*。您可以將標籤連接至 IAM 實體 （使用者或角色） 和許多 AWS 資源。為實體和資源加上標籤是 ABAC 的第一步。您接著要設計 ABAC 政策，允許在主體的標籤與其嘗試存取的資源標籤相符時操作。

ABAC 在成長快速的環境中相當有幫助，並能在政策管理變得繁瑣時提供協助。

如需根據標籤控制存取，請使用 `aws:ResourceTag/key-name`、`aws:RequestTag/key-name` 或 `aws:TagKeys` 條件索引鍵，在政策的[條件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中，提供標籤資訊。

ABAC 可用於支援標籤的資源，但並非所有支援標籤的資源。排程動作和擴展政策不支援標籤，但可擴展目標支援標籤。如需詳細資訊，請參閱[Application Auto Scaling 的標籤支援](resource-tagging-support.md)。

如需 ABAC 的詳細資訊，請參閱 *IAM 使用者指南*中的[什麼是 ABAC?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。如要查看含有設定 ABAC 步驟的教學課程，請參閱 *IAM 使用者指南*中的[使用屬性型存取控制 (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

## 在 Application Auto Scaling 中使用臨時憑證
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**支援臨時憑證：**是

臨時登入資料提供 AWS 資源的短期存取權，當您使用聯合或切換角色時，會自動建立。 AWS 建議您動態產生臨時登入資料，而不是使用長期存取金鑰。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的臨時安全憑證](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)與[可與 IAM 搭配運作的AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## 服務角色
<a name="security_iam_service-with-iam-roles-service"></a>

**支援服務角色：**是

如果您的 Amazon EMR 叢集使用自動擴展，則此功能可讓 Application Auto Scaling 代表您擔任服務角色。與服務連結角色類似，服務角色可讓服務存取其他服務中的資源，以代表您完成動作。服務角色會出現在您的 IAM 帳戶中，且由該帳戶所擁有。這表示 IAM 管理員可以變更此角色的許可。不過，這樣可能會破壞此服務的功能。

Application Auto Scaling 只對 Amazon EMR 支援服務角色。如需 EMR 服務角色的文件，請參閱《Amazon EMR 管理指南》**中的[對執行個體群組搭配自訂政策來使用自動擴展](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html)。

**注意**  
隨著服務連結角色的推出，許多舊式服務角色的功能將被取代，例如 Amazon ECS 和 Spot 機群。

## 服務連結角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**支援服務連結角色：**是

 服務連結角色是連結至 的一種服務角色 AWS 服務。服務可以擔任代表您執行動作的角色。服務連結角色會出現在您的 中 AWS 帳戶 ，並由服務擁有。IAM 管理員可以檢視，但不能編輯服務連結角色的許可。

如需 Application Auto Scaling 服務連結角色的相關資訊，請參閱 [Application Auto Scaling 的服務連結角色](application-auto-scaling-service-linked-roles.md)。

# AWS Application Auto Scaling 的 受管政策
<a name="security-iam-awsmanpol"></a>

 AWS 受管政策是由 AWS AWS 受管政策建立和管理的獨立政策旨在為許多常用案例提供許可，以便您可以開始將許可指派給使用者、群組和角色。

請記住， AWS 受管政策可能不會授予特定使用案例的最低權限許可，因為這些許可可供所有 AWS 客戶使用。我們建議您定義特定於使用案例的[客戶管理政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)，以便進一步減少許可。

您無法變更 AWS 受管政策中定義的許可。如果 AWS 更新受 AWS 管政策中定義的許可，則更新會影響政策連接的所有委託人身分 （使用者、群組和角色）。當新的 AWS 服務 啟動或新的 API 操作可供現有服務使用時， AWS 最有可能更新 AWS 受管政策。

如需詳細資訊，請參閱 *IAM 使用者指南*中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

## AWS 受管政策：WorkSpaces 應用程式和 CloudWatch
<a name="appstream-policy"></a>

**政策名稱：[AWSApplicationAutoscalingAppStreamFleetPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingAppStreamFleetPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1AppStreamFleet](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 Amazon AppStream 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對所有相關資源 ("Resource"： "\$1") 完成下列動作：
+ 動作：`appstream:DescribeFleets`
+ 動作：`appstream:UpdateFleet`
+ 動作：`cloudwatch:DescribeAlarms`
+ 動作：`cloudwatch:PutMetricAlarm`
+ 動作：`cloudwatch:DeleteAlarms`

## AWS 受管政策：Aurora 和 CloudWatch
<a name="aurora-policy"></a>

**政策名稱：[AWSApplicationAutoscalingRDSClusterPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingRDSClusterPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1RDSCluster](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 Aurora 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對所有相關資源 ("Resource"： "\$1") 完成下列動作：
+ 動作：`rds:AddTagsToResource`
+ 動作：`rds:CreateDBInstance`
+ 動作：`rds:DeleteDBInstance`
+ 動作：`rds:DescribeDBClusters`
+ 動作：`rds:DescribeDBInstance`
+ 動作：`cloudwatch:DescribeAlarms`
+ 動作：`cloudwatch:PutMetricAlarm`
+ 動作：`cloudwatch:DeleteAlarms`

## AWS 受管政策：Amazon Comprehend 和 CloudWatch
<a name="comprehend-policy"></a>

**政策名稱：[AWSApplicationAutoscalingComprehendEndpointPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingComprehendEndpointPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1ComprehendEndpoint](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 Amazon Comprehend 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對所有相關資源 ("Resource"： "\$1") 完成下列動作：
+ 動作：`comprehend:UpdateEndpoint`
+ 動作：`comprehend:DescribeEndpoint`
+ 動作：`cloudwatch:DescribeAlarms`
+ 動作：`cloudwatch:PutMetricAlarm`
+ 動作：`cloudwatch:DeleteAlarms`

## AWS 受管政策：DynamoDB 和 CloudWatch
<a name="ddb-policy"></a>

**政策名稱：[AWSApplicationAutoscalingDynamoDBTablePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingDynamoDBTablePolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1DynamoDBTable](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 DynamoDBand和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對所有相關資源 ("Resource"： "\$1") 完成下列動作：
+ 動作：`dynamodb:DescribeTable`
+ 動作：`dynamodb:UpdateTable`
+ 動作：`cloudwatch:DescribeAlarms`
+ 動作：`cloudwatch:PutMetricAlarm`
+ 動作：`cloudwatch:DeleteAlarms`

## AWS 受管政策：Amazon ECS 和 CloudWatch
<a name="ecs-policy"></a>

**政策名稱：[AWSApplicationAutoscalingECSServicePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingECSServicePolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1ECSService](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 Amazon ECS 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對所有相關資源 ("Resource"： "\$1") 完成下列動作：
+ 動作：`ecs:DescribeServices`
+ 動作：`ecs:UpdateService`
+ 動作：`cloudwatch:PutMetricAlarm`
+ 動作：`cloudwatch:DescribeAlarms`
+ 動作：`cloudwatch:GetMetricData`
+ 動作：`cloudwatch:DeleteAlarms`

## AWS 受管政策：ElastiCache 和 CloudWatch
<a name="elasticache-policy"></a>

**政策名稱：[AWSApplicationAutoscalingElastiCacheRGPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingElastiCacheRGPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1ElastiCacheRG](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 ElastiCache 和 CloudWatch 並代表您執行擴展。此服務連結角色可用於 ElastiCache Memcached、Redis OSS 和 Valkey。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對指定的資源完成下列動作：
+ 動作：對所有資源執行 `elasticache:DescribeReplicationGroups`
+ 動作：對所有資源執行 `elasticache:ModifyReplicationGroupShardConfiguration`
+ 動作：對所有資源執行 `elasticache:IncreaseReplicaCount`
+ 動作：對所有資源執行 `elasticache:DecreaseReplicaCount`
+ 動作：對所有資源執行 `elasticache:DescribeCacheClusters`
+ 動作：對所有資源執行 `elasticache:DescribeCacheParameters`
+ 動作：對所有資源執行 `elasticache:ModifyCacheCluster`
+ 動作：對資源 `arn:aws:cloudwatch:*:*:alarm:*` 執行 `cloudwatch:DescribeAlarms`
+ 動作：對資源 `arn:aws:cloudwatch:*:*:alarm:TargetTracking*` 執行 `cloudwatch:PutMetricAlarm`
+ 動作：對資源 `arn:aws:cloudwatch:*:*:alarm:TargetTracking*` 執行 `cloudwatch:DeleteAlarms`

## AWS 受管政策：Amazon Keyspaces 和 CloudWatch
<a name="keyspaces-policy"></a>

**政策名稱：[AWSApplicationAutoscalingCassandraTablePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingCassandraTablePolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1CassandraTable](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 Amazon Keyspaces 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對指定的資源完成下列動作：
+ 動作：在下列資源`cassandra:Select`上：
  + `arn:*:cassandra:*:*:/keyspace/system/table/*`
  + `arn:*:cassandra:*:*:/keyspace/system_schema/table/*`
  + `arn:*:cassandra:*:*:/keyspace/system_schema_mcs/table/*`
+ 動作：對所有資源執行 `cassandra:Alter`
+ 動作：對所有資源執行 `cloudwatch:DescribeAlarms`
+ 動作：對所有資源執行 `cloudwatch:PutMetricAlarm`
+ 動作：對所有資源執行 `cloudwatch:DeleteAlarms`

## AWS 受管政策：Lambda 和 CloudWatch
<a name="lambda-policy"></a>

**政策名稱：[AWSApplicationAutoscalingLambdaConcurrencyPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingLambdaConcurrencyPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1LambdaConcurrency](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 Lambda 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對所有相關資源 ("Resource"： "\$1") 完成下列動作：
+ 動作：`lambda:PutProvisionedConcurrencyConfig`
+ 動作：`lambda:GetProvisionedConcurrencyConfig`
+ 動作：`lambda:DeleteProvisionedConcurrencyConfig`
+ 動作：`cloudwatch:DescribeAlarms`
+ 動作：`cloudwatch:PutMetricAlarm`
+ 動作：`cloudwatch:DeleteAlarms`

## AWS 受管政策：Amazon MSK 和 CloudWatch
<a name="msk-policy"></a>

**政策名稱：[AWSApplicationAutoscalingKafkaClusterPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingKafkaClusterPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1KafkaCluster](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 Amazon MSK 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對所有相關資源 ("Resource"： "\$1") 完成下列動作：
+ 動作：`kafka:DescribeCluster`
+ 動作：`kafka:DescribeClusterOperation`
+ 動作：`kafka:UpdateBrokerStorage`
+ 動作：`cloudwatch:DescribeAlarms`
+ 動作：`cloudwatch:PutMetricAlarm`
+ 動作：`cloudwatch:DeleteAlarms`

## AWS 受管政策：Neptune 和 CloudWatch
<a name="neptune-policy"></a>

**政策名稱：[AWSApplicationAutoscalingNeptuneClusterPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingNeptuneClusterPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1NeptuneCluster](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 Neptune 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對指定的資源完成下列動作：
+ 動作：對所有資源執行 `rds:ListTagsForResource`
+ 動作：對所有資源執行 `rds:DescribeDBInstances`
+ 動作：對所有資源執行 `rds:DescribeDBClusters`
+ 動作：對所有資源執行 `rds:DescribeDBClusterParameters`
+ 動作：對所有資源執行 `cloudwatch:DescribeAlarms`
+ 動作：對 Amazon Neptune 資料庫引擎 (`"Condition":{"StringEquals":{"rds:DatabaseEngine":"neptune"}`) 中具有 *autoscaled-reader* 字首的資源執行 `rds:AddTagsToResource`
+ 動作：對 Amazon Neptune 資料庫引擎 (`"Condition":{"StringEquals":{"rds:DatabaseEngine":"neptune"}`) 所有資料庫叢集 (`"Resource":"arn:*:rds:*:*:db:autoscaled-reader*", "arn:aws:rds:*:*:cluster:*"`) 中具有 *autoscaled-reader* 字首的資源執行 `rds:CreateDBInstance`
+ 動作：對資源 `arn:aws:rds:*:*:db:autoscaled-reader*` 執行 `rds:DeleteDBInstance`
+ 動作：對資源 `arn:aws:cloudwatch:*:*:alarm:TargetTracking*` 執行 `cloudwatch:PutMetricAlarm`
+ 動作：對資源 `arn:aws:cloudwatch:*:*:alarm:TargetTracking*` 執行 `cloudwatch:DeleteAlarms`

## AWS 受管政策：SageMaker AI 和 CloudWatch
<a name="sagemaker-policy"></a>

**政策名稱：[AWSApplicationAutoscalingSageMakerEndpointPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingSageMakerEndpointPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1SageMakerEndpoint](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 SageMaker AI 和 CloudWatch，並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對指定的資源完成下列動作：
+ 動作：對所有資源執行 `sagemaker:DescribeEndpoint`
+ 動作：對所有資源執行 `sagemaker:DescribeEndpointConfig`
+ 動作：對所有資源執行 `sagemaker:DescribeInferenceComponent`
+ 動作：對所有資源執行 `sagemaker:UpdateEndpointWeightsAndCapacities`
+ 動作：對所有資源執行 `sagemaker:UpdateInferenceComponentRuntimeConfig`
+ 動作：對所有資源執行 `cloudwatch:DescribeAlarms`
+ 動作：對所有資源執行 `cloudwatch:GetMetricData`
+ 動作：對資源 `arn:aws:cloudwatch:*:*:alarm:TargetTracking*` 執行 `cloudwatch:PutMetricAlarm`
+ 動作：對資源 `arn:aws:cloudwatch:*:*:alarm:TargetTracking*` 執行 `cloudwatch:DeleteAlarms`

## AWS 受管政策：EC2 Spot Fleet 和 CloudWatch
<a name="spot-policy"></a>

**政策名稱：[AWSApplicationAutoscalingEC2SpotFleetRequestPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingEC2SpotFleetRequestPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1EC2SpotFleetRequest](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 Amazon EC2 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對所有相關資源 ("Resource"： "\$1") 完成下列動作：
+ 動作：`ec2:DescribeSpotFleetRequests`
+ 動作：`ec2:ModifySpotFleetRequest`
+ 動作：`cloudwatch:DescribeAlarms`
+ 動作：`cloudwatch:PutMetricAlarm`
+ 動作：`cloudwatch:DeleteAlarms`

## AWS 受管政策：WorkSpaces 和 CloudWatch
<a name="workspaces-policy"></a>

**政策名稱：[AWSApplicationAutoscalingWorkSpacesPoolPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoscalingWorkSpacesPoolPolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1WorkSpacesPool](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫 WorkSpaces 和 CloudWatch 並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對指定的資源完成下列動作：
+ 動作：在與 SLR 相同帳戶的所有資源`workspaces:DescribeWorkspacesPools`上
+ 動作：在與 SLR 相同帳戶的所有資源`workspaces:UpdateWorkspacesPool`上
+ 動作：`cloudwatch:DescribeAlarms`在與 SLR 相同帳戶的所有警示上
+ 動作：`cloudwatch:PutMetricAlarm`在與 SLR 相同帳戶的所有警示上，警示名稱開頭為 TargetTracking
+ 動作：`cloudwatch:DeleteAlarms`在與 SLR 相同帳戶的所有警示上，警示名稱開頭為 TargetTracking

## AWS 受管政策：自訂資源和 CloudWatch
<a name="custom-resources-policy"></a>

**政策名稱：[AWSApplicationAutoScalingCustomResourcePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSApplicationAutoScalingCustomResourcePolicy.html)**  
此政策會連接到名為 [AWSServiceRoleForApplicationAutoScaling\$1CustomResource](application-auto-scaling-service-linked-roles.md) 的服務連結角色，以允許 Application Auto Scaling 呼叫可透過 API Gateway 和 CloudWatch 使用的自訂資源，並代表您執行擴展。

**許可詳細資訊**

許可政策允許 Application Auto Scaling 對所有相關資源 ("Resource"： "\$1") 完成下列動作：
+ 動作：`execute-api:Invoke`
+ 動作：`cloudwatch:DescribeAlarms`
+ 動作：`cloudwatch:PutMetricAlarm`
+ 動作：`cloudwatch:DeleteAlarms`

## AWS 受管政策的 Application Auto Scaling 更新
<a name="policy-updates"></a>

檢視自此服務開始追蹤 Application Auto Scaling AWS 受管政策更新以來的詳細資訊。如需有關此頁面變更的自動提醒，請訂閱 Application Auto Scaling Document history (Application Auto Scaling 文件歷程記錄) 頁面上的 RSS 摘要。


| 變更 | 描述 | Date | 
| --- | --- | --- | 
|  [AWSApplicationAutoscalingElastiCacheRGPolicy](#elasticache-policy) – 更新現有政策  |  新增呼叫 ElastiCache `ModifyCacheCluster` API 動作以支援 Memcached 自動擴展的許可。  | 2025 年 4 月 10 日 | 
|  [AWSApplicationAutoscalingECSServicePolicy](#ecs-policy) – 更新現有政策  |  新增呼叫 CloudWatch `GetMetricData` API 動作以支援預測擴展的許可。  | 2024 年 11 月 21 日 | 
|  [AWSApplicationAutoscalingWorkSpacesPoolPolicy](#workspaces-policy) – 新政策  |  新增 Amazon WorkSpaces 的受管政策。此政策會連接到[服務連結角色](application-auto-scaling-service-linked-roles.md)，允許 Application Auto Scaling 呼叫 WorkSpaces 和 CloudWatch，並代表您執行擴展。  | 2024 年 6 月 24 日 | 
|  [AWSApplicationAutoscalingSageMakerEndpointPolicy](#sagemaker-policy) – 更新至現有政策  |  新增呼叫 SageMaker AI `DescribeInferenceComponent`和 `UpdateInferenceComponentRuntimeConfig` API 動作的許可，以支援 SageMaker AI 資源自動擴展的相容性，以供即將進行的整合使用。該政策現在還將 CloudWatch `PutMetricAlarm` 和 `DeleteAlarms` API 動作限制為與目標追蹤擴展政策搭配使用的 CloudWatch 警示。  | 2023 年 11 月 13 日 | 
|  [AWSApplicationAutoscalingNeptuneClusterPolicy](#neptune-policy) – 新政策  |  新增 Neptune 的受管政策。此政策會連接到[服務連結角色](application-auto-scaling-service-linked-roles.md)，允許 Application Auto Scaling 呼叫 Neptune 和 CloudWatch，並代表您執行擴展。  | 2021 年 10 月 6 日 | 
|  [AWSApplicationAutoscalingRDSClusterPolicy](#aurora-policy) – 新政策  |  新增 ElastiCache 的受管政策。此政策會連接到[服務連結角色](application-auto-scaling-service-linked-roles.md)，允許 Application Auto Scaling 呼叫 ElastiCache 和 CloudWatch，並代表您執行擴展。  | 2021 年 8 月 19 日 | 
|  Application Auto Scaling 開始追蹤變更  |  Application Auto Scaling 開始追蹤其 AWS 受管政策的變更。  | 2021 年 8 月 19 日 | 

# Application Auto Scaling 的服務連結角色
<a name="application-auto-scaling-service-linked-roles"></a>

Application Auto Scaling [會將服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)用於代表您呼叫其他 AWS 服務所需的許可。服務連結角色是直接連結至 AWS 服務的 AWS Identity and Access Management (IAM) 角色唯一類型。服務連結角色提供將許可委派給 AWS 服務的安全方式，因為只有連結的服務可以擔任服務連結角色。

對於與 Application Auto Scaling 整合的服務，Application Auto Scaling 會為您建立服務連結角色。每個服務都有一個服務連結角色。每個服務連結角色都信任由指定的服務委託人擔任其角色。如需詳細資訊，請參閱[服務連結角色 ARN 參考](#specify-service-linked-role)。

Application Auto Scaling 包含每個服務連結角色的所有必要許可。這些受管許可由 Application Auto Scaling 建立和管理，並定義各種資源類型允許的動作。如需每個角色所授予許可的詳細資訊，請參閱 [AWS Application Auto Scaling 的 受管政策](security-iam-awsmanpol.md)。

**Topics**
+ [建立服務連結角色所需的許可](#create-service-linked-role-permissions)
+ [建立服務連結角色 (自動)](#create-service-linked-role-automatic)
+ [建立服務連結角色 (手動)](#create-service-linked-role-manual)
+ [編輯服務連結角色](#edit-service-linked-role)
+ [刪除服務連結角色](#delete-service-linked-role)
+ [Application Auto Scaling 服務連結角色的支援區域](#slr-regions)
+ [服務連結角色 ARN 參考](#specify-service-linked-role)

## 建立服務連結角色所需的許可
<a name="create-service-linked-role-permissions"></a>

Application Auto Scaling 需要許可，以便在您第一次`RegisterScalableTarget`為指定服務 AWS 帳戶 呼叫任何使用者時建立服務連結角色。如果目標服務沒有服務連結角色，Application Auto Scaling 會在您的帳戶中建立該角色。服務連結角色准許 Application Auto Scaling 代表您呼叫目標服務。

為了成功自動建立該角色，使用者必須有 `iam:CreateServiceLinkedRole` 動作的許可。

```
"Action": "iam:CreateServiceLinkedRole"
```

以下是授權為 Spot 機群建立服務連結角色的身分型政策。您可以在政策的 `Resource` 欄位中以 ARN 指定服務連結角色，以條件指定服務連結角色的服務委託人，如下所示。關於每個服務的 ARN，請參閱[服務連結角色 ARN 參考](#specify-service-linked-role)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "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"
                }
            }
        }
    ]
}
```

------

**注意**  
`iam:AWSServiceName` IAM 條件金鑰指定角色所連接的服務委託人，此範例政策中以 `ec2.application-autoscaling.amazonaws.com` 表示。不要嘗試猜測服務委託人。若要檢視服務的服務委託人，請參閱[AWS 服務 您可以搭配 Application Auto Scaling 使用](integrated-services-list.md)。

## 建立服務連結角色 (自動)
<a name="create-service-linked-role-automatic"></a>

您不需要手動建立服務連結角色，當您呼叫 `RegisterScalableTarget` 時，Application Auto Scaling 會為您建立適當的服務連結角色。例如，若您為 Amazon ECS 服務設定自動擴展，則 Application Auto Scaling 會建立 `AWSServiceRoleForApplicationAutoScaling_ECSService` 角色。

## 建立服務連結角色 (手動)
<a name="create-service-linked-role-manual"></a>

若要建立服務連結角色，您可以使用 IAM 主控台 AWS CLI或 IAM API。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)。

**建立服務連結角色 (AWS CLI)**  
使用下列 [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) 命令來建立 Application Auto Scaling 服務連結角色。在請求中，指定服務名稱「字首」。

若要尋找服務名稱字首，相關資訊請參閱[AWS 服務 您可以搭配 Application Auto Scaling 使用](integrated-services-list.md)一節，其中有每個服務的服務連結角色的服務委託人。服務名稱和服務委託人共用相同的字首。例如，若要建立 AWS Lambda 服務連結角色，請使用 `lambda.application-autoscaling.amazonaws.com`。

```
aws iam create-service-linked-role --aws-service-name prefix.application-autoscaling.amazonaws.com
```

## 編輯服務連結角色
<a name="edit-service-linked-role"></a>

對於 Application Auto Scaling 建立的服務連結角色，您只能編輯其描述。如需詳細資訊，請參閱 *IAM 使用者指南*中的[編輯服務連結角色描述](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-service-linked-role.html#edit-service-linked-role-iam-console)。

## 刪除服務連結角色
<a name="delete-service-linked-role"></a>

如果您不再對支援的服務使用 Application Auto Scaling，建議您刪除對應的服務連結角色。

您必須先刪除相關的 AWS 資源，才能刪除服務連結角色。這可避免您意外撤銷 Application Auto Scaling 使用資源的許可。如需詳細資訊，請參閱各項可擴展性資源的[文件](https://docs.aws.amazon.com/)。例如，若要刪除 Amazon ECS 服務，請參閱《Amazon *Elastic Container Service 開發人員指南》中的*[刪除 Amazon ECS 服務](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/delete-service-v2.html)。

您可以使用 IAM 來刪除服務連結角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr)。

在您刪除服務連結角色後，Application Auto Scaling 會在您呼叫 `RegisterScalableTarget` 時再次建立角色。

## Application Auto Scaling 服務連結角色的支援區域
<a name="slr-regions"></a>

Application Auto Scaling 支援在提供服務的所有 AWS 區域中使用服務連結角色。

## 服務連結角色 ARN 參考
<a name="specify-service-linked-role"></a>

下表列出與 Application Auto Scaling 搭配使用之每個 的服務連結角色的 AWS 服務 Amazon Resource Name (ARN)。


****  

| 服務 | ARN | 
| --- | --- | 
| AppStream 2.0 | arn:aws:iam::012345678910:role/aws-service-role/appstream.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1AppStreamFleet | 
| Aurora | arn:aws:iam::012345678910:role/aws-service-role/rds.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1RDSCluster | 
| Comprehend | arn:aws:iam::012345678910:role/aws-service-role/comprehend.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1ComprehendEndpoint | 
| DynamoDB | arn:aws:iam::012345678910:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1DynamoDBTable | 
| ECS | arn:aws:iam::012345678910:role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1ECSService | 
| ElastiCache | arn:aws:iam::012345678910:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1ElastiCacheRG | 
| Keyspaces | arn:aws:iam::012345678910:role/aws-service-role/cassandra.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1CassandraTable | 
| Lambda | arn:aws:iam::012345678910:role/aws-service-role/lambda.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1LambdaConcurrency | 
| MSK | arn:aws:iam::012345678910:role/aws-service-role/kafka.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1KafkaCluster | 
| Neptune | arn:aws:iam::012345678910:role/aws-service-role/neptune.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1NeptuneCluster | 
| SageMaker AI | arn:aws:iam::012345678910:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1SageMakerEndpoint | 
| Spot Fleets | arn:aws:iam::012345678910:role/aws-service-role/ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1EC2SpotFleetRequest | 
| WorkSpaces | arn:aws:iam::012345678910:role/aws-service-role/workspaces.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1WorkSpacesPool | 
| 自訂資源 | arn:aws:iam::012345678910:role/aws-service-role/custom-resource.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling\$1CustomResource | 

**注意**  
您可以在 CloudFormation 堆疊範本中為 AWS：：ApplicationAutoScaling：：ScalableTarget 資源的 `RoleARN` 屬性指定服務連結角色的 ARN，即使指定的服務連結角色尚不存在。 [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) Application Auto Scaling 會自動為您建立角色。

# Application Auto Scaling 以身分為基礎的政策範例
<a name="security_iam_id-based-policy-examples"></a>

根據預設，您 中的全新使用者 AWS 帳戶 沒有執行任何動作的許可。IAM 管理員必須建立和指派 IAM 政策，它們可提供 IAM 身分 (例如使用者或角色)，以執行 Application Auto Scaling API 動作。

若要了解如何使用以下範例 JSON 政策文件來建立 IAM 政策，請參閱《IAM 使用者指南》**中的[在 JSON 標籤上建立政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)。

**Topics**
+ [Application Auto Scaling API 動作所需的許可](#application-auto-scaling-actions-permissions)
+ [對目標服務和 CloudWatch 執行 API 動作所需的許可](#application-auto-scaling-additional-permissions)
+ [在 中工作的許可 AWS 管理主控台](#security_iam_id-based-policy-examples-console)

## Application Auto Scaling API 動作所需的許可
<a name="application-auto-scaling-actions-permissions"></a>

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

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

------
#### [ JSON ]

****  

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

------

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

------
#### [ JSON ]

****  

```
{
    "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 動作的許可，而不是擴展政策。

------
#### [ JSON ]

****  

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

------

## 對目標服務和 CloudWatch 執行 API 動作所需的許可
<a name="application-auto-scaling-additional-permissions"></a>

為了成功設定 Application Auto Scaling 來用於目標服務，必須授予終端使用者許可來存取 Amazon CloudWatch 及他們將設定擴展的每個目標服務。使用以下政策授予存取目標服務和 CloudWatch 所需的最低許可。

**Topics**
+ [AppStream 2.0 機群](#permissions-for-appstream-fleets)
+ [Aurora 複本](#permissions-for-aurora-clusters)
+ [Amazon Comprehend 文件分類和實體識別器端點](#permissions-for-comprehend-endpoints)
+ [DynamoDB 資料表和全域次要索引](#permissions-for-dynamodb-tables-and-gsis)
+ [ECS 服務](#permissions-for-ecs-services)
+ [ElastiCache 複寫群組](#permissions-for-elasticache)
+ [Amazon EMR 叢集](#permissions-for-emr-clusters)
+ [Amazon Keyspaces 資料表](#permissions-for-keyspaces-tables)
+ [Lambda 函式](#permissions-for-lambda-functions)
+ [Amazon Managed Streaming for Apache Kafka (MSK) 代理程式儲存](#permissions-for-msk-broker-storage)
+ [Neptune 叢集](#permissions-for-neptune-clusters)
+ [SageMaker AI 端點](#permissions-for-sagemaker-endpoints)
+ [Spot 機群 (Amazon EC2)](#permissions-for-spot-fleet)
+ [自訂資源](#permissions-for-custom-resources)

### AppStream 2.0 機群
<a name="permissions-for-appstream-fleets"></a>

以下身分型政策會授予對所有必要 AppStream 2.0 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

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

------

### Aurora 複本
<a name="permissions-for-aurora-clusters"></a>

以下身分型政策會授予對所有必要 Aurora 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

```
{
    "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 文件分類和實體識別器端點
<a name="permissions-for-comprehend-endpoints"></a>

以下身分型政策會授予對所有必要 Amazon Comprehend 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

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

------

### DynamoDB 資料表和全域次要索引
<a name="permissions-for-dynamodb-tables-and-gsis"></a>

以下身分型政策會授予對所有必要 DynamoDB 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

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

------

### ECS 服務
<a name="permissions-for-ecs-services"></a>

以下身分型政策會授予對所有必要 ECS 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

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

------

### ElastiCache 複寫群組
<a name="permissions-for-elasticache"></a>

以下身分型政策會授予對所有必要 ElastiCache 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

```
{
    "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 叢集
<a name="permissions-for-emr-clusters"></a>

以下身分型政策會授予對所有必要 Amazon EMR 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

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

------

### Amazon Keyspaces 資料表
<a name="permissions-for-keyspaces-tables"></a>

以下身分型政策會授予對所有必要 Amazon Keyspaces 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

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

------

### Lambda 函式
<a name="permissions-for-lambda-functions"></a>

以下身分型政策會授予對所有必要 Lambda 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

```
{
    "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) 代理程式儲存
<a name="permissions-for-msk-broker-storage"></a>

以下身分型政策會授予對所有必要 Amazon MSK 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

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

------

### Neptune 叢集
<a name="permissions-for-neptune-clusters"></a>

以下身分型政策會授予對所有必要 Neptune 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

```
{
    "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 AI 端點
<a name="permissions-for-sagemaker-endpoints"></a>

下列身分型政策會將許可授予所有必要的 SageMaker AI 和 CloudWatch API 動作。

------
#### [ JSON ]

****  

```
{
    "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)
<a name="permissions-for-spot-fleet"></a>

以下身分型政策會授予對所有必要 Spot 機群 和 CloudWatch API 動作的許可。

------
#### [ JSON ]

****  

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

------

### 自訂資源
<a name="permissions-for-custom-resources"></a>

以下身分型政策會授予 API Gateway API 執行動作的許可。此政策還會授予對所有必要 CloudWatch 動作的許可。

------
#### [ JSON ]

****  

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

------

## 在 中工作的許可 AWS 管理主控台
<a name="security_iam_id-based-policy-examples-console"></a>

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

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

您也可以建立自己的自訂 IAM 政策，以給予使用者精細許可在 AWS 管理主控台檢視和使用特定的 Application Auto Scaling API 動作。您可以使用先前章節中的範例政策；不過，這些政策是專為使用 AWS CLI 或 SDK 提出的請求而設計。主控台會針對其功能使用其他的 API 動作，所以這些政策可能不會如預期般運作。例如，若要設定步驟擴展，使用者可能需要額外許可來建立和管理 CloudWatch 警示。

**提示**  
在主控台中執行工作時，為協助找出所需的 API 動作，您可以使用像是 AWS CloudTrail的服務。如需詳細資訊，請參閱[「AWS CloudTrail 使用者指南」](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

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

------
#### [ JSON ]

****  

```
{
    "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 主控台所需的許可](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console)。 *Amazon CloudWatch *

# Application Auto Scaling 存取的疑難排解
<a name="security_iam_troubleshoot"></a>

如果您在使用 Application Auto Scaling 時遇到 `AccessDeniedException` 或類似困難，請參閱本節的資訊。

## 我未獲授權在 Application Auto Scaling 中執行動作
<a name="security_iam_troubleshoot-no-permissions"></a>

如果您在呼叫 AWS API 操作`AccessDeniedException`時收到 ，表示您正在使用的 AWS Identity and Access Management (IAM) 登入資料沒有發出該呼叫所需的許可。

當 `mateojackson` 使用者嘗試檢視可擴展目標的詳細資訊，但沒有 `application-autoscaling:DescribeScalableTargets` 許可時，便會發生以下範例錯誤。

```
An error occurred (AccessDeniedException) when calling the DescribeScalableTargets operation: User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: application-autoscaling:DescribeScalableTargets
```

如果您遇到此錯誤或類似錯誤，則必須聯絡管理員以取得協助。

您帳戶的管理員必須確定您具有許可，可存取 Application Auto Scaling 在目標服務和 CloudWatch 中存取資源時使用的所有 API 動作。所需的許可視您使用的資源而有所不同。當使用者首次為給定的資源設定擴展時，Application Auto Scaling 也需要有許可來建立服務連結角色。

## 我是管理員，我的 IAM 政策傳回錯誤或無法如預期般運作
<a name="security_iam_troubleshoot-validation-errors"></a>

除了 Application Auto Scaling 動作外，您的 IAM 政策還必須授予許可來呼叫目標服務和 CloudWatch。如果使用者或應用程式沒有這些額外許可，其存取作業可能會意外遭到拒絕。若要為您帳戶中的使用者和應用程式撰寫 IAM 政策，請參閱 [Application Auto Scaling 以身分為基礎的政策範例](security_iam_id-based-policy-examples.md) 中的資訊。

如需如何執行驗證的相關資訊，請參閱[目標資源上 Application Auto Scaling API 呼叫的許可驗證](security_iam_permission_validation.md)。

請注意，某些許可問題也可能起因於建立 Application Auto Scaling 所使用的服務連結角色時發生問題。如需有關建立這些服務連結角色的詳細資訊，請參閱 [Application Auto Scaling 的服務連結角色](application-auto-scaling-service-linked-roles.md)。

# 目標資源上 Application Auto Scaling API 呼叫的許可驗證
<a name="security_iam_permission_validation"></a>

向 Application Auto Scaling API 動作提出授權請求需要 API 發起人具有存取目標服務和 CloudWatch 中 AWS 資源的許可。在繼續處理與目標服務和 CloudWatch 相關聯的請求之前，Application Auto Scaling 會先驗證請求的許可。為了這樣做，我們發出一系列呼叫來驗證目標資源上的 IAM 許可。傳回的回應由 Application Auto Scaling 讀取。如果 IAM 許可不允許指定的動作，則 Application Auto Scaling 的請求會失敗，並傳回錯誤給使用者，其中包含缺少許可的相關資訊。這可確保使用者想要部署的擴展組態如預期般運作，並於請求失敗時傳回有用的錯誤。

為了示範運作過程，以下資訊提供有關 Application Auto Scaling 如何對 Aurora 和 CloudWatch 執行許可驗證的詳細資訊。

當使用者對 Aurora 資料庫叢集呼叫 `RegisterScalableTarget` API 時，Application Auto Scaling 會執行下列所有檢查，以確認使用者具有必要的許可 (以粗體顯示)。
+ **rds:CreateDBInstance**：為了判斷使用者是否具有此許可，我們對 `CreateDBInstance` API 操作傳送請求，嘗試在使用者指定的 Aurora 資料庫叢集中以無效參數 (空的執行個體 ID) 建立資料庫執行個體。對於獲授權的使用者，API 在稽核請求後會傳回 `InvalidParameterValue` 錯誤碼回應。但是，對於未經授權的使用者，我們會遇到 `AccessDenied` 錯誤，且 Application Auto Scaling 請求會失敗，並將 `ValidationException` 錯誤傳給使用者，其中列出缺少的許可。
+ **rds:DeleteDBInstance**：我們將空的執行個體 ID 傳送給 `DeleteDBInstance` API 操作。對於獲授權的使用者，此請求會導致 `InvalidParameterValue` 錯誤。對於未經授權的使用者，則會導致 `AccessDenied` 並傳送驗證例外給使用者（與第一個項目符號所述的處理相同）。
+ **rds:AddTagsToResource**：因為 `AddTagsToResource` API 操作需要 Amazon Resource Name (ARN)，所以必須使用無效帳戶 ID (12345) 指定「虛擬」資源，並指定虛擬執行個體 ID (non-existing-db)，以建構 ARN (`arn:aws:rds:us-east-1:12345:db:non-existing-db`)。對於獲授權的使用者，此請求會導致 `InvalidParameterValue` 錯誤。對於未經授權的使用者，則會導致 `AccessDenied` 並傳送驗證例外給使用者。
+ **rds：DescribeDBClusters**：我們描述要註冊自動擴展之資源的叢集名稱。對於獲授權的使用者，我們得到有效的描述結果。對於未經授權的使用者，則會導致 `AccessDenied` 並傳送驗證例外給使用者。
+ **rds：DescribeDBInstances**：我們使用篩選條件來呼叫 `DescribeDBInstances` API，該`db-cluster-id`篩選條件會篩選使用者提供的叢集名稱，以註冊可擴展的目標。對於獲授權的使用者，我們獲准描述資料庫叢集中的所有資料庫執行個體。對於未經授權的使用者，此呼叫會導致 `AccessDenied` 並傳送驗證例外給使用者。
+ **cloudwatch:PutMetricAlarm**：我們呼叫 `PutMetricAlarm` API 且不帶任何參數。因為缺少警示名稱，對於獲授權的使用者，此請求會導致 `ValidationError`。對於未經授權的使用者，則會導致 `AccessDenied` 並傳送驗證例外給使用者。
+ **cloudwatch:DescribeAlarms**：我們呼叫 `DescribeAlarms` API，並將記錄數上限值設為 1。對於獲授權的使用者，我們預期回應中有一個警示的資訊。對於未經授權的使用者，此呼叫會導致 `AccessDenied` 並傳送驗證例外給使用者。
+ **cloudwatch:DeleteAlarms**：類似於上方的 `PutMetricAlarm`，我們不提供參數給 `DeleteAlarms` 請求。因為請求中缺少警示名稱，對於獲授權的使用者，此呼叫會失敗並傳回 `ValidationError`。對於未經授權的使用者，則會導致 `AccessDenied` 並傳送驗證例外給使用者。

發生上述任何一個驗證例外都會記錄下來。您可以採取步驟，使用 手動識別哪些呼叫驗證失敗 AWS CloudTrail。如需詳細資訊，請參閱[「AWS CloudTrail 使用者指南」](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

**注意**  
如果您使用 CloudTrail 收到有關 Application Auto Scaling 事件的提醒，則這些提醒會包含預設情況下用於驗證使用者許可的 Application Auto Scaling 呼叫。要篩選出這些提醒，請使用 `invokedBy` 欄位，該欄位會包含進行這些驗證檢查的 `application-autoscaling.amazonaws.com`。