如何使用 Auto-Auth 设置 Vault JWT 身份验证?
How to set up Vault JWT Authentication with Auto-Auth?
使用 Hashicorp 的 Vault 进行一些探索。当我偶然发现 Vault 时,我正在寻找一种安全地获取应用程序配置的方法。他们的 Auto-Auth with JWT 看起来很有前途,但在查看了他们的文档后,我仍然不知道如何设置它。
任何有使用 Vault 经验的人都可以指导我开始使用吗?
确定了解如何设置 JWT 身份验证和自动身份验证。以下是步骤:
使用 openssl 生成私钥。输入以下命令:
openssl genrsa -aes256 -out private_key.pem 2048
使用 openssl 生成 Public 密钥。输入以下命令:
openssl rsa -pubout -in private_key.pem -out public_key.pem
在 terminal/command 提示符下使用以下命令启用 jwt 身份验证:
vault auth enable jwt
使用以下命令配置 JWT 身份验证。角色名称 demo 仅用作示例。任何名称都可以用作角色名称:
vault write auth/jwt/config default_role="demo"
在步骤 4 中创建命名角色:
vault write auth/jwt/role/demo \
bound_subject="jwt subject" \
user_claim="some claim" \
policies=webapps \
ttl=1h
现在是生成用于身份验证的 JWT。生成时确保以下内容在 JWT 正文中。值基于我们使用的示例,因此请根据需要进行更改:
{
"sub" : "jwt subject",
"iat" : 1605166067,
"nbf": 1605166068,
"exp": 1605266067,
"some claim": "some claim"
}
通过尝试登录来测试 JWT 身份验证:
vault write auth/jwt/login role=demo jwt=<your token>
创建代理-client.hcl如下:
exit_after_auth = false
pid_file = "./pidfile"
auto_auth {
method "jwt" {
mount_path = "auth/jwt"
config = {
path = "C:\Program Files\vault\agent\token\jwt.txt"
role = "demo"
}
}
sink "file" {
config = {
path = "jwtToken"
}
}
}
vault {
address = "http://127.0.0.1:8200"
}
用第6步生成的JWT创建一个文本文件,保存到agent中指定的路径-client.hcl.
运行以下命令启动代理:
vault agent -config=agent-config.hcl -log-level=debug
使用 Hashicorp 的 Vault 进行一些探索。当我偶然发现 Vault 时,我正在寻找一种安全地获取应用程序配置的方法。他们的 Auto-Auth with JWT 看起来很有前途,但在查看了他们的文档后,我仍然不知道如何设置它。
任何有使用 Vault 经验的人都可以指导我开始使用吗?
确定了解如何设置 JWT 身份验证和自动身份验证。以下是步骤:
使用 openssl 生成私钥。输入以下命令:
openssl genrsa -aes256 -out private_key.pem 2048
使用 openssl 生成 Public 密钥。输入以下命令:
openssl rsa -pubout -in private_key.pem -out public_key.pem
在 terminal/command 提示符下使用以下命令启用 jwt 身份验证:
vault auth enable jwt
使用以下命令配置 JWT 身份验证。角色名称 demo 仅用作示例。任何名称都可以用作角色名称:
vault write auth/jwt/config default_role="demo"
在步骤 4 中创建命名角色:
vault write auth/jwt/role/demo \ bound_subject="jwt subject" \ user_claim="some claim" \ policies=webapps \ ttl=1h
现在是生成用于身份验证的 JWT。生成时确保以下内容在 JWT 正文中。值基于我们使用的示例,因此请根据需要进行更改:
{ "sub" : "jwt subject", "iat" : 1605166067, "nbf": 1605166068, "exp": 1605266067, "some claim": "some claim" }
通过尝试登录来测试 JWT 身份验证:
vault write auth/jwt/login role=demo jwt=<your token>
创建代理-client.hcl如下:
exit_after_auth = false pid_file = "./pidfile" auto_auth { method "jwt" { mount_path = "auth/jwt" config = { path = "C:\Program Files\vault\agent\token\jwt.txt" role = "demo" } } sink "file" { config = { path = "jwtToken" } } } vault { address = "http://127.0.0.1:8200" }
用第6步生成的JWT创建一个文本文件,保存到agent中指定的路径-client.hcl.
运行以下命令启动代理:
vault agent -config=agent-config.hcl -log-level=debug