如何使用自动验证设置Vault JWT身份验证?

林国煌

使用Hashicorp的Vault进行一些探索。当我偶然发现Vault时,正在寻找一种安全地获取应用程序配置的方法。他们使用JWT进行自动身份验证的前景很好,但是在浏览了文档之后,我仍然不知道如何设置它。

任何人都可以使用保险柜经验指导我开始使用?

林国煌

好的,了解了如何设置JWT身份验证和自动验证。步骤如下:

  1. 使用openssl生成私钥。输入以下命令:

    openssl genrsa -aes256 -out private_key.pem 2048
    
  2. 使用openssl生成公钥。键入以下命令:

    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  3. 通过在终端/命令提示符中使用以下命令来启用jwt身份验证:

    vault auth enable jwt
    
  4. 使用以下命令配置JWT身份验证。角色名称演示仅用作示例。任何名称都可以用作角色名称:

    vault write auth/jwt/config default_role="demo"
    
  5. 在步骤4中创建命名角色:

    vault write auth/jwt/role/demo \
      bound_subject="jwt subject" \
      user_claim="some claim" \
      policies=webapps \
      ttl=1h
    
  6. 现在是生成用于身份验证的JWT。生成时,请确保JWT主体中包含以下内容。值基于我们使用的示例,因此请根据需要进行更改:

    {
        "sub" : "jwt subject",
        "iat" : 1605166067,
        "nbf": 1605166068,
        "exp": 1605266067,
        "some claim": "some claim"
    }
    
  7. 通过尝试登录来测试JWT身份验证:

    vault write auth/jwt/login role=demo jwt=<your token>
    
  8. 如下创建agent-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"
    }
    
  9. 使用在步骤6中生成的JWT创建文本文件,并将其保存到agent-client.hcl中指定的路径。

  10. 运行以下命令以启动代理:

    vault agent -config=agent-config.hcl -log-level=debug
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JWT Auth对LDAP服务进行身份验证

来自分类Dev

实施JWT身份验证

来自分类Dev

使用Symfony 2.7进行JWT身份验证

来自分类Dev

PHP:基于JWT的身份验证

来自分类Dev

JWT身份验证和用户验证

来自分类Dev

使用JWT进行身份验证

来自分类Dev

基本身份验证和JWT

来自分类Dev

JWT身份验证与API的会话身份验证

来自分类Dev

使用JWT进行Laravel API身份验证

来自分类Dev

Azure Apps JWT身份验证

来自分类Dev

Angular 2-JWT身份验证

来自分类Dev

使用gundb进行JWT身份验证

来自分类Dev

跨多个微服务使用JWT身份验证

来自分类Dev

基本身份验证是基于会话的身份验证,为什么更推荐使用Jwt?

来自分类Dev

使用JWT身份验证多重服务的Micronaut测试

来自分类Dev

使用JWT的React-Redux身份验证

来自分类Dev

对JWT身份验证过程的误解

来自分类Dev

Blazor JWT身份验证

来自分类Dev

如何添加JWT令牌身份验证以保护路由

来自分类Dev

使用Jwt的基于令牌的身份验证无法授权

来自分类Dev

刷新JWT Angular身份验证

来自分类Dev

Instagram在其身份验证上不使用jwt

来自分类Dev

在Owin上使用JWT与RSA进行身份验证

来自分类Dev

使用Jwt Bearer身份验证的自定义声明

来自分类Dev

我应该如何配置 Jwt Bearer 身份验证?

来自分类Dev

在 .NET Core 2.0 中设置 JWT 身份验证

来自分类Dev

HTTPS 或 JWT 进行身份验证?

来自分类Dev

Django Rest 框架 JWT 身份验证

来自分类Dev

SignalR 的 JWT 身份验证失败