如何列出Hashicorp Vault中PKI密钥引擎的所有路径/端点?
Vault PKI路径查询与Ingress证书配置指南
1. 列出所有PKI密钥引擎路径
由于你是通过Juju Charm部署的Vault,先通过Juju获取管理员权限并完成登录:
- 获取根Token:
juju run-action vault/leader get-root-token --wait - 登录Vault单元:
juju exec --unit vault/0 -- vault login <你的根Token> - 列出所有已启用的密钥引擎:
juju exec --unit vault/0 -- vault secrets list
在输出结果里找到类型为pki的条目,对应的路径就是你的PKI引擎路径(比如默认的pki/,或是你自定义的internal-pki/这类命名)。
如果要查看该PKI引擎下的所有子路径/端点,执行:
juju exec --unit vault/0 -- vault list <查到的PKI路径>/
比如路径是pki/,就运行vault list pki/,会看到certs/、roles/、issue/这些核心子路径,其中issue/开头的就是签发叶证书的关键路径。
2. 确定Ingress所需的具体路径
Ingress要获取叶证书,需要用到的路径格式为:
<PKI引擎路径>/issue/<你的PKI角色名>
<PKI引擎路径>:就是通过vault secrets list查到的路径<你的PKI角色名>:需要是预先创建的、允许Ingress域名的PKI角色(如果还未创建,可执行下面的命令,替换成你的实际域名规则):juju exec --unit vault/0 -- vault write <PKI路径>/roles/ingress-role allowed_domains="*.你的集群内部域名" allow_subdomains=true max_ttl="72h"
另外,也可以通过Juju配置确认PKI路径:
juju config vault
查看是否存在pki-path这类配置项,但直接用Vault命令查询会更准确。
3. 验证路径有效性
拿到路径后,测试签发证书以确认是否可用:
juju exec --unit vault/0 -- vault write <完整路径> common_name="ingress.你的集群内部域名"
如果能正常返回证书、私钥等数据,说明路径没问题。之后给你的Ingress AppRole配置对应的访问策略,允许对该路径执行write操作即可。
内容的提问来源于stack exchange,提问作者Buggy B
相关产品推荐
相关产品推荐

