cha*_*rli 12 amazon-web-services amazon-iam aws-iam
我想允许来自不同账户的某些角色在我的账户中担任某个角色。我不想一一指定角色,因为它们容易频繁变化。
我为信任关系提出了这个策略,它应该允许名称以 结尾的任何角色_my_suffix,但它不起作用(访问被拒绝):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNT_NR_A:root"
},
"Condition": {
"ArnLike": {
"aws:SourceArn": "arn:aws:iam::ACCOUNT_NR_A:role/*_my_suffix"
}
},
"Action": "sts:AssumeRole"
}
]
}
Run Code Online (Sandbox Code Playgroud)
另一方面,此策略有效但它过于开放,因为它允许帐户 A 中的任何用户/角色承担我的角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNT_NR_A:root"
},
"Action": "sts:AssumeRole"
}
]
}
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法只允许一组角色而不被明确指定?
小智 20
我最近遇到了同样的用例。没有任何回复为我解决了这个问题。
Charli,你原来的解决方案是有效的,但我需要一些调整才能让它工作,也就是说,我需要用 'stringLike' 替换 'ArnLike' 并切换 'aws:SourceArn' 以使用 'aws:PrincipalArn':
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<ACCOUNT_ID>:root"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringLike": {
"aws:PrincipalArn": "arn:aws:iam::<ACCOUNT_ID>:role/test-role-name-*"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7541 次 |
| 最近记录: |