Spring Cloud Vault AppRole身份验证
AppRole用于机器身份验证,例如已弃用的(自Vault 0.6.1起)“ AppId身份验证”。AppRole身份验证包含两个很难猜测(秘密)的令牌:RoleId和SecretId。
Spring Vault支持各种AppRole方案(推/拉模式和包装)。
RoleId和可选的SecretId必须由配置提供,Spring Vault将不会查找它们或创建自定义SecretId。
示例102.6 具有AppRole身份验证属性的bootstrap.yml
spring.cloud.vault: authentication: APPROLE app-role: role-id: bde2076b-cccb-3cf0-d57e-bca7b1e83a52
支持以下方案以及必需的配置详细信息:
表102.1。组态
方法 |
角色编号 |
SecretId |
角色名 |
代币 |
提供的RoleId / SecretId |
提供 |
提供 |
||
提供的RoleId不含SecretId |
提供 |
|||
提供的RoleId,Pull SecretId |
提供 |
提供 |
提供 |
提供 |
拉出RoleId,提供SecretId |
提供 |
提供 |
提供 |
|
全拉模式 |
提供 |
提供 |
||
包裹 |
提供 |
|||
包装好的RoleId,提供SecretId |
提供 |
提供 |
||
提供的RoleId,包装的SecretId |
提供 |
提供 |
表102.2。拉/推/包裹矩阵
角色编号 |
SecretId |
支持的 |
提供 |
提供 |
✅ |
提供 |
拉 |
✅ |
提供 |
包裹 |
✅ |
提供 |
缺席 |
✅ |
拉 |
提供 |
✅ |
拉 |
拉 |
✅ |
拉 |
包裹 |
❌ |
拉 |
缺席 |
❌ |
包裹 |
提供 |
✅ |
包裹 |
拉 |
❌ |
包裹 |
包裹 |
✅ |
包裹 |
缺席 |
❌ |
通过在引导上下文中提供已配置的AppRoleAuthentication
bean,您仍然可以使用推/拉/包模式的所有组合。Spring Cloud Vault无法从配置属性中导出所有可能的AppRole组合。
AppRole身份验证仅限于使用反应式基础结构的简单拉模式。尚不支持全拉模式。将Spring Cloud Vault与Spring WebFlux堆栈一起使用将启用Vault的反应式自动配置,可以通过设置spring.cloud.vault.reactive.enabled=false
来禁用它。
示例102.7 具有所有AppRole身份验证属性的bootstrap.yml
spring.cloud.vault: authentication: APPROLE app-role: role-id: bde2076b-cccb-3cf0-d57e-bca7b1e83a52 secret-id: 1696536f-1976-73b1-b241-0b4213908d39 role: my-role app-role-path: approle
role-id
设置RoleId。secret-id
设置SecretId。如果在不要求SecretId的情况下配置了AppRole,则可以忽略SecretId(请参见bind_secret_id
)。role
:设置拉模式的AppRole名称。app-role-path
设置要使用的方法认证安装的路径。
更多建议: