AWS IAM-如何禁止用户通过控制台进行更改,但允许通过CLI更改API

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS IAM-如何禁止用户通过控制台进行更改,但允许通过CLI更改API相关的知识,希望对你有一定的参考价值。

对于Amazon Webservices IAM,我可以通过一些策略创建角色,该策略仅允许在控制台中读取,但允许使用API​​ / CLI / Terraform进行读取/写入。

目的是强制使用基础结构代码以避免配置漂移。

非常欢迎您提供任何对最佳做法的见解或参考。

答案

重要的是,没有万无一失的方法来做到这一点。没有系统可以确定如何在客户端发出请求。

话虽这么说,应该有一种方法来实现您想要的。您将要使用IAM条件aws:UserAgent(docs here)来阻止用户使用浏览器。这是一个例子:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*"
      "Condition": {
          "StringLike": {
              "aws:UserAgent": "console.amazonaws.com"
          }
       }
    }
  ]
}

CloudTrail记录UserAgent的请求,因此您可以使用它来确定要阻止的UserAgent。 (docs here

以上是关于AWS IAM-如何禁止用户通过控制台进行更改,但允许通过CLI更改API的主要内容,如果未能解决你的问题,请参考以下文章

AWS IAM 策略:要求用户自己预置 MFA

更改 IAM 用户密钥时如何更新 Elastic Beanstalk 环境变量中的 AWS 凭证?

尽管获得了完全许可,但 aws iam 用户访问被拒绝

AWS 使用tag进行精细权限控制

如何使用STS GetCallerIdentity Caller JSTS以stringjson的形式返回AWS IAM用户。

允许用户访问特定 S3 存储桶进行备份的 AWS IAM 策略