amazon-web-services - 如何找出我需要为 CLI 命令授予哪些 AWS 操作?
问题描述
考虑我想运行一些 AWS CLI 命令,例如aws s3 sync dist/ "s3://${DEPLOY_BUCKET_NAME}" --delete
.
我如何知道我需要授予哪些特定权限(操作)才能使此命令正常工作?我要坚持最低特权原则。
只是为了澄清我的问题。我知道在哪里可以找到 S3 或其他服务的所有操作列表,并且我知道如何编写策略。问题是我如何知道我需要为某些 CLI 命令授予哪些特定操作?
因为,每个命令都会使用不同的动作,命令的参数也在这里发挥作用。
解决方案
AWS CLI 中使用的几乎每个命令都一对一地映射到 IAM 操作。
但是,aws s3
诸如此类的命令sync
是调用多个命令的高级函数。
对于sync
,我想你会需要:
ListBucket
CopyObject
GetObjectACL
PutObjectACL
如果这仍然没有帮助,那么您可以使用AWS CloudTrail查看 AWS CLI 对您的账户进行的底层 API 调用。CloudTrail 记录将显示每个 API 调用以及它是成功还是失败。