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

如何使用自动身份验证设置Vault JWT身份验证?,jwt,vault,Jwt,Vault,使用Hashicorp的Vault进行一些探索。当我偶然发现Vault时,我正在寻找一种安全获取应用程序配置的方法。他们的JWT自动授权看起来很有希望,但在查看了他们的文档后,我仍然不知道如何设置它 任何有Vault经验的人都可以指导我开始吗?Ok了解如何设置JWT身份验证和自动身份验证。以下是步骤: 使用openssl生成私钥。键入以下命令: openssl genrsa -aes256 -out private_key.pem 2048 openssl rsa -pubout -in pr

使用Hashicorp的Vault进行一些探索。当我偶然发现Vault时,我正在寻找一种安全获取应用程序配置的方法。他们的JWT自动授权看起来很有希望,但在查看了他们的文档后,我仍然不知道如何设置它


任何有Vault经验的人都可以指导我开始吗?

Ok了解如何设置JWT身份验证和自动身份验证。以下是步骤:

  • 使用openssl生成私钥。键入以下命令:

    openssl genrsa -aes256 -out private_key.pem 2048
    
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  • 使用openssl生成公钥。键入以下命令:

    openssl genrsa -aes256 -out private_key.pem 2048
    
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  • 在终端/命令提示符中使用以下命令启用jwt身份验证:

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

    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>
    
  • 使用步骤6中生成的JWT创建一个文本文件,并将其保存到agent-client.hcl中指定的路径

  • 运行以下命令以启动代理程序:

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

  • Ok了解了如何设置JWT身份验证和自动身份验证。以下是步骤:

  • 使用openssl生成私钥。键入以下命令:

    openssl genrsa -aes256 -out private_key.pem 2048
    
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  • 使用openssl生成公钥。键入以下命令:

    openssl genrsa -aes256 -out private_key.pem 2048
    
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  • 在终端/命令提示符中使用以下命令启用jwt身份验证:

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

    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>
    
  • 使用步骤6中生成的JWT创建一个文本文件,并将其保存到agent-client.hcl中指定的路径

  • 运行以下命令以启动代理程序:

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