Revue de sécurité Bicep pour une petite équipe e-commerce
Claude Code vérifie scope, secrets, what-if, accès public et rollback avant Bicep.
Avant un week-end de soldes, une petite équipe e-commerce ne doit pas pousser un vieux fichier Bicep en production parce qu’il a fonctionné l’an dernier. main.bicep peut toucher Storage, App Service, Key Vault, clés de paiement, accès public et SKU. Sans revue du scope, des secrets et du what-if, l’incident arrive au pire moment.
Key Points
- Vérifie scope, paramètres, secrets, accès public, coût et rollback.
- Bicep est lisible, mais un court fichier peut changer la production.
- What-if aide à prévoir les changements.
- Claude Code prépare la table; l’humain approuve.
- Mesure les lignes bloquées, secrets en clair, réglages publics et temps de revue.
Workflow: Review Bicep Before Deploy
Commence avec main.bicep, les paramètres, l’environnement, le resource group, le what-if et la note de rollback. Supprime les valeurs secrètes avant Claude Code.
| Source | Review field | Human decision |
|---|---|---|
| Scope | resource group, subscription | production impact |
| Parameters | SKU, location, secret-like names | cost and payment safety |
| Resources | storage, web app, key vault | public access and customer impact |
| What-if | Create, Modify, Delete | deploy approval |
| Rollback | owner, stop note | sale-day response |
Primary sources checked: Bicep overview, file structure, best practices, what-if, secure parameters, modules, and Azure CLI deploy.
What Claude Code Does And What Humans Decide
Claude Code can list resources, parameters, modules, public settings, secret-like names, and what-if risks. Humans decide production deploy, deletion, SKU, payment keys, customer data, public URL, firewall, cost, and rollback.
3 Use Cases
Use case 1: Read scope before production
- Input: main.bicep, resource group, subscription, environment, existing resources.
- Output: create/modify/delete table, scope, resource type, business impact.
- Human review: production target, SKU, region, public URL, deletion, payment resources.
Use case 2: Find risky parameters
- Input: parameters, parameter file, Key Vault use, connection string names.
- Output: secure parameter candidates, plain secret candidates, Key Vault candidates.
- Human review: payment key, email key, database string, customer data, admin password.
Use case 3: Read what-if output
- Input: what-if output, deployment date, rollback note, owner.
- Output: Create/Modify/Delete table, stop condition, approver.
- Human review: Delete, Replace, SKU, public access, cost, sale impact.
Copy-Paste Prompt
Act as an Azure Bicep safety reviewer for a small ecommerce team.
Turn Bicep files into a human deployment review table.
Check targetScope, secret-like parameters, public access, HTTPS, managed identity, what-if Delete/Replace/SKU changes, and rollback notes.
Never run deployment commands.
Return the five rows to inspect today.
Working Check Code
// verify-bicep-safety-notes.mjs
// No dependencies. Run with: node verify-bicep-safety-notes.mjs
const bicepReview = {
template: "main.bicep",
environment: "prod",
scope: "subscription",
resources: [
{ type: "Microsoft.Storage/storageAccounts", name: "ecprodstore", publicNetworkAccess: "Enabled", sku: "Standard_LRS" },
{ type: "Microsoft.Web/sites", name: "ec-sale-app", httpsOnly: false, managedIdentity: false },
{ type: "Microsoft.KeyVault/vaults/secrets", name: "payment-api-key", valueFromParameter: "plainTextPaymentKey" }
],
parameters: [
{ name: "location", secure: false, valueExample: "japaneast" },
{ name: "plainTextPaymentKey", secure: false, valueExample: "sk_live_example" }
],
whatIfAttached: false,
owner: "",
rollbackNote: ""
};
const problems = [];
if (bicepReview.environment === "prod" && !bicepReview.whatIfAttached) {
problems.push({ item: "what-if", fix: "attach az deployment what-if output before production deployment" });
}
if (!bicepReview.owner) {
problems.push({ item: "owner", fix: "assign a human owner for cost, rollback, and approval" });
}
if (!bicepReview.rollbackNote) {
problems.push({ item: "rollback", fix: "write a rollback or stop-the-line note before sale season" });
}
for (const parameter of bicepReview.parameters) {
if (/key|secret|password|token/i.test(parameter.name) && !parameter.secure) {
problems.push({ item: `parameter: ${parameter.name}`, fix: "mark secrets with @secure() or fetch from Key Vault" });
}
}
for (const resource of bicepReview.resources) {
if (resource.publicNetworkAccess === "Enabled") {
problems.push({ item: `public network: ${resource.name}`, fix: "review public access, firewall, private endpoint, or business reason" });
}
if (resource.httpsOnly === false) {
problems.push({ item: `httpsOnly: ${resource.name}`, fix: "enable HTTPS-only before customer traffic" });
}
if (resource.type === "Microsoft.Web/sites" && resource.managedIdentity === false) {
problems.push({ item: `identity: ${resource.name}`, fix: "use managed identity instead of app secrets when possible" });
}
}
if (problems.length > 0) {
console.table(problems);
process.exitCode = 1;
} else {
console.log("Bicep safety review passed.");
}
Pitfall: Common Failure Cases
Readable Bicep is not automatically safe. Review scope, what-if, secrets, public settings, and rollback. Do not place secrets in plain parameters. Do not run what-if and ignore Delete, Replace, SKU, public access, identity, or diagnostics. Do not deploy before sale season without an owner and rollback note.
FAQ
Q. Does a small EC team need Bicep?
A. Start only where changes repeat: sale pages, image delivery, admin apps, and staging environments.
Q. Can Claude Code read Bicep?
A. Yes, after removing secrets, tokens, customer data, and contract details.
Q. Is what-if enough?
A. No. Humans still approve deletion, replacement, SKU, public access, secrets, and rollback.
Q. What should the team inspect today?
A. targetScope, secret-like parameters, public access, what-if Delete/Modify, and rollback note.
Training And Consultation Signal
Measure what-if items stopped, plain secret candidates, public-setting findings, missing rollback notes, review time, and inquiry rate. If those numbers hurt, Bicep and Azure deployment review are a fit for formation ClaudeCodeLab.
What I Verified
I checked Microsoft Learn references for Bicep overview, file structure, best practices, what-if, secure parameters, modules, and Azure CLI deployment. I also checked the CTA, executable JavaScript, internal link, external links, locale coverage, and queue removal.
Articles liés
Vérifier Azure Container Apps pour un site de recrutement
Claude Code contrôle URL publique, variables, formulaire, secrets et revisions avant lancement.
Agence web : sécuriser diff, PR et mise en ligne avec Codex Desktop
Méthode d’agence pour relire un diff, contrôler la staging URL et garder la production sous validation humaine.
Le contrôle de 3 minutes avant un commit: vérifier ce que Claude Code a vraiment touché
Repérez en 3 minutes, avant de committer, les changements que Claude Code a élargis sans le dire: périmètre, diff, vérification, indexation.
PDF gratuit: cheatsheet Claude Code
Saisissez votre email et téléchargez une page avec commandes, habitudes de review et workflow sûr.
Nous protégeons vos données et n'envoyons pas de spam.
À propos de l'auteur
Masa
Ingénieur spécialisé dans les workflows pratiques avec Claude Code.