首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在AWS API网关中拒绝所有用户调用API

如何在AWS API网关中拒绝所有用户调用API
EN

Stack Overflow用户
提问于 2019-08-08 14:12:31
回答 2查看 1.1K关注 0票数 1

除了可以在AWS网关调用API端点的用户之外,是否有一种方法/策略可以拒绝所有用户?

目前使用的政策:

代码语言:javascript
运行
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::account_id:user/user-name"
            },
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:region:account_id:api_to_be_invoked/*/*"
        }
    ]
}

我在API网关的资源策略中应用了上述策略并进行了部署,但是为了进行测试,我尝试使用另一个管理用户的访问权限和秘密密钥通过Postman投递,但它仍然成功地使用了,这是我不想要的。

有什么帮助吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-08 14:53:59

代码语言:javascript
运行
复制
{
"Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": 
                    [  "arn:aws:iam::account_id:user/user-name",
                       "arn:aws:iam::account_id:root"
                    ]
            },
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:region:account_id:api_to_be_invoked/*/*"
        }
    ]
}
票数 3
EN

Stack Overflow用户

发布于 2019-08-08 17:30:34

您试过使用IAM策略条件吗?我还没有在生产环境中试过,但应该能满足你的需要。

代码语言:javascript
运行
复制
{"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Deny",
        "Action": "execute-api:Invoke",
        "Resource": "arn:aws:execute-api:region:account_id:api_to_be_invoked/*/*",
        "Condition": {
            "StringNotEquals" : {
               "aws:username" : "your_user_name"
             }
          }
    }
]}

如果这个答案有帮助,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57414633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档