我正在尝试编写一个IAM策略来控制对EC2实例的访问。所有EC2实例都将具有名为username的自定义标记,并且仅当标记值与登录用户的用户名匹配时,该用户才能访问该EC2实例。这就是我想出的:
{
"Version": "2012-10-12",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/username": "arn:aws:iam::account-number-without-hyphens:user/username1"
}
}
}
]
}
我相信你在这里看到了问题。我不想在右侧硬编码用户名值。我希望能够在运行时或政策评估时获得这些信息。
是否可以这样做?
答案 0 :(得分:6)
可以通过${aws:username}
在策略文档中引用IAM用户。
此处列出了其他IAM政策变量及其用途:
http://docs.aws.amazon.com/IAM/latest/UserGuide/PolicyVariables.html