我遵循了https://www.hashicorp.com/resources/best-practices-using-hashicorp-terraform-with-hashicorp-vault上的指南。
这很好,但是当我使用Terraform从Vault获取动态创建的AWS凭证时,出现403错误。
我已经解决了问题,但是我不太明白为什么我需要添加额外的功能(特别是因为它不在指南中)以及它可能会产生哪些问题。
非工作政策:
path "aws/creds/dev-role" {
capabilities=["read"]
}
工作政策:
path "aws/creds/dev-role" {
capabilities=["read"]
}
path "auth/token/create" {
capabilities=["update"]
}
预期结果是,当我运行“地形计划”时,它会列出要执行的操作。
不包含“更新”功能时出现的错误是:
provider.vault:无法创建受限子令牌:制作API时出错 请求。
RL:POST https://:8200 / v1 / auth / token / create代码:403。错误:
发生1个错误:
权限被拒绝
答案 0 :(得分:1)
我的理解是,保险柜提供商不仅尝试使用从AWS auth结果返回的保险柜令牌,而且尝试从返回的令牌中制作一个临时的子令牌,以便保险库提供商可以指定其希望使用多长时间。要生存的子代币。
如果您愿意的话,这也使以后更容易杀死一些子代币,同时还保留了从您的AWS凭证生成的其他代币。