环境:
Vault + Consul,所有最新信息。将Concourse(3.14.0)与Vault集成。所有令牌和密钥都是一次性的。这只是一个测试集群。
问题:
无论我做什么,我都会得到768h
作为token_duration
的值。另外,无论我做什么,我的代币通宵都会持续过期。我必须重新生成令牌并将其传递给Concourse并重新启动服务。我希望此令牌不过期。
[root@k1 etc]# vault write auth/approle/login role_id="34b73748-7e77-f6ec-c5fd-90c24a5a98f3" secret_id="80cc55f1-bb8b-e96c-78b0-fe61b243832d" duration=0
Key Value
--- -----
token 9a6900b7-062d-753f-131c-a2ac7eb040f1
token_accessor 171aeb1c-d2ce-0261-e20f-8ed6950d1d2a
token_duration 768h
token_renewable true
token_policies ["concourse" "default"]
identity_policies []
policies ["concourse" "default"]
token_meta_role_name concourse
[root@k1 etc]#
因此,我在会议厅中使用令牌-9a6900b7-062d-753f-131c-a2ac7eb040f1
来访问秘密,一切都很好,直到24小时之后。它过期了。
我将持续时间设置为0,但这没有帮助。
$ vault write auth/approle/role/concourse secret_id_ttl=0 period=0 policies=concourse secret_id_num_uses=0 token_num_uses=0
我修改过的vaultconfig.hcl
看起来像这样:
storage "consul" {
address = "127.0.0.1:8500"
path = "vault/"
token = "95FBC040-C484-4D16-B489-AA732DB6ADF1"
#token = "0b4bc7c7-7eb0-4060-4811-5f9a7185aa6f"
}
listener "tcp" {
address = "0.0.0.0:8200"
cluster_address = "0.0.0.0:8201"
tls_min_version = "tls10"
tls_disable = 1
}
cluster_addr = "http://192.168.163.132:8201"
api_addr = "http://192.168.163.132:8200"
disable_mlock = true
disable_cache = true
ui = true
default_lease_ttl = 0
cluster_name = "testcluster"
raw_storage_endpoint = true
我的大堂政策是香草:
[root@k1 etc]# vault policy read concourse
path "concourse/*" {
policy = "read"
capabilities = ["read", "list"]
}
[root@k1 etc]#
查找令牌-9a6900b7-062d-753f-131c-a2ac7eb040f1
[root@k1 etc]# vault token lookup 9a6900b7-062d-753f-131c-a2ac7eb040f1
Key Value
--- -----
accessor 171aeb1c-d2ce-0261-e20f-8ed6950d1d2a
creation_time 1532521379
creation_ttl 2764800
display_name approle
entity_id 11a0d4ac-10aa-0d62-2385-9e8071fc4185
expire_time 2018-08-26T07:22:59.764692652-05:00
explicit_max_ttl 0
id 9a6900b7-062d-753f-131c-a2ac7eb040f1
issue_time 2018-07-25T07:22:59.238050234-05:00
last_renewal 2018-07-25T07:24:44.764692842-05:00
last_renewal_time 1532521484
meta map[role_name:concourse]
num_uses 0
orphan true
path auth/approle/login
policies [concourse default]
renewable true
ttl 2763645
[root@k1 etc]#
任何指针,反馈都非常感谢。
答案 0 :(得分:1)
在创建新的AppRole时,尝试设置token_ttl
和token_max_ttl
参数而不是secret_id_ttl
。
您还应该检查您的保险柜default_lease_ttl
和max_lease_ttl
,它们可能设置为24h