azure-func-function-listkeys
match (effective permission)
{
"action": "Microsoft.Web/sites/functions/listkeys/action",
"scope_type": "resource|resourceGroup|subscription"
}
emit
| source | <principal> |
|---|---|
| target | <per-function keys> |
| permissions | Microsoft.Web/sites/functions/listkeys/action |
Narrative
{principal.name} can list per-function keys of {target.name} (functions/listkeys/action) to invoke its HTTP functions.
Raw rule rules/derived/azure/functions.yaml
id: azure-func-function-listkeys
emits: CanReadSecret
match_effective_permission:
action: Microsoft.Web/sites/functions/listkeys/action
scope_type: resource|resourceGroup|subscription
emit:
source: <principal>
target: <per-function keys>
permissions:
- Microsoft.Web/sites/functions/listkeys/action
note: Per-function keys authorize invocation of function-auth HTTP triggers (not admin/master).
false_positive_note: Function-level keys do NOT grant the admin runtime API or code overwrite; they
only authorize invoke. Do not derive CanExecuteAs from these alone.
narrative: '{principal.name} can list per-function keys of {target.name} (functions/listkeys/action)
to invoke its HTTP functions.'