azure-func-host-listkeys
match (effective permission)
{
"action": "Microsoft.Web/sites/host/listkeys/action",
"scope_type": "resource|resourceGroup|subscription"
}
emit
| source | <principal> |
|---|---|
| target | <host + master + system keys of the function app> |
| permissions | Microsoft.Web/sites/host/listkeys/action |
Narrative
{principal.name} can list all host/master/system keys of {target.name} (host/listkeys/action).
Raw rule rules/derived/azure/functions.yaml
id: azure-func-host-listkeys
emits: CanReadSecret
match_effective_permission:
action: Microsoft.Web/sites/host/listkeys/action
scope_type: resource|resourceGroup|subscription
emit:
source: <principal>
target: <host + master + system keys of the function app>
permissions:
- Microsoft.Web/sites/host/listkeys/action
note: host/listkeys returns functionKeys, the _master key, and systemKeys in one call.
false_positive_note: Returns the master key too -> equivalent to azure-func-master-key for admin-API
code execution. Do not double-count the escalation.
narrative: '{principal.name} can list all host/master/system keys of {target.name} (host/listkeys/action).'