我正在尝试通过 API 设置 grafana 服务帐户令牌的过期时间,但我不知道需要作为正文的一部分传递的正确键或值。
我尝试了一系列设置过期时间的方法,但我不走运。 请帮助使用正确的键和值格式来设置过期时间。
注意:令牌创建后始终没有过期时间。 我还将
token_expiration_day_limit
设置为 365 天。
我还可以从 grafana UI 创建具有过期时间的令牌。
以下是我尝试过的不同方法
curl -X POST --insecure -H "Content-Type: application/json" -d '{
"name": "grafana16",
"expiration": "2023-08-23T10:31:02Z"
}' https://url
curl -X POST --insecure -H "Content-Type: application/json" -d '{
"name": "grafana16",
"expiration": "30d"
}' https://url
#epoch time
curl -X POST --insecure -H "Content-Type: application/json" -d '{
"name": "grafana16",
"expiration": "1692537131"
}' https://url
curl -X POST --insecure -H "Content-Type: application/json" -d '{
"name": "grafana16",
"expiration": "2023-08-21"
}' https://url
通过将密钥指定为“过期”、“生存时间”来尝试上述方法
Grafana 的服务帐户 API 文档缺少此信息。但我找到了一种方法来设置已弃用的 API 密钥文档的到期日期。 您必须在到 SA 令牌端点的 POST 请求的请求正文中设置字段“secondsToLive”。
示例:
curl -X POST 'http://localhost:3000/api/serviceaccounts/1/tokens' \
--header 'Authorization: Basic token' \
--header 'Content-Type: application/json' \
--data '{
"name": "example-sa",
"secondsToLive": 3600
}'
在 UI 上,它将显示“1 天后过期”,但在 HTTP API 中获取令牌将显示它将在 1 小时后过期。