azure-func-host-listkeys

derived azure 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>
permissionsMicrosoft.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).'
move · open · esc close