Open utterances-bot opened 10 months ago
大佬,我想问个问题啊, 1,我把阿里云的ram角色的最大时间设置成了2小时 2,vault侧执行了,两条命令如下:```vault secrets tune -default-lease-ttl=2h alicloud/ vault secrets tune -max-lease-ttl=24h alicloud/
结果如下:```
Local No
Seal wrap No
Default Lease TTL 7200
Max Lease TTL 86400
3,通过命令vault read alicloud/creds/appname
返回的信息还是1个小时,返回信息如下``` Key Value
lease_id alicloud/creds/appname/xxxxx lease_duration 59m59s lease_renewable false ```
我是哪里配错了么,没办法加大这个时间
要不web控制台去看看实际的default ttl 另外tune的时候 看看是不是应该 vault secrets tune -default-lease-ttl=2h alicloud/config vault secrets tune -max-lease-ttl=24h alicloud/config
web控制台上面显示的是
Secret engine type. alicloud
Path. alicloud/
Description
Accessor. alicloud_15b14
Local. No
Seal wrap. No
Default Lease TTL. 7200
Max Lease TTL. 86400
Request keys excluded from HMACing in audit
Response keys excluded from HMACing in audit
Allowed passthrough request headers
然后我调了alicloud/config 还是这样
(venv) MacBook-Pro:aliscript wangchao$ vault secrets tune -max-lease-ttl=24h alicloud/config
Success! Tuned the secrets engine at: alicloud/config/
(venv) MacBook-Pro:aliscript wangchao$ vault secrets tune -default-lease-ttl=2h alicloud/config
Success! Tuned the secrets engine at: alicloud/config/
(venv) MacBook-Pro:aliscript wangchao$ vault read alicloud/creds/appname
Key Value
--- -----
lease_id alicloud/creds/adlink/xxx
lease_duration 1h
lease_renewable false
access_key STS.NUNxxxx
那检查下你创建app role的ttl看下 vault write auth/approle/role/awx-api policies="awx-read" token_ttl=10m token_max_ttl=30m 类似这样的 把ttl改成你要的
还是不行
(venv) MacBook-Pro:aliscript wangchao$ vault read auth/approle/role/adlin
Key Value
--- -----
bind_secret_id true
local_secret_ids false
period 6h
policies [adlin adlin_devcommon]
secret_id_bound_cidrs <nil>
secret_id_num_uses 0
secret_id_ttl 0s
token_bound_cidrs []
token_explicit_max_ttl 0s
token_max_ttl 0s
token_no_default_policy false
token_num_uses 0
token_period 6h
token_policies [adlin adlin_devcommon]
token_ttl 0s
token_type default
(venv) MacBook-Pro:aliscript wangchao$ vault write auth/approle/role/adlin token_ttl=2h token_max_ttl=24h
Success! Data written to: auth/approle/role/adlin
(venv) MacBook-Pro:aliscript wangchao$ vault read auth/approle/role/adlin
Key Value
--- -----
bind_secret_id true
local_secret_ids false
period 6h
policies [adlin adlin_devcommon]
secret_id_bound_cidrs <nil>
secret_id_num_uses 0
secret_id_ttl 0s
token_bound_cidrs []
token_explicit_max_ttl 0s
token_max_ttl 24h
token_no_default_policy false
token_num_uses 0
token_period 6h
token_policies [adlin adlin_devcommon]
token_ttl 2h
token_type default
(venv) MacBook-Pro:aliscript wangchao$ vault read alicloud/creds/adlin
Key Value
--- -----
lease_id alicloud/creds/adlin/xxx
lease_duration 1h
lease_renewable false
access_key STS.xxx
expiration 2023-12-11T02:39:37Z
我看还有一个区别是你这个是STS方式,你要不要先试试AK方式的 STS最大支持3600s https://help.aliyun.com/zh/ram/support/faq-about-ram-roles-and-sts-tokens/ [root@puppetmaster ~]# vault read alicloud-publiccloud/creds/policy-lqx Key Value
lease_id alicloud-publiccloud/creds/policy-lqx/123 lease_duration 10m lease_renewable true access_key 123 secret_key 456 [root@puppetmaster ~]# vault lease lookup alicloud-publiccloud/creds/policy-lqx/123 Key Value
expire_time 2023-12-11T10:10:15.12768064+08:00
id alicloud-publiccloud/creds/policy-lqx/123
issue_time 2023-12-11T10:00:15.127680371+08:00
last_renewal
对的 我看了下代码https://github.com/hashicorp/vault-plugin-secrets-alicloud/blob/main/path_roles.go 的201行看出来他们不支持ttl参数 当使用的时候 我觉得sts搞成2h不如用agent让他自己过1h生成一下好了,还有一个办法你改下源码,https://github.com/hashicorp/vault-plugin-secrets-alicloud/blob/main/path_creds.go 71行的地方看看 这里是默认调用的 所以是1h
我看了下71行的代码,是不是这个意思:vault调用阿里云接口的生成ststoken的时候就没有传ttl过去,所以阿里云接口默认1h,就是1小时那返回的就是1h。 本来想防止出现问题(阿里云这次aksk故障)留足够的时间来恢复。 改源码还是有点困难的。哭脸。。。
那你就别用sts呗 用ak sk方式 主要在于形成有效的滚动方式
谢谢大神,源码说搂就搂。
平时多积累下 这个代码还好吧 ..
Vault | Appreciate life and record it
Vault vault详细使用 介绍 Intro Vault是Hashicorp公司开源的一个密码管理仓库软……
https://blog.liuliancao.com/roams/2022-12-12-vault/