在 AWS Identity and Access Management(IAM)的策略条件中,可以使用 aws:principalArn 键控制对资源的访问。aws:principalArn 条件可以使用通配符进行匹配,以允许不同的资源或用户组访问资源。
以下是一个示例,使用通配符让一个用户组访问指定的 AWS S3 存储桶:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::example-bucket/*",
"arn:aws:s3:::example-bucket"
],
"Condition": {
"ArnLike": {
"aws:principalArn": [
"arn:aws:iam::*:user/example-user-group/*",
"arn:aws:iam::*:root"
]
}
}
}
]
}
在此示例中,ArnLike 条件匹配 AWS 资源的 aws:principalArn 属性。该条件使用了两个通配符例子:* 来匹配 example-user-group 中的任何内容,以及使用 root 来允许根用户访问资源。
使用通配符有助于简化访问控制的管理,同时保持有效的资源保护。