能否将AWS一个账号的Storage Gateway关联至另一账号的S3 Bucket?
跨AWS账号关联S3文件网关到S3 Bucket的方法
可以实现跨账号关联,控制台没有直接选项是因为需要手动配置跨账号权限并指定Bucket ARN,具体步骤如下:
1. 配置目标Bucket(账号B)的权限策略
登录账号B的AWS控制台,找到目标S3 Bucket,修改其权限策略,添加允许账号A中Storage Gateway所用IAM角色访问的规则。示例策略如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::账号A-ID:role/你的网关IAM角色名" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::目标Bucket名称", "arn:aws:s3:::目标Bucket名称/*" ] } ] }
替换其中的账号A-ID、你的网关IAM角色名、目标Bucket名称为实际信息。
2. 配置源账号(账号A)的网关IAM角色权限
登录账号A的IAM控制台,找到Storage Gateway使用的角色(创建网关时指定,默认可能是AmazonS3FullAccess角色,若为自定义角色需调整),添加允许访问账号B目标Bucket的权限策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::目标Bucket名称", "arn:aws:s3:::目标Bucket名称/*" ] } ] }
3. 在账号A中关联跨账号Bucket
进入账号A的Storage Gateway控制台,创建新的文件共享(或删除现有共享后重新创建),在指定S3 Bucket的步骤中,手动输入账号B目标Bucket的完整ARN(格式为arn:aws:s3:::目标Bucket名称),完成后续配置即可。
注意事项
- Storage Gateway与目标S3 Bucket必须处于同一AWS区域
- 权限配置完成后,可通过AWS CLI测试网关角色的访问权限,确保能正常读写目标Bucket
- 若网关已有绑定的文件共享,需先删除原有共享再配置跨账号关联
内容的提问来源于stack exchange,提问作者randomGenerator
相关产品推荐
相关产品推荐

