gcp-gcf-update-config
match (effective permission)
{
"action": "cloudfunctions.functions.update",
"resource_type": "google.cloudfunctions.Function"
}
emit
| source type | Identity |
|---|---|
| target type | * |
| source | <principal> |
| target | <function in scope> |
| permissions | cloudfunctions.functions.update |
Narrative
{principal.name} can update the configuration of {function.name} (cloudfunctions.functions.update).
Raw rule rules/derived/gcp/gcf.yaml
id: gcp-gcf-update-config
emits: CanModifyConfiguration
match_effective_permission:
action: cloudfunctions.functions.update
resource_type: google.cloudfunctions.Function
emit:
source_type: Identity
target_type: '*'
source: <principal>
target: <function in scope>
permissions:
- cloudfunctions.functions.update
escalation: Change env vars / secrets / entry point (code injection) or repoint the runtime SA.
note: Repointing serviceAccountEmail additionally needs iam.serviceAccounts.actAs on the new SA.
narrative: '{principal.name} can update the configuration of {function.name} (cloudfunctions.functions.update).'