Это может быть немного сложно, поскольку параметры командной строки для Lambda требуют, чтобы вы использовали aws lambda get-policy
, чтобы выяснить, каким ресурсам разрешено выполнять действие lambda:InvokeFunction
для данной функции.Эти разрешения не отображаются как часть лямбда-конфигурации для aws lambda get-function-configuration
.Вы можете использовать некоторые bash
и jq
, чтобы получить список функций и выложить их разрешенные инициаторы.Например:
aws lambda list-functions | jq .Functions[].FunctionName --raw-output | while read f; do
policy=$( aws lambda get-policy --function-name ${f} | jq '.Policy | fromjson | .Statement[] | select(.Effect=="Allow") | select(.Action=="lambda:InvokeFunction") | .Condition.ArnLike[]' --raw-output )
echo "FUNCTION ${f} CAN BE INVOKED FROM:"
echo ${policy}
done
В этом списке перечислены ресурсы, которым разрешено использовать действие lambda:InvokeFunction
для всех функций Lambda, возвращаемых из list-functions
.