我试图了解 Spring Vault 中身份验证令牌背后的概念以及部署链是什么样子?
在我读过的所有地方,我都看到身份验证令牌必须以某种方式静态提供,但我不明白这是如何保证安全的?如果我使用保险库来安全地存储我的秘密,而不仅仅是放在属性文件中,那么为什么要将令牌保存在其中呢?
当我刚刚开始阅读有关 Vault 的内容时,我期待着一个“人机交互”阶段,其中令牌作为系统参数或在应用程序部署/启动之前的最后一刻提供。
此外,我不明白 Vault 如何适应完全自动化的部署链。每当我的 master 分支发生更改时,我的 Jenkins 都会自动构建,并将发布 jar 并通过 ssh 运行到指定的机器。据我对 Vault 的了解,这不能是我发布应用程序的方式,对吗?
在我的Spring Boot应用程序中,我正在使用Auth0来管理对我的其余api的访问。
除了Auth0外,scope我还想向每个用户添加一个角色,这反过来又将提供一个访问控制的附加层,在该层中,低特权用户将无法访问特定的API。
我一直在阅读有关自定义规则和授权扩展的信息,但我不太了解什么是适合我的正确实现。
这是我的WebSecurityConfigurerAdapter代码段:
因此,基本上,我只希望例如“ ADMIN”才能访问/test/**
@Override
protected void configure(HttpSecurity http) throws Exception {
JwtWebSecurityConfigurer
.forRS256(configBean.getAuth0ApiAudience(), configBean.getAuth0Issuer())
.configure(http)
.authorizeRequests()
.antMatchers(HttpMethod.GET, "/test/**").hasAuthority("read:test")
.anyRequest().authenticated();
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激!