如何将用户添加到 apim 网关并限制用户进行特定操作?
How can i add users to an apim gateway and restrict the users for particular operations?
我已经创建了一个apim网关,现在我需要添加一些用户,他们只有对API的一些特定操作的权限,比如有些用户只有执行GET请求的权限, 某些用户只有执行 POST 请求的权限等。我该如何实现?
基于角色的访问控制对此有所帮助,请参阅以下摘自 URL
RBAC 如何确定用户是否有权访问资源
以下是 RBAC 用于确定您是否有权访问管理平面上的资源的高级步骤。这有助于了解您是否正在尝试解决访问问题。
用户(或服务主体)获取 Azure 资源管理器的令牌。
令牌包括用户的组成员身份(包括传递组成员身份)。
用户使用附加的令牌对 Azure 资源管理器进行 REST API 调用。
Azure 资源管理器检索所有角色分配并拒绝分配给正在执行操作的资源。
Azure 资源管理器缩小了适用于此用户或其组的角色分配范围,并确定用户对该资源具有的角色。
Azure 资源管理器确定 API 调用中的操作是否包含在用户对该资源的角色中。
如果用户在请求的范围内没有执行操作的角色,则不会授予访问权限。否则,Azure 资源管理器会检查拒绝分配是否适用。
如果应用拒绝分配,访问将被阻止。否则授予访问权限。
APIM 运行时部分不依赖于 ARM RBAC。相反,APIM 维护自己的用户数据库。您描述的场景可以通过将您的操作拆分为多个 API 并通过订阅控制对这些 API 的访问来实现。
APIM 中的所有内容 built-in,因此设置简单,但维护起来可能很麻烦。如果是这种情况,那么您的下一个选择是使用策略和策略表达式。查看 choose
政策,它允许您有条件地停止请求处理(return-response
政策)。当然,这要求您能够完全根据请求中可用的内容做出授权决定,即路径、headers、用户 ID e.t.c.
在这种情况下,最好使用 validate-jwt
策略,因为它允许您依赖所提供身份中的一组有限声明,而不是 hard-coded 用户列表 ids/names。但它确实要求您在每个请求中都有一个 JWT 令牌。
我已经创建了一个apim网关,现在我需要添加一些用户,他们只有对API的一些特定操作的权限,比如有些用户只有执行GET请求的权限, 某些用户只有执行 POST 请求的权限等。我该如何实现?
基于角色的访问控制对此有所帮助,请参阅以下摘自 URL
RBAC 如何确定用户是否有权访问资源 以下是 RBAC 用于确定您是否有权访问管理平面上的资源的高级步骤。这有助于了解您是否正在尝试解决访问问题。
用户(或服务主体)获取 Azure 资源管理器的令牌。
令牌包括用户的组成员身份(包括传递组成员身份)。
用户使用附加的令牌对 Azure 资源管理器进行 REST API 调用。
Azure 资源管理器检索所有角色分配并拒绝分配给正在执行操作的资源。
Azure 资源管理器缩小了适用于此用户或其组的角色分配范围,并确定用户对该资源具有的角色。
Azure 资源管理器确定 API 调用中的操作是否包含在用户对该资源的角色中。
如果用户在请求的范围内没有执行操作的角色,则不会授予访问权限。否则,Azure 资源管理器会检查拒绝分配是否适用。
如果应用拒绝分配,访问将被阻止。否则授予访问权限。
APIM 运行时部分不依赖于 ARM RBAC。相反,APIM 维护自己的用户数据库。您描述的场景可以通过将您的操作拆分为多个 API 并通过订阅控制对这些 API 的访问来实现。
APIM 中的所有内容 built-in,因此设置简单,但维护起来可能很麻烦。如果是这种情况,那么您的下一个选择是使用策略和策略表达式。查看 choose
政策,它允许您有条件地停止请求处理(return-response
政策)。当然,这要求您能够完全根据请求中可用的内容做出授权决定,即路径、headers、用户 ID e.t.c.
在这种情况下,最好使用 validate-jwt
策略,因为它允许您依赖所提供身份中的一组有限声明,而不是 hard-coded 用户列表 ids/names。但它确实要求您在每个请求中都有一个 JWT 令牌。