すべてのプロダクト
Search
ドキュメントセンター

Auto Scaling:Auto Scalingのカスタムポリシー

最終更新日:Sep 11, 2024

システムポリシーが要件を満たしていない場合は、最小権限の原則を実装するようにカスタムポリシーを構成できます。 カスタムポリシーを使用して、権限を細かく制御し、リソースアクセスのセキュリティを強化できます。 このトピックでは、カスタムポリシーの用語とAuto Scalingの権限について説明します。

カスタムポリシーとは何ですか?

RAM (Resource Access Management) ポリシーは、システムポリシーとカスタムポリシーに分類されます。 ビジネス要件に基づいてカスタムポリシーを管理できます。

  • カスタムポリシーを作成した後、RAMユーザー、RAMユーザーグループ、またはRAMロールにポリシーをアタッチする必要があります。 これにより、ポリシーで指定された権限をプリンシパルに付与できます。

  • プリンシパルにアタッチされていないRAMポリシーを削除できます。 RAMポリシーがプリンシパルにアタッチされている場合は、RAMポリシーを削除する前に、RAMポリシーをプリンシパルからデタッチする必要があります。

  • カスタムポリシーはバージョン管理をサポートします。 RAMが提供するバージョン管理メカニズムに基づいて、カスタムポリシーバージョンを管理できます。

関連ドキュメント

一般的なシナリオとサンプルのカスタムポリシー

例1: タグを持つスケーリンググループの作成

この例では、次のカスタムポリシーが割り当てられている場合、作成時にタグenvironment:testteam:game1を追加した場合にのみ、スケーリンググループ1を作成できます。

{
    "Effect": "Allow",
    "Action": "ess:Create*",
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "acs:RequestTag/environment": "test",
            "acs:RequestTag/team": "game1"
        }
    }
}

例2: 指定されたタグを持つスケーリンググループを操作する

この例では、スケーリンググループ1にenvironment:testteam:game1のタグがあります。 スケーリンググループ2には、environment:devteam:game2のタグがあります。 次のカスタムポリシーが割り当てられている場合は、スケーリンググループ1のみを操作できます。

{
    "Version": "1",
    "Statement": [
        {
            "Action": "ess:*",
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:ResourceTag/environment": "test",
                    "acs:ResourceTag/Team": "game1"
                }
            }
        },
        {
            "Action": "ess:*",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:ResourceTag/environment": "dev",
                    "acs:ResourceTag/team": "game2"
                }
            }
        },      
        {
           "Effect": "Allow",
           "Action": [
                   "ess:DescribeRegions",
                   "ess:CreateScheduledTask",
                   "ess:ModifyScheduledTask",
                   "ess:DescribeScheduledTasks",
                   "ess:DeleteScheduledTask",
                   "ess:CreateAlarm",
                   "ess:DescribeAlarms",
                   "ess:ModifyAlarm",
                   "ess:EnableAlarm",
                   "ess:DeleteAlarm"
                ],
    "Resource": "*"
      }
   ]
}

例3: 指定したリージョンでスケーリンググループを作成して操作する

この例では、中国 (杭州) と中国 (北京) が使用されています。 次のカスタムポリシーが割り当てられている場合は、Auto scalingコンソールを使用するか、中国 (杭州) リージョンでAPI操作を呼び出して、スケーリンググループを作成して操作できます。 中国 (北京) リージョンでスケーリンググループを作成および操作することはできません。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ess:*",
            "Resource": "acs:ess:cn-hangzhou:160998252992****:*"
        },
        {
            "Effect": "Deny",
            "Action": "ess:*",
            "Resource": "acs:ess:cn-beijing:160998252992****:*"
        },
        {  
           "Effect": "Allow",
           "Action": [
                   "ess:DescribeRegions",
                   "ess:CreateScheduledTask",
                   "ess:ModifyScheduledTask",
                   "ess:DescribeScheduledTasks",
                   "ess:DeleteScheduledTask",
                   "ess:CreateAlarm",
                   "ess:DescribeAlarms",
                   "ess:ModifyAlarm",
                   "ess:EnableAlarm",
                   "ess:DeleteAlarm"
                ],
            "Resource": "*"                       
        }
    ]
}

権限付与

カスタムポリシーを作成する前に、ビジネスの権限管理要件を理解し、Auto Scalingの権限付与ルールについて学ぶ必要があります。 詳細については、「 RAM での権限付与」をご参照ください。