Amazon web services ssm:resourceTag跨帐户问题
我正在使用ssm:tag of documents根据用户角色和文档标记限制用户访问。我已经在IAM策略中添加了一个条件,它正在运行。但当我试图用交叉账户做这件事时,它不起作用 1我的SSM文档位于主帐户中,与子帐户共享 2基于标记限制访问的IAM策略位于子帐户标记键:角色中 3向子帐户发出请求 场景1:当IAM策略中的条件被删除时,我可以成功执行文档。因此,子AWS帐户可以从主AWS帐户获取SSM文档 场景2:当根据标记进行筛选时,即添加到IAM策略中的条件,我无法执行文档。这表明子AWS帐户无法从主AWS帐户获取SSM文档的标记。 有人能帮我吗?附上IAM政策以供参考 IAM政策文件:Amazon web services ssm:resourceTag跨帐户问题,amazon-web-services,amazon-iam,document,ssm,Amazon Web Services,Amazon Iam,Document,Ssm,我正在使用ssm:tag of documents根据用户角色和文档标记限制用户访问。我已经在IAM策略中添加了一个条件,它正在运行。但当我试图用交叉账户做这件事时,它不起作用 1我的SSM文档位于主帐户中,与子帐户共享 2基于标记限制访问的IAM策略位于子帐户标记键:角色中 3向子帐户发出请求 场景1:当IAM策略中的条件被删除时,我可以成功执行文档。因此,子AWS帐户可以从主AWS帐户获取SSM文档 场景2:当根据标记进行筛选时,即添加到IAM策略中的条件,我无法执行文档。这表明子AWS帐户
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "ssm:SendCommand",
"Resource": [
"arn:aws:s3:::ssm-deliverables/ssm-*",
"arn:aws:ec2:ap-south-1:20**********:instance/*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "ssm:ListCommandInvocations",
"Resource": "*"
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": "ssm:SendCommand",
"Resource": "arn:aws:ssm:::document/*",
"Condition": {
"StringEquals": {
"ssm:resourceTag/Role": "${aws:PrincipalTag/Role}"
}
}
}
]
}
aws:PrincipalTag是aws全局条件上下文键之一。我们必须使用上面的键将主体发出请求时附加的标记与您在策略中指定的标记进行比较
在这种情况下,主体是附加了上述策略的IAM用户/角色。因此,IAM用户/角色本身应使用IAM策略中提到的相同值进行标记
例如:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:StartInstances",
"Resource": "*",
"Condition": {"StringEquals": {"ec2:resourceTag/Name": "${aws:PrincipalTag/Name}"
}
}
}
]
}
假设上述策略已附加到希望启动EC2实例的IAM用户,则如果该用户使用与IAM策略中提到的资源标记相同的标记进行标记,则该用户将能够启动EC2实例
因此,您必须标记向SSM发出请求的IAM用户,使用键“Role”和值将角色名称或arn设置为与SSM文档标记相同。我们使用Role标记用户和文档。它在有文件的主帐户中工作。当我们在子帐户中使用相同的策略条件(即使用主帐户的共享文档)时,它不起作用。在这种情况下,子帐户可以无条件运行文档。有条件的话,它不工作了。我检查了多个案例,发现它能够在子帐户中获取主体标记,但不能获取资源标记。顺便说一句,谢谢您的回复。