【问题标题】:Apigee - How to block access to paths that aren't explicitly defined as resourcesApigee - 如何阻止对未明确定义为资源的路径的访问
【发布时间】:2014-02-01 13:44:01
【问题描述】:

我有一个用于后端 API 的 Apigee 代理。如果我没有为 API 定义任何资源,我的代理只是充当传递。我如何才能在默认情况下阻止所有路径,除了那些我通过定义为资源明确允许的路径?

例如,我有 20 个域对象和 4 个 CRUD 方法。那是80个潜在资源。我只想让我的开发人员访问其中的 10 个资源。如何轻松阻止对其他 70 人的访问?

我想我要问的是如何采用最小权限的方法将我的后端服务公开给我的开发人员?

【问题讨论】:

    标签: apigee


    【解决方案1】:

    您应该能够通过使用 API 资源来做到这一点。可以在以下位置找到相关信息:http://apigee.com/docs/gateway-services/content/uri-based-configurations

    【讨论】:

      【解决方案2】:

      另一种方法基本上是使用 API 产品、开发人员和开发人员应用程序来控制访问。请按照本文档获得基本了解:http://apigee.com/docs/gateway-services/content/overview-1。如果您需要任何帮助,请告诉我。

      谢谢, 阿肯德拉

      【讨论】:

        【解决方案3】:

        定义一个无效路径来捕获这些请求并使用以下定义引发故障策略:

        <Flows>
            <Flow name="Purchase Item Details">
                <Description/>
                <Request>
                    <Step>
                    </Step>
                </Request>
                <Response/>
                <Condition>(proxy.pathsuffix MatchesPath "/{purchase_id}") and (request.verb = "GET")</Condition>
            </Flow>
            <Flow name="Invalid Path"> <!-- THE MAGIC STARTS HERE -->
                <Description>Invalid Path</Description>
                <Request>
                    <Step>
                        <Name>raisefault-invalidpath</Name> <!-- RIGHT HERE -->
                        <FaultRules/>
                    </Step>
                </Request>
                <Response/>
                <Condition>(proxy.pathsuffix MatchesPath "/**") and (request.verb = "GET") <!--*** RIGHT HERE *** --></Condition>
            </Flow>
        </Flows>
        

        它的工作方式是它会尝试从“无效路径”流中捕获上面列出的资源,在上面的示例中:它会尝试匹配 /basepath/{purchase_id},然后如果没有找到资源,则第二个流程将通过引发故障并将响应返回给客户端来充当全部捕获。

        【讨论】:

          【解决方案4】:

          无需为产品烦恼,您可以创建一个条件流来侦听您的 uri 根(通常这意味着流中没有定义条件)。该流程可以有一个引发故障的策略,通常您会将此故障的响应代码设置为 404,并显示一条消息,说明他们正在寻找的资源不存在。

          【讨论】:

            猜你喜欢
            • 2022-07-29
            • 2013-12-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-03-19
            • 2019-04-22
            • 1970-01-01
            相关资源
            最近更新 更多