首页 > 解决方案 > 如何找出我需要为 CLI 命令授予哪些 AWS 操作?

问题描述

考虑我想运行一些 AWS CLI 命令,例如aws s3 sync dist/ "s3://${DEPLOY_BUCKET_NAME}" --delete.

我如何知道我需要授予哪些特定权限(操作)才能使此命令正常工作?我要坚持最低特权原则。


只是为了澄清我的问题。我知道在哪里可以找到 S3 或其他服务的所有操作列表,并且我知道如何编写策略。问题是我如何知道我需要为某些 CLI 命令授予哪些特定操作?

因为,每个命令都会使用不同的动作,命令的参数也在这里发挥作用。

标签: amazon-web-servicesamazon-iam

解决方案


AWS CLI 中使用的几乎每个命令都一对一地映射到 IAM 操作。

但是,aws s3诸如此类的命令sync是调用多个命令的高级函数。

对于sync,我想你会需要:

  • ListBucket
  • CopyObject
  • GetObjectACL
  • PutObjectACL

如果这仍然没有帮助,那么您可以使用AWS CloudTrail查看 AWS CLI 对您的账户进行的底层 API 调用。CloudTrail 记录将显示每个 API 调用以及它是成功还是失败。


推荐阅读