对于AWS,您可以使用AWS Identity and Access Management(IAM)服务来分配权限给控制企业账户中虚拟机的停止/启动功能。以下是一个代码示例,演示如何使用IAM策略为用户分配这些权限。
首先,您需要创建一个IAM策略,该策略将允许用户在特定的EC2实例上停止和启动操作。可以在AWS控制台的IAM部分创建策略,或者使用AWS CLI或AWS SDK进行创建。
下面是一个示例的IAM策略,允许用户停止和启动具有特定标签的EC2实例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowStopStartEC2Instances",
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "arn:aws:ec2:region:account-id:instance/*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/your-tag-key": "your-tag-value"
}
}
}
]
}
请将region
替换为您的AWS区域,account-id
替换为您的AWS账户ID,your-tag-key
和your-tag-value
替换为您要控制的EC2实例的标签键和值。
接下来,将此策略附加到您希望具有停止/启动权限的IAM用户或IAM角色上。可以在AWS控制台的IAM部分或使用AWS CLI或AWS SDK进行操作。
最后,用户或角色将能够使用StartInstances
和StopInstances
操作来停止和启动具有指定标签的EC2实例。
请注意,上述示例仅适用于具有特定标签的EC2实例。如果您希望允许用户停止和启动所有EC2实例,可以将"Resource": "arn:aws:ec2:region:account-id:instance/*"
中的*
替换为"*"
。然而,请注意在为用户分配权限时要小心,确保仅授予其最低必要的权限,以保护您的AWS资源的安全性。