擴展計畫的身分型政策範例 - AWS Auto Scaling

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

擴展計畫的身分型政策範例

根據預設,全新的 IAM 使用者沒有執行任何動作的許可。IAM 管理員必須建立和指派 IAM 政策,它們可提供 IAM 身分 (例如使用者或角色) 許可,以搭配使用擴展計畫。

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

政策最佳實務

以身分識別為基礎的政策會決定某人是否可以建立、存取或刪除您帳戶中的 AWS Auto Scaling 資源。這些動作可能會讓您的 AWS 帳戶產生費用。當您建立或編輯身分型政策時,請遵循下列準則及建議事項:

  • 開始使用 AWS 受管原則並邁向最低權限權限 — 若要開始授與使用者和工作負載的權限,請使用可授與許多常見使用案例權限的AWS 受管理原則。它們可用在您的 AWS 帳戶. 建議您透過定義特定於您的使用案例的 AWS 客戶管理政策,進一步降低使用權限。如需更多資訊,請參閱 IAM 使用者指南中的 AWS 受管政策任務職能的AWS 受管政策

  • 套用最低許可許可 – 設定 IAM 政策的許可時,請僅授予執行任務所需的權限。為實現此目的,您可以定義在特定條件下可以對特定資源採取的動作,這也稱為最低權限許可。如需使用 IAM 套用許可的更多相關資訊,請參閱 IAM 使用者指南中的 IAM 中的政策和許可

  • 使用 IAM 政策中的條件進一步限制存取權 – 您可以將條件新增至政策,以限制動作和資源的存取。例如,您可以撰寫政策條件,指定必須使用 SSL 傳送所有請求。您也可以使用條件來授與對服務動作的存取權 (如透過特定) 使用這些動作 AWS 服務,例如 AWS CloudFormation。如需更多資訊,請參閱 IAM 使用者指南中的 IAM JSON 政策元素:條件

  • 使用 IAM Access Analyzer 驗證 IAM 政策,確保許可安全且可正常運作 – IAM Access Analyzer 驗證新政策和現有政策,確保這些政策遵從 IAM 政策語言 (JSON) 和 IAM 最佳實務。IAM Access Analyzer 提供 100 多項政策檢查及切實可行的建議,可協助您編寫安全且實用的政策。如需更多資訊,請參閱 IAM 使用者指南中的 IAM Access Analyzer 政策驗證

  • 需要多因素身份驗證 (MFA) — 如果您的案例需要 IAM 使用者或根使用者 AWS 帳戶,請開啟 MFA 以獲得額外的安全性。若要在呼叫 API 作業時請求 MFA,請將 MFA 條件新增至您的政策。如需更多資訊,請參閱 IAM 使用者指南中的設定 MFA 保護的 API 存取

如需 IAM 中最佳實務的相關資訊,請參閱 IAM 使用者指南中的 IAM 安全最佳實務

允許使用者建立擴展計劃

以下顯示授予建立擴展計畫的許可之身分型政策範例。

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

若要使用擴展計畫,最終使用者必須擁有其他的許可,允許使用者使用帳戶中的特定資源。這些許可會列在其他必要許可

每個主控台使用者還需要權限,以便他們能夠探索其帳戶中的可擴充資源,並從 AWS Auto Scaling 主控台檢視 CloudWatch 指標資料的圖形。下面列出了與 AWS Auto Scaling 控制台配合使用所需的其他權限集:

  • cloudformation:ListStacks:列出堆疊。

  • tag:GetTagKeys:尋找包含特定標籤金鑰的可擴展性資源。

  • tag:GetTagValues:尋找包含特定標籤值的資源。

  • autoscaling:DescribeTags:尋找包含特定標籤的 Auto Scaling 群組。

  • cloudwatch:GetMetricData:檢視指標圖中的資料。

允許使用者啟用預測性擴展

以下顯示授予啟用預測擴展的許可之身分型政策範例。這些許可會延伸設定用來擴展 Auto Scaling 群組之擴展計劃的功能。

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

其他必要許可

為了成功設定擴展計畫,必須授予終端使用者許可來存取他們將設定擴展的每個目標服務。若要授予使用目標服務所需的最低許可,請參閱本節中的資訊,並在 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

Spot 機群

若要將 Spot 機群新增至擴展計劃,使用者必須具有來自 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 資料庫叢集

若要將 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

建立服務連結角色所需的許可

AWS Auto Scaling 在您的任何使用者第一次建立已啟用預測擴展規模的擴展計劃時,需要建 AWS 帳戶 立服務連結角色的權限。如果服務連結角色尚未存在,請在您的帳戶中 AWS Auto Scaling 建立該角色。服務連結角色會授與權限,以 AWS Auto Scaling 便它可以代表您呼叫其他服務。

為能成功自動建立該角色,使用者必須已獲許可執行 iam:CreateServiceLinkedRole 動作。

"Action": "iam:CreateServiceLinkedRole"

以下顯示授予建立服務連結角色的許可之身分型政策範例。

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

如需詳細資訊,請參閱 預測擴展服務連結角色