use*_*018 3 amazon-s3 amazon-web-services
我的公司在AWS中建立了一个组织(以CompanyA为例)。每个团队都有一个加入该组织的帐户(人力资源,产品A,产品B等)。我们在ProductA中尝试授予对S3存储桶的只读访问权限,该存储桶是本组织下任何人从ec2实例中获得的yum存储库的所有权,而没有auth(yum命令是开箱即用的)
我们评估了一些项目:https : //github.com/rmela/yum-s3-plugin- >这将与用户主体访问一起进行,用户需要添加其密钥以从存储库中提取
http://parthicloud.com/how-to-access-s3-bucket-from-application-on-amazon-ec2-without-access-credentials/- >内置帐户的好教程,需要带ec2实例IAM策略以允许访问存储桶。
将条件添加到列出您的AWS组织的存储桶策略中,并允许所有主体访问。请参阅AWS Global Condition上下文键,搜索aws:PrincipalOrgID
。“添加和删除帐户时,aws:PrincipalOrgID
包含的策略会自动包含正确的帐户,不需要手动更新。”
下例中的Action
和Resource
部分应与当前策略相同,该策略列出了组织中的所有AWS账户。
{
"Version": "2012-10-17",
"Statement": {
"Sid": "AllowOrganizationToReadYumBucket",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::your-yum-bucket",
"arn:aws:s3:::your-yum-bucket/*"
],
"Condition": {
"StringEquals": {"aws:PrincipalOrgID":["o-xxxxxxxxxxx"]}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Joh*_*ein -1
Amazon S3 存储桶策略不可能引用AWS 组织中的一组账户。
您的存储桶策略需要单独列出每个帐户的权限。例如:
"Principal":{"AWS":"arn:aws:iam::ACCOUNT-NUMBER:user/*"}
Run Code Online (Sandbox Code Playgroud)