SShortSingh.
Back to feed

Engineer Uses Azure Policy and Custom RBAC to Block Unauthorized Cloud VM Deployments

0
·59 views

A DevSecOps engineer has detailed how they implemented automated guardrails on Microsoft Azure to prevent unexpected cloud cost spikes caused by human error. Using Azure Policy and custom RBAC least-privilege roles, they configured the Azure Resource Manager API to automatically intercept and deny any virtual machine deployment requests that fall outside a pre-approved list of low-cost B-Series SKUs. The policy was deployed via Azure CLI to a sandbox resource group in the Southeast Asia region, blocking higher-cost SKU families such as D-Series nodes at the point of request. To further tighten access controls, a custom VM Restart Operator role was created, restricting user permissions strictly to visibility and reboot actions while sealing off write, configuration, and deletion capabilities. The approach shifts cloud cost governance from reactive cleanup and policy handbooks to proactive, programmatic enforcement at the infrastructure level.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Zoho CRM subforms or related modules: choosing the right structure for child records

A subform is an in-record table for line items, suited to small, fixed-shape lists like order lines. When child data needs independent searching, filtering, workflows or ownership, Zoho's documentation indicates subforms are a poor fit because many features do not reach their fields. Limits on columns, rows and availability vary by edition, and Zoho's own pages disagree on which plans support custom subforms. Subform fields also miss out on imports, lead and quote conversion, and API updates, though they can feed reports and aggregate totals on the parent. Users are advised to confirm their edition's feature availability before designing around subforms.

0
ProgrammingDEV Community ·

Why a 499 CNY sensing node costs what it does, and which corners were not cut

The maker of a consumer sensing device explains that its 499 CNY retail price, including the first month of service, comes from a detailed bill of materials rather than promotional pricing. The company says it refused to economise on the radio antenna and power supply, since cheaper versions reduced range and caused field failures that were hard to diagnose. Each unit also goes through burn-in and functional testing, and the device omits extras such as a camera, microphone, display, battery, or companion app to limit privacy exposure and support load. A 30 CNY monthly fee funds cloud hosting and customer support, and the company argues that a one-off price would push it toward underinvesting or selling data. The device is described as a home safety display that only summarises a radio link and is not a medical device that detects falls or calls for help.

0
ProgrammingDEV Community ·

maker.sh Proposes a Bash-Based Build Protocol for Managing AI-Generated Multi-File Projects

A new build and automation protocol called maker.sh is introduced to address the difficulty of organizing multi-file projects generated by AI-assisted development. It is built on standard Bash scripts augmented with comment-based metadata tags, which remain invisible to ordinary shell interpreters while serving as a declarative manifest for humans, compilers, and AI agents. The accompanying MakerChain feature compiles specified blocks sequentially, resolving dependencies and halting immediately on failure to avoid inconsistent file states. Supporting tooling called MakerCompiler serves as the execution engine that carries out these chained builds. The article presents the protocol's syntax, tag rules, and workflow as a way to reduce manual setup work for developers and autonomous agents.

0
ProgrammingDEV Community ·

Headless Java servers fail silently when fonts are missing from production images

Java services that render text to images or documents depend on fonts installed on the host, a dependency developers often overlook. Slim base images typically omit fontconfig and freetype, and the headless flag does not remove the need for them because AWT still loads font files when drawing text. Missing libraries produce cryptic errors like UnsatisfiedLinkError or NullPointerException, sometimes only on the first rendering request after deployment. The Font constructor also silently falls back to the Dialog family when a named font is absent, which causes text metrics and layouts to differ across machines. The article recommends explicitly installing fontconfig and fonts in the Docker image, logging available font families at startup, and bundling a font file with the application for consistent output.