什么是 JWT 发行人?

Aar*_*ron 6 jwt kubernetes hashicorp-vault

从该页面:https://www.pingidentity.com/en/company/blog/posts/2019/jwt-security-nobody-talks-about.html:

第四个与安全相关的保留声明是“iss”。此声明表明发布 JWT 的一方的身份。该声明包含一个简单的字符串,其值 > 由发行者自行决定。JWT 的使用者应始终检查>“iss”声明是否与预期的颁发者(例如 sso.example.com)匹配。

举个例子,在 Kubernetes 中,当我像这样配置 kubernetes 身份验证以将 JWT 用于保管库服务帐户(来自 helm)时,访问保管库时不再收到 ISS 错误:

vault write auth/kubernetes/config \
      token_reviewer_jwt="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
      kubernetes_host="https://$KUBERNETES_PORT_443_TCP_ADDR:443" \
      kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt \
      issuer="https://kubernetes.default.svc.cluster.local"
Run Code Online (Sandbox Code Playgroud)

但这个网址是什么意思呢?它是在生成 JWT 时设置的任意字符串吗?

Jon*_*nas 5

JWT 令牌发行者- 是“创建”令牌并使用其私钥对其进行签名的一方。

任何人都可以创建代币,请确保您收到的代币是由您信任的一方创建的。

  • 它不需要是 URI 或 URL - 它只是一个名称 (3认同)