AWS的S3存储桶策略中的主体指的是被授权访问存储桶的用户或角色。如果S3策略中的主体属性设置为*
,那么任何人都可以访问该存储桶,这可能会带来安全风险。但是,当主体属性设置为Amazon S3 ACL(访问控制列表)或AWS账户ID时,策略只会授权特定的用户或AWS账户访问存储桶。
示例代码如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/exampleuser"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::examplebucket/*"
}
]
}
以上示例中,策略只授权ID为123456789012
的AWS用户exampleuser
访问examplebucket
存储桶。如果要授权其他用户访问存储桶,只需要将Principal
属性更新为对应用户的ARN(Amazon资源名称)即可。