问题标签 [spiffe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
istio - Istio 如何实现 SPIFFE 的这个规范点?
在SPIFFE 规范中指出
由于处于早期阶段的工作负载可能不知道其身份或应该信任谁,因此很难确保对端点的访问安全。因此,SPIFFE 工作负载端点应该通过本地端点公开,并且实施者不应该将同一个端点实例公开给多个主机。
您能否解释一下这是什么意思以及 Istio 是如何实现的?
istio - 使用 Istio 设置自定义调用源标头
我有一个使用 Kubernetes 和 Istio 的设置,我们在其中运行一组服务。我们的每个服务都有一个 istio-sidecar 和一个 REST-api。我们想要的是,每当我们设置中的服务调用另一个服务时,被调用的服务知道调用者是什么服务(最好通过标头)。
查看来自bookinfo的示例图像: bookinfo-image(由于 <10 信誉而链接)这意味着在评级服务的源代码中,我希望能够例如读取一个标题,告诉我请求来了来自例如评论-v2。
我的直觉告诉我,我应该能够在 istio sidecars 中处理这个问题,但我不知道具体是怎么做的。
到目前为止,我一直特别关注特使过滤器,希望它们可以帮助我。我看到对于特使过滤器,我可以设置一个标头,但我没有看到的是如何获取有关哪个服务进行调用的信息以便将其设置在标头中。
kubernetes - SPIFFE/SPIRE Server 可以安装在 GKE 的任意节点上吗?
SPIFFE/SPIRE Server 可以安装在 GKE 的任意节点上吗?如果是,集群中其他节点中的一个节点将同时安装服务器和代理。是否需要在该节点上运行代理以及运行 SPIRE 服务器的人?
请解释。
istio - Istio 指标目的地未知
设想
Istio 版本 1.5.0 位于 EKS 1.14 之上。启用的组件:
- 根据
- 飞行员
注意Istio 1.5.0 弃用了 Mixer,移至遥测 v2,这发生在 envoy 代理 sidecar 中。
我想使用 Istio 来支持一些开箱即用的指标。
这是流程
我的电脑 -> 网关 -> 虚拟服务 A -> 虚拟服务 B
我确保:
- K8s 服务对象有标签
app
- K8s 部署对象及其 pod 模板具有标签
app
我可以很好地运行流程,这意味着配置是正确的。
问题在于遥测。
问题
- 为什么大多数
destination-*
标签unknown
? - 官方的istio 网格仪表板通常按
reporter=destination
. 为什么我所有的istio_requests_total
系列都有reporter=source
?
authentication - 如何使用 SPIFFE/SPIRE 实现基于角色的身份验证?
我正在审查转向服务网格的过程。虽然Istio
并且Consul Connect
肯定仍然存在,但我倾向于使用Linkerd
和从较低的级别进行构建SPIFFE/SPIRE
。
我想构建一个“hello world”网格来测试这个架构。在这个 hello world 网格中,我希望能够从SPIFFE/SPIRE
该编码某种角色中颁发证书。正如您可能知道的那样,我是服务网格的新手。我将如何实现角色?是否有任何指南可以帮助我入门?
spiffe - 安全分发 SPIRE/SPIFFE 加入令牌的方法?
join_token 插件基于预先共享的一次性加入令牌证明节点。令牌必须由服务器生成,然后才能用于证明节点。
那么如何安全地将这个加入令牌分发给正确的客户端呢?
我在想。也许让客户端访问预先保存的加入令牌的数据库。如果客户端不能证明节点,我们禁止/驱逐那个小偷。因为加入令牌是 1 次使用并且有 ttl,我认为它可能是安全的。
由于服务器站点中预定义了选择器规则,即使那个小偷也无法获得 SpiffeID 或条目。
我感谢任何评论;)。
security - 如何在 SPIFFE SPIRE 代理和服务器之间建立安全通信?
我对 GKE 上的 SPIFFE SPIRE 有 2 个查询:
设置:
我们使用示例应用程序设置了一个 GKE 集群,并在其上安装了 SPIRE 服务器和代理。示例应用程序充当代理的工作负载并获得 SVID。在同一个 GCP 子网中,我们安装了 GCP VM 并安装了 SPIRE 代理。我们配置了 GCP 节点证明者,它能够与 SPIRE 服务器通信并获得代理的 SPIFFE id。
问题:
在 SPIRE 服务器端,除了提供 GCP 项目列表外,我们无需进行任何配置。我们如何确保 SPIRE 服务器和 SPIRE 代理之间的某种安全性,以便并非同一子网中的所有 VM 都可以与 SPIRE 服务器连接(加入令牌是我们可以想到的一种方法,但我希望我们可以利用 GCP 节点证明者)。
在 GKE 集群中,我们安装了 SPIRE 服务器和代理,并且我们有一个示例工作负载。我们使用了 k8sat attester,但我们不需要配置任何初始信任包来建立代理和服务器之间的安全通信。工作负载有一个 SPIFFE id,这意味着代理和服务器能够相互通信。SPIRE 安装是否默认提供信任包,用于安全通信(代理和服务器之间的第一次通信)?
任何帮助/输入将不胜感激!
谢谢!