防止 API 网关意外删除的 AWS IAM 策略

问题描述 投票:0回答:2

我正在寻找一种方法来防止意外删除 API 网关。但是我找不到执行此操作的 IAM 策略示例。

我目前在:

{
            "Sid": "DenyDeleteAPIGateway",
            "Effect": "Deny",
            "Action": [
                "apigateway:DELETE"
            ],
            "Resource": [
                "arn:aws:apigateway:*::/apis/*"
            ]
        }

但是好像没啥作用。 我的目标只是防止实际的 API 网关删除,不阻止实际 AWG 上的所有操作

amazon-web-services aws-api-gateway amazon-iam
2个回答
1
投票

你的行动是正确的,但你需要限制资源。 https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagement.html

类似:

{
        "Sid": "DenyDeleteAPIGateway",
        "Effect": "Deny",
        "Action": [
            "apigateway:DELETE"
        ],
        "Resource": [
            "arn:aws:apigateway:*::/restapis/*"
        ]
}

应该这样做。 API Gateway V1 使用

/restapis
API Gateway V2 使用
/apis


0
投票

在探索了互联网最黑暗的角落并在 Amazon Q 的帮助下,以下是保护您的 API 网关免遭意外删除的策略。

{
    "Statement": [
        {
            "Action": "apigateway:DELETE",
            "Effect": "Deny",
            "NotResource": [
                "arn:aws:apigateway:*::/restapis/*/resources/*",
                "arn:aws:apigateway:*::/restapis/*/resources/*/methods/*"
            ],
            "Sid": "APIGatewayDenyDelete"
        }
    ],
    "Version": "2012-10-17"
}

这会拒绝对 API 网关资源执行 DELETE 操作,同时允许删除 API 网关资源和方法。

© www.soinside.com 2019 - 2024. All rights reserved.