

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Application Auto Scaling のアイデンティティベースポリシー例
<a name="security_iam_id-based-policy-examples"></a>

デフォルトでは、 のまったく新しいユーザー AWS アカウント には、何もするアクセス許可がありません。IAM 管理者は、IAM アイデンティティ (ユーザーやロールなど) に Application Auto Scaling API アクションを実行するアクセス許可を与える IAM ポリシーを作成して割り当てる必要があります。

以下のサンプル 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)
+ [スポットフリート (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": "*"
        }
    ]
}
```

------

### スポットフリート (Amazon EC2)
<a name="permissions-for-spot-fleet"></a>

以下のアイデンティティベースのポリシーは、必要とされるすべてのスポットフリートおよび 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 と統合するほとんどのサービスには、それらのコンソールでスケーリングを設定することを目的とした機能があります。

ほとんどの場合、各サービスは、Application Auto Scaling API アクションへのアクセス許可を含むコンソールへのアクセスを定義する AWS マネージド (事前定義) IAM ポリシーを提供します。詳細については、コンソールを使用するサービスのドキュメントを参照してください。

 AWS マネジメントコンソールで特定の Application Auto Scaling アクションを表示して使用するためのきめ細かな許可をユーザーに付与する、独自のカスタム IAM ポリシーを作成することもできます。前のセクションのサンプルポリシーを使用できますが、 AWS CLI または SDK で行われたリクエスト用に設計されています。コンソールではこの機能を実行するために追加の API アクションを使用するので、これらのポリシーは正常に動作しない可能性があります。例えば、ステップスケーリングを設定するには、CloudWatch アラームを作成して管理するための追加の許可がユーザーに必要となる場合があります。

**ヒント**  
コンソールでタスクを実行するために必要な API アクションを探すには、 AWS CloudTrailなどのサービスを使用できます。詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)」を参照してください。

以下のアイデンティティベースのポリシーは、スポットフリートのスケーリングポリシーを設定するためのアクセス許可を付与します。スポットフリートの 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)」を参照してください。