ContainerService

Managed container runtime (ECS/ACI/Cloud Run service).

class: Compute

Realizing resources

gcp gcp

resourcescopeenumeraterequired permissions
gcp:run:service regional run.projects.locations.services.list run.services.list

azure azure

resourcescopeenumeraterequired permissions
azure:aci:containergroup global arg:microsoft.containerinstance/containergroups Microsoft.ContainerInstance/containergroups/read
azure:app:containerapp global arg:microsoft.app/containerapps Microsoft.App/containerapps/read

Exposure sites

None.

Rules that touch ContainerService 19

Arbitrary container deployment runs as the Lightsail-managed service execution context.
An available Interface VPC Endpoint (PrivateLink) makes the backing AWS or third-party service reachable from compute within the VPC via private networking, without traversing the public internet. Source is any Compute node in the VPC that has network access to the endpoint ENI.
An available Interface VPC Endpoint (PrivateLink) makes the backing AWS or third-party service reachable from compute within the VPC via private networking, without traversing the public internet. Derived from the endpoint state and VPC co-location facts.
A compute resource is internet-exposed when its security group has an inbound rule allowing 0.0.0.0/0 (or ::/0) on a port, the resource has a public IP, and the subnet has a route to an Internet Gateway. All three conditions must be observed facts.
exec in a container + its group runs as an MI => execute as that MI (via IMDS/env token).
write (recreate) a container group that already runs as an MI => execute as that MI.
managedClusters/agentPools/write + assign on a target MI allows swapping the kubelet MI, binding all nodes to a more-privileged identity.
Exec into a running replica + the app runs as an MI => execute as that MI (read the identity endpoint from the shell).
Executing code in a custom-container session that binds a reachable MI => execute as that MI (read the identity endpoint from the session).
Control-plane image/command replacement + the app runs as an MI => execute as that MI (via the identity endpoint).
Executing code in a custom-container session pool runs attacker-supplied code in the sandbox; if the pool binds a reachable MI this is a CanExecuteAs primitive identical to the app exec path.
Modify the buildspec/pipeline/runbook/template a runner executes, then run it, to execute as the runner's service identity.
Triggering a pipeline reaches each downstream stage runner it orchestrates; propagate CanTrigger to those runners.
Trigger/start a runner whose current definition already runs attacker-influenced code, executing as the runner's identity.
Exec into a pod (cluster RBAC / credential / run-command) inherits the pod's mounted ServiceAccount/IRSA/Workload-Identity token, executing as that identity.
The Cloud Deploy execution SA's Cloud Run deployment permissions (run.developer) give it CanDeploy to a Cloud Run service.
Modify code/config of an existing Cloud Run resource; it runs as its existing runtime SA.
Pushing/overwriting an image in a registry poisons every workload that pulls it - code control propagates from the registry to each consuming Compute/KubernetesWorkload.
A workload poisoned via a registry image push runs as its identity, so the pusher executes as that identity.
move · open · esc close