gcp-appengine-app-admin
match (effective permission)
{
"action": "appengine.applications.update",
"resource_type": "google.appengine.Application"
}
where
principal effectively holds the appAdmin set: appengine.services.update, appengine.versions.create, appengine.versions.update, appengine.versions.delete, appengine.instances.delete
emit
| source type | Identity |
|---|---|
| target type | * |
| source | <principal> |
| target | <App Engine application> |
| permissions | appengine.applications.update appengine.services.update appengine.versions.create appengine.versions.update appengine.instances.delete |
Narrative
{principal.name} has full control of App Engine app {app.name} (roles/appengine.appAdmin), able to deploy, reconfigure, and route traffic.
Raw rule rules/derived/gcp/appengine.yaml
id: gcp-appengine-app-admin
emits: CanAdminister
match_effective_permission:
action: appengine.applications.update
resource_type: google.appengine.Application
where:
- 'principal effectively holds the appAdmin set: appengine.services.update, appengine.versions.create,
appengine.versions.update, appengine.versions.delete, appengine.instances.delete'
emit:
source_type: Identity
target_type: '*'
source: <principal>
target: <App Engine application>
permissions:
- appengine.applications.update
- appengine.services.update
- appengine.versions.create
- appengine.versions.update
- appengine.instances.delete
narrative: '{principal.name} has full control of App Engine app {app.name} (roles/appengine.appAdmin),
able to deploy, reconfigure, and route traffic.'