gpt4 book ai didi

google-cloud-endpoints - Cloud Identity 和 Cloud Endpoints,是否有任何方法可以禁止角色/组中的某些用户向端点发出 POST/GET 请求

转载 作者:行者123 更新时间:2023-12-04 04:17:39 25 4
gpt4 key购买 nike

例如,假设用户 A 需要对某个端点具有 GET 权限但没有 POST 权限。有没有办法:

  1. 在特定用户无法发出特定类型请求的地方创建角色到终点?
  2. 确保端点遵循这些规则?

最佳答案

关于您的第一个问题,Cloud IAM 角色旨在控制用户帐户对项目中存在的服务和产品的访问级别。 IAM roles for Cloud Endpoints允许限制哪些用户可以启用您的 API,但他们不提供如此细粒度的权限来控制确实允许调用的用户如何与您的 API 的特定路由进行交互。

现在,可以限制对特定 API 方法的访问,我将在下面描述两种方法:

  • 使用 Auth0 并以编程方式检查用户授权:当允许访问端点的用户发出请求时,其身份将传递到 header X-Endpoint-API- 下的处理代码用户信息。然后您可以检查谁是来电者以否定答案。这将需要一些数据库通信来检查受限用户或对用户进行硬编码的可疑天真方法。从安全的角度来看,这种方法是可靠的,因为 Cloud IAP 会阻止未经授权的用户访问 API,然后您可以根据需要进一步限制访问范围。这种方法的唯一缺点是它会产生一些延迟。参见 here用于多种语言的文档和代码示例链接。
  • API key :API key 提供了一种 allowing/restricting access 的方式只要您可以区分端点路由,就可以使用各个方法。例如,您可能允许某些键调用 yourendpoint/route/method1 但限制 yourendpoint/route/method2。这有几个缺点,首先是 API key 用于识别项目/应用程序/网站/IP,而不是个人用户,这并不是您要问的。第二个是它们不如身份验证安全,一旦您的 API key 公开,几乎任何人都可以使用它,这可能会给您的计费帐户带来意外费用。尽管如此,为了完整起见,我还是想提及它,因为它在其他情况下可能会有用。参见 here了解 API key 的概览。

总的来说,我建议使用带有编程身份验证的 Auth0。

关于google-cloud-endpoints - Cloud Identity 和 Cloud Endpoints,是否有任何方法可以禁止角色/组中的某些用户向端点发出 POST/GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60266463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com