本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
擴展計畫的身分型政策範例
根據預設,全新的 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"
}
}
}
]
}
如需詳細資訊,請參閱 預測擴展服務連結角色。