2017-02-06 9 views
1

У меня есть сценарий резервного копирования, который после успешного завершения вызывает API REST Icesa2 через curl (команда ниже).Как я могу ограничить разрешения API Icesa2, чтобы разрешить изменение только одного результата проверки?

Это работает отлично, но я хочу защитить пользователя API так, чтобы он мог только изменить этот результат проверки. Я не уверен, какой правильный синтаксис для лямбда-функции мне нужно настроить для моего фильтра, чтобы разрешить изменение результата проверки «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" }' 

ответ

1

Я нашел ответ в Global Functions разделе Документов:

object ApiUser "backupninja" { 
    password = "<redacted>" 
    permissions = [ 
    { 
     permission = "actions/process-check-result" 
     filter = {{ match("backupninja", service.display_name) }} 
    } 
    ] 
}