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