中国区使用IAM编写策略需要注意的地方
Amazon Resource Names (ARNs) uniquely identify AWS resources. We require an ARN when you need to specify a resource unambiguously across all of AWS, such as in IAM policies, Amazon Relational Database Service (Amazon RDS) tags, and API calls.
简单来说, arn 就是AWS中资源的uri. 任何AWS资源都可以用 arn 标识, 因此对于资源的访问控制配置文件也要使用 arn
来写.
比如: 我们想开放某个s3 bucket的读写权限, 可以如下这种写法:
在中国区不能这么使用,AWS 中国区非常特殊, 上述文件中的 aws
要修改成 aws-cn
!!!!
这样写在中国区就可以用:
不要小看这一点小区别, 由于AWS 其他region 都是用
aws
就可以, 因此很多开源项目中, 将arn:aws: XXXX
hard code 在代码里, 导致这些项目用到中国区会失败!
此外,上面的配置文件中的 "Version": "2012-10-17",
这个日期是必须写成这个的, 不能修改其他任何值 , 千万别用这个值来作为自己的版本控制。
建议程序访问AWS 资源时, 使用IAM role的方式, 不要使用配置文件中写入AccessKey/Secret 的方式, 非常不安全.
最后更新于