{
"request": "Triage Jira ticket MZCLD-3574: CLONE - Implement better controls over developers creating infrastructure",
"references": [
"https://mozilla-hub.atlassian.net/browse/MZCLD-3574"
],
"sourceContext": {
"issue": "MZCLD-3574"
}
}MZCLD-3574 is a backlog ticket (0 comments) titled "CLONE - Implement better controls over developers creating infrastructure." It proposes tightening GCP IAM/policy controls on the "Developers" top-level folder, where engineers currently have broad (near full-owner) permissions, especially in non-prod environments which have even looser constraints than prod. The description suggests a phased approach: (1) define which risky activities to restrict (e.g., public IP creation, with exceptions for legitimate cases like load balancers), (2) move toward a deny-by-default / allow-list policy model, and (3) start with detection + a soft warning (non-blocking) for developers who create prod-adjacent/production-like infrastructure outside the supported path, while also capturing why they diverged from the standard path (tooling gaps, friction, etc.). Since this is a "CLONE," it likely originated from a duplicate/parent ticket, but no linked issue or Confluence runbook was found in the ticket body or comments to cross-reference. The ticket is well-scoped as a policy/guardrails design task but lacks acceptance criteria, an owner, priority, and a link to its clone source — these should be clarified before moving it out of Backlog.
Triage notes: This ticket is currently unscoped (Backlog, no comments, no acceptance criteria). Before moving forward, recommend we: (1) Link/reference the original ticket this was cloned from so we inherit any prior discussion/decisions; (2) Decide on the enforcement model — deny-by-default+allowlist vs. detect-and-warn — the description leans toward starting with a non-blocking 'detect and warn' approach for prod-like infra created outside the supported path, which seems like a reasonable low-risk first milestone; (3) Enumerate the specific risky activities/resources to target first (e.g., public IP creation) along with known legitimate exceptions (e.g., load balancers) so we don't break valid dev workflows; (4) Scope whether this applies org-wide to the GCP 'Developers' folder or per-project, and whether non-prod parity with prod permissions is in scope for this ticket or a follow-up. Suggest assigning an owner and adding acceptance criteria (e.g., 'warning banner/notification fires when X resource type is created in Y context') before pulling into a sprint.
[
{
"capability": "jira.issue.read",
"args": {
"key": "MZCLD-3574"
},
"result": {
"key": "MZCLD-3574",
"summary": "CLONE - Implement better controls over developers creating infrastructure",
"status": "Backlog",
"description_text": "In GCP, the \u201cDevelopers\u201d toplevel folder allow engineers to do a lot (the devs are full owners, there\u2019s very little that they can\u2019t do). Also, in non-prod environments, there\u2019s more permissions than prod. We need to re-evaluate this. We should consider adding more constraints of some kind (one pattern could be \u201cdeny all\u201d types of rules, and then have an allow list). Also the activities we might want to constrain should be selected (e.g. should we block public IP address creation, though we need to consider any legitimate use cases like loadbalancers?) We could start with: Detect it, give them a boilerplate warning (i.e. if you\u2019re going to take that live/prod, we recommend our supported path; we won\u2019t block you, but we think the probability of an issuer is higher and we\u2019d probably need higher touch discussions to greenlight what you\u2019re doing; this isn\u2019t a path we\u2019d be offering our standard support for; we\u2019d also like to understand what\u2019s not working well for you in MozCloud or maybe how you got here, even if it\u2019s just \u201cclaude told you\u201d).",
"comment_count": 0,
"comments": []
}
}
]{
"model": "claude-sonnet-5",
"input_tokens": 3372,
"output_tokens": 1845,
"estimated_cost_usd": 0.037791000000000005
}[
{
"action_id": "act_ceaccee5b68adc6f",
"approver": "web",
"decision": "approved",
"t": 1784833372.0409656
}
]