我有一个备份脚本,成功完成后,通过curl调用Icinga2 REST API(命令如下)。
这非常有效,但我想保护API用户,以便它只能更改这一个检查结果。我不确定我需要为我的过滤器设置的lambda函数的正确语法是什么,只允许更改“backupninja”检查结果。
object ApiUser "backupninja" {
password = "<redacted>"
permissions = [ "actions/process-check-result" ]
filter = {{ }}
}
我的命令,如果重要的话:
curl -s -u $ICINGA2_API_USER:$ICINGA2_API_PASSWORD -H 'Accept: application/json' -X POST "https://$ICINGA2_HOST:$ICINGA2_API_PORT/v1/actions/process-check-result?service=$HOSTNAME\!backupninja" -d '{ "exit_status": 0, "plugin_output": "backupninja completed successfully" }'
答案 0 :(得分:1)
我在文档的Global Functions部分找到了答案:
object ApiUser "backupninja" {
password = "<redacted>"
permissions = [
{
permission = "actions/process-check-result"
filter = {{ match("backupninja", service.display_name) }}
}
]
}