

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

# スケーリングプランの ID に基づいたポリシーの例
<a name="security_iam_id-based-policy-examples"></a>

デフォルトで、まったく新しい IAM ユーザーには、何かを実行する許可は一切ありません。IAM 管理者は、IAM アイデンティティ (ユーザーやロールなど) にスケーリングプランを操作するアクセス許可を付与する IAM ポリシーを作成して割り当てる必要があります。

これらの JSON ポリシードキュメント例を使用して IAM ポリシーを作成する方法については、*IAM ユーザーガイド*の「[JSON タブでのポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)」を参照してください。

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [スケーリングプランの作成をユーザーに許可する](#example-policies-scaling-plans)
+ [予測スケーリングの有効化をユーザーに許可する](#example-policies-predictive-scaling)
+ [追加で必要な許可](#aws-auto-scaling-additional-permissions)
+ [サービスにリンクされたロールの作成に必要な許可](#aws-auto-scaling-slr-permissions)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID ベースのポリシーは、アカウント内の AWS Auto Scaling リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## スケーリングプランの作成をユーザーに許可する
<a name="example-policies-scaling-plans"></a>

次に、スケーリングプランを作成するアクセス許可を付与するアイデンティティベースのポリシーの例を示します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "autoscaling-plans:*",
              "cloudwatch:PutMetricAlarm",
              "cloudwatch:DeleteAlarms",
              "cloudwatch:DescribeAlarms",
              "cloudformation:ListStackResources"
            ],
            "Resource": "*"
        }
    ]
}
```

------

スケーリングプランを使用するには、アカウントで特定のリソースを使用できる追加の許可がエンドユーザーに付与されている必要があります。これらのアクセス許可については、「[追加で必要な許可](#aws-auto-scaling-additional-permissions)」を参照してください。

各コンソールユーザーには、アカウント内のスケーラブルなリソースを検出し、 AWS Auto Scaling コンソールから CloudWatch メトリクスデータのグラフを表示するためのアクセス許可も必要です。 AWS Auto Scaling コンソールを操作するために必要な追加のアクセス許可のセットを以下に示します。
+ `cloudformation:ListStacks`：スタックのリストを取得します。
+ `tag:GetTagKeys`：特定のタグキーを含むスケーラブルなリソースを検索します。
+ `tag:GetTagValues`：特定のタグ値を含むリソースを検索します。
+ `autoscaling:DescribeTags`：特定のタグを含む Auto Scaling グループを検索する。
+ `cloudwatch:GetMetricData`： メトリクスグラフでデータを表示する。

## 予測スケーリングの有効化をユーザーに許可する
<a name="example-policies-predictive-scaling"></a>

次に、予測スケーリングを有効化するアクセス許可を付与するアイデンティティベースのポリシーの例を示します。これらの許可は、Auto Scaling グループのスケーリングのために設定されたスケーリングプランの機能を拡張します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "cloudwatch:GetMetricData",
              "autoscaling:DescribeAutoScalingGroups",
              "autoscaling:DescribeScheduledActions",
              "autoscaling:BatchPutScheduledUpdateGroupAction",
              "autoscaling:BatchDeleteScheduledAction"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 追加で必要な許可
<a name="aws-auto-scaling-additional-permissions"></a>

スケーリングプランを正常に設定するには、エンドユーザーがスケーリングを設定する各対象サービスへのアクセス許可をエンドユーザーに付与する必要があります。対象サービスの操作に必要な最小のアクセス許可を付与するには、このセクションの情報を読み、IAM ポリシーステートメントの `Action` 要素に関連するアクションを指定してください。

**「Auto Scaling グループ」**

Auto Scaling グループをスケーリングプランに追加するには、ユーザーに Amazon EC2 Auto Scaling から次の許可が必要です。
+ `autoscaling:UpdateAutoScalingGroup`
+ `autoscaling:DescribeAutoScalingGroups`
+ `autoscaling:PutScalingPolicy`
+ `autoscaling:DescribePolicies`
+ `autoscaling:DeletePolicy`

**ECS サービス**

スケーリングプランに ECS サービスを追加するには、ユーザーに Amazon ECS と Application Auto Scaling から次の許可が必要です。
+ `ecs:DescribeServices`
+ `ecs:UpdateService`
+ `application-autoscaling:RegisterScalableTarget`
+ `application-autoscaling:DescribeScalableTargets`
+ `application-autoscaling:DeregisterScalableTarget`
+ `application-autoscaling:PutScalingPolicy`
+ `application-autoscaling:DescribeScalingPolicies`
+ `application-autoscaling:DeleteScalingPolicy`

**スポットフリート**

スケーリングプランにスポットフリートを追加するには、ユーザーに Amazon EC2 と Application Auto Scaling から次の許可が必要です。
+ `ec2:DescribeSpotFleetRequests`
+ `ec2:ModifySpotFleetRequest`
+ `application-autoscaling:RegisterScalableTarget`
+ `application-autoscaling:DescribeScalableTargets`
+ `application-autoscaling:DeregisterScalableTarget`
+ `application-autoscaling:PutScalingPolicy`
+ `application-autoscaling:DescribeScalingPolicies`
+ `application-autoscaling:DeleteScalingPolicy`

**DynamoDB テーブルまたはグローバルインデックス**

スケーリングプランにDynamoDB テーブルまたはグローバルインデックスを追加するには、ユーザーに DynamoDB とApplication Auto Scaling　から次の許可が必要です。
+ `dynamodb:DescribeTable`
+ `dynamodb:UpdateTable`
+ `application-autoscaling:RegisterScalableTarget`
+ `application-autoscaling:DescribeScalableTargets`
+ `application-autoscaling:DeregisterScalableTarget`
+ `application-autoscaling:PutScalingPolicy`
+ `application-autoscaling:DescribeScalingPolicies`
+ `application-autoscaling:DeleteScalingPolicy`

**Aurora DB クラスター**

Aurora DB クラスターをスケーリングプランに追加するには、ユーザーに Amazon Aurora と Application Auto Scaling から次の許可が必要です。
+ `rds:AddTagsToResource`
+ `rds:CreateDBInstance`
+ `rds:DeleteDBInstance`
+ `rds:DescribeDBClusters`
+ `rds:DescribeDBInstances`
+ `application-autoscaling:RegisterScalableTarget`
+ `application-autoscaling:DescribeScalableTargets`
+ `application-autoscaling:DeregisterScalableTarget`
+ `application-autoscaling:PutScalingPolicy`
+ `application-autoscaling:DescribeScalingPolicies`
+ `application-autoscaling:DeleteScalingPolicy`

## サービスにリンクされたロールの作成に必要な許可
<a name="aws-auto-scaling-slr-permissions"></a>

AWS Auto Scaling では、 のユーザーが予測スケーリングを有効にしてスケーリングプランを初めて AWS アカウント 作成するときに、サービスにリンクされたロールを作成するアクセス許可が必要です。サービスにリンクされたロールがまだ存在しない場合は、 によってアカウントに AWS Auto Scaling 作成されます。サービスにリンクされたロールは、ユーザーに代わって他の サービスを呼び出す AWS Auto Scaling ことができるように、 にアクセス許可を付与します。

この自動ロール作成を成功させるには、ユーザーには `iam:CreateServiceLinkedRole` アクションへのアクセス許可が必要です。

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

次に、サービスにリンクされたロールを作成するアクセス許可を付与するアイデンティティベースのポリシーの例を示します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling-plans.amazonaws.com/AWSServiceRoleForAutoScalingPlans_EC2AutoScaling",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName":"autoscaling-plans.amazonaws.com"
                }
            }
        }
    ]
}
```

------

詳細については、「[サービスにリンクされたロールの予測スケーリング](aws-auto-scaling-service-linked-roles.md)」を参照してください。