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

时间:2019-03-13 06:46:58

标签: amazon-iam

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

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

任何见解或对最佳实践的引用都非常欢迎。

1 个答案:

答案 0 :(得分:0)

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

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

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

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