带有通配符的 Istio 授权策略

2023-11-24

授权策略不支持路径上的任何通配符模式吗?

我有以下端点:

/my-service/docs/active (GET)
/my-service/docs/<id>/activate/<bool> (PUT)

第一个将获取所有活动文档,第二个将激活/停用特定文档。 我尝试将其设置在授权策略上,但由于 willdcard 的原因,它似乎忽略了此策略。

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: my-service-private
  namespace: default
spec:
  action: DENY
  selector:
    matchLabels:
      app:my-service
  rules:
    - from:
        - source:
            notNamespaces: [ "default" ]
      to:
        - operation:
            methods: ["GET"]
            paths: ["/my-service/docs/active"]
        - operation:
            methods: ["PUT"]
            paths: ["/my-service/docs/*/activate/*"]  

除了更新我的所有端点之外,还有什么不同的解决方案吗?

10x


正如我在评论中提到的

根据 istio文档:

Rule

规则匹配来自执行列表的源列表的请求 操作须遵守一系列条件。匹配发生在 至少有一个来源、操作和条件符合请求。一个 空规则始终匹配。

规则中的任何字符串字段都支持精确、前缀、后缀和 存在匹配:

  • 精确匹配:“abc”将匹配值“abc”。
  • 前缀匹配:“abc*”将匹配值“abc”和“abcd”。
  • 后缀匹配:“*abc”将匹配值“abc”和“xabc”。
  • 存在匹配:当值不为空时,“*”将匹配。

所以授权策略确实支持通配符,但我认为问题在于*/activate/*路径,因为路径只能在开头、结尾或整个字符串使用通配符,所以双通配符不起作用。

有相关的开放 github 问题:

  • https://github.com/istio/istio/issues/16585
  • https://github.com/istio/istio/issues/25021
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有通配符的 Istio 授权策略 的相关文章

  • 如何在 ASP .NET MVC 中将对象列表与用户(帐户)关联

    我想为我的应用程序的每个用户存储一个对象列表 我想添加一个List of Meeting每个用户的对象 当然 我想使其与实体框架一起工作 public class Meeting int Id get set Person Person g
  • JAX-WS Web 服务和 @rolesAllowed

    是否可以使用 RolesAllowedJAX WS Web 服务上的注释 如果是的话如何 我在 glassfish 3 1 1 上有一个使用基本身份验证的网络服务 但使用表达的限制 RolesAllowed被忽略 角色信息应该可用 因为我可
  • 控制器类中授权角色的继承

    我创建了控制器类来协助角色授权 我有一个基类ControllersAuthorities 这是最高级别的权限 我创建了其他类来扩展每个基类 Authorize Roles Owner public abstract class Contro
  • 没有使用 Spring Security 进行身份验证和授权

    我的项目要求我使用 Spring Security 进行 CSRF 和 XSS 保护 但不使用它进行身份验证和授权 我已将 SS 配置到我的应用程序中 但每次访问页面时 它都会自动将我重定向到其登录页面 我如何禁用此功能 我的Securit
  • 单个项目中的 Identityserver4 和 API

    我有一个 IdentityServer4 asp net core 主机设置资源所有者密码授予 http docs identityserver io en release quickstarts 2 resource owner pass
  • 如何将 Istio Service Mesh 从 http 升级到 http2?

    我们使用 Kubernetes 并使用 Istio Service Mesh 目前 网关中存在针对 HTTPS 的 SSL 终止 我在 istio proxy 日志中看到 HTTP 协议是 HTTP 1 1 由于 HTTP2 的各种优点 我
  • 数据库独立的行级安全解决方案

    有人知道 Java C 数据库独立授权库吗 该库应支持跨公司组织结构的读 写 删除 插入操作 像这样的东西 用户可以查看所有文档 用户可以输入分配给他的单位的新文档 用户可以更改分配给他的单位和所有下属单位的所有文档 用户可以删除分配给他的
  • 当 btoa 被弃用时,如何在 ReactJS 中编码 Base 64 字符串?

    我正在使用一个 API 它要求我授权我的客户端 ID 和客户端密钥 我尝试使用 btoa 方法 但它说它已被弃用 这是我到目前为止所尝试过的 授权 基本 btoa ClientID ClientSecret 这似乎给出了相同的结果btoa
  • 使用 cancan 和 devise 授权 Rails 中未登录的用户行为

    Post hidden boolean 我希望登录用户可以看到所有帖子 而未登录用户只能访问隐藏字段为 false 的帖子 所以我在cancan的能力模型中这样写 if user signed in can read Post else c
  • 在 istio 中为 envoy 启用 http 标头日志记录

    我希望能够捕获 日志 至少部分 envoy我的 HTTP 标头istio服务网格 我已经经历过envoy s docs https www envoyproxy io docs envoy latest start quick start
  • Istio 直接 Pod 到 Pod 通信

    我在使用 Istio 部署的 Pod 与 Pod 进行通信时遇到问题 我实际上需要它与 Istio 合作进行 Hazelcast 发现 https github com hazelcast hazelcast kubernetes issu
  • RESTful服务中的资源级授权

    Let users id 是 RESTful 服务中的资源 url 启用基本身份验证 仅允许经过身份验证的用户访问该 url 示例场景 User 1 User 2是通过 userId 1 和 2 进行身份验证的用户 由于两者都经过身份验证
  • 将自定义标头值传递给 IdentityServer4 Login

    当用户尝试登录时 我尝试将自定义标头值 无 cookie 传递给 IdentityServer4 这是所有设置的方式 自定义身份验证属性 AttributeUsage AttributeTargets Class AttributeTarg
  • ASP.NET MVC - 角色提供程序的替代方案?

    我试图避免使用角色提供程序和成员资格提供程序 因为在我看来它太笨拙了 因此我试图制作自己的 版本 它不那么笨拙并且更易于管理 灵活 现在我的问题是 除了角色提供者之外 还有其他不错的选择吗 我知道我可以自定义角色提供者 会员提供者等 通过更
  • Pyramid 中基于动态用户的授权

    我正在跟进Pyramid 文档中的安全指南 http docs pylonsproject org projects pyramid 1 1 narr security html以及 wiki 教程添加授权 http docs pylons
  • Rails 3 公司帐户具有许多用户,限制对数据的访问

    我想知道在我的应用程序中构建身份验证 授权的最佳方法 我希望有 许多公司帐户 可能使用子域 帐户有很多用户 用户只能访问自己或具有相同帐户的其他用户创建的记录 我所做的研究提供了许多混合搭配的想法 以奇怪而美妙的方式组合 devise ca
  • 匹配同一端口上不同路径的 Istio 虚拟服务路由

    我想知道如何在同一端口上匹配 gRPC 路由 以下是我希望通过 VirtualService 实现的目标的示例 apiVersion networking istio io v1alpha3 kind VirtualService meta
  • Correct_user 和 admin 的多个 before_filter 语句

    我有一个组资源 我正在尝试使用适当的授权来设置该资源 我试图实现的授权逻辑是这样的 只有群组成员才能查看他们的群组 管理员可以查看any组 以及采取其他行动 我尝试在组控制器中使用以下 before filter 语句来执行此操作 befo
  • 如何在 JSF 中实现登录过滤器?

    即使用户知道某些页面的网址 我也想阻止某些页面的访问 例如 localhost 8080 user home xhtml 需要先登录 如果没有登录则重定向到 index xhtml 在 JSF 中如何做到这一点 我在谷歌上看到需要一个过滤器
  • 添加istio出口网关后,Pod无法curl外部网站

    我正在关注 Istio 文档 https istio io docs examples advanced egress egress gateway https istio io docs examples advanced egress

随机推荐