azure-la-contributor

Full control of a Logic App workflow (Logic App Contributor / Contributor / Owner).

derived azure emits CanAdminister

match (effective permission)

{ "action": "Microsoft.Logic/workflows/write", "scope_type": "resource|resourceGroup|subscription" }

where

principal effectively holds Logic App Contributor, Contributor, Owner, or a custom role granting Microsoft.Logic/workflows/* at the scope

emit

source typeIdentity
target type*
source<principal>
target<Logic App workflow in scope>
permissionsMicrosoft.Logic/workflows/write
state logicACTIVE when the effective permission is confirmed; BLOCKED if a deny assignment covers workflows/write at the scope. CanAdminister(workflow) does NOT imply CanGrantPermission — escalation is via the workflow's managed identity, not via self role-assignment or Microsoft.Authorization/*/write.

Narrative

{principal.name} has full control of Logic App workflow {target.name} (Microsoft.Logic/workflows/*) including the workflow definition, triggers, and identity configuration.

Raw rule rules/derived/azure/logicapps.yaml

id: azure-la-contributor
emits: CanAdminister
description: Full control of a Logic App workflow (Logic App Contributor / Contributor / Owner).
match_effective_permission:
  action: Microsoft.Logic/workflows/write
  scope_type: resource|resourceGroup|subscription
where:
- principal effectively holds Logic App Contributor, Contributor, Owner, or a custom role granting Microsoft.Logic/workflows/*
  at the scope
emit:
  source_type: Identity
  target_type: '*'
  source: <principal>
  target: <Logic App workflow in scope>
  permissions:
  - Microsoft.Logic/workflows/write
  conditions: []
  state_logic: "ACTIVE when the effective permission is confirmed; BLOCKED if a deny assignment covers\
    \ workflows/write at the scope. CanAdminister(workflow) does NOT imply CanGrantPermission \u2014 escalation\
    \ is via the workflow's managed identity, not via self role-assignment or Microsoft.Authorization/*/write."
  confidence: 0.98
  derived_from:
  - 'effective permission: Microsoft.Logic/workflows/write'
  false_positive_note: Microsoft.Logic/workflows/* grants full control of the workflow object including
    definition, triggers, runs, and the identity block, but NOT Microsoft.Authorization/*/write. Logic
    App Operator role grants enable/disable/trigger-run but NOT workflows/write; it does NOT qualify for
    CanAdminister and does NOT yield CanModifyCode.
  narrative: '{principal.name} has full control of Logic App workflow {target.name} (Microsoft.Logic/workflows/*)
    including the workflow definition, triggers, and identity configuration.'
move · open · esc close